/*
 * Inner-page spacing adjustments for local unoc8.
 *
 * This file is deliberately never enqueued on the homepage (page 473). Keep
 * the homepage's Elementor spacing and native hero layout independent.
 */

body:not(.page-id-473) .unoc-page-hero {
  padding-block: 56px 48px;
}

/* The theme's legacy rule adds 96px to every nested editable main. Reset it
 * for internal pages; page 473 remains explicitly outside this selector. */
body:not(.page-id-473):not(.unoc-dark-hero):not(.unoc-careers-dark-hero) .site-main {
  padding-top: 0 !important;
}

/* Keep the featured News CTA readable when the shared link hover rule runs. */
body.page-id-164 .unoc-newsmedia-redesign .featured .mainCopy a.btn,
body.page-id-164 .unoc-newsmedia-redesign .featured .mainCopy a.btn:hover,
body.page-id-164 .unoc-newsmedia-redesign .featured .mainCopy a.btn:focus-visible {
  background: var(--red) !important;
  color: var(--white) !important;
}

/* Mobile navigation sits on a light drawer; keep every menu label readable. */
@media (max-width: 1024px) {
  body:not(.page-id-473) .unoc-site-header,
  body:not(.page-id-473) header.unoc-site-header {
    background: rgba(255,255,255,.98) !important;
    color: #414042 !important;
  }
  body:not(.page-id-473) .unoc-site-header .unoc-mobile-burger,
  body:not(.page-id-473) .unoc-site-header .unoc-mobile-burger svg,
  body:not(.page-id-473) .unoc-site-header .unoc-mobile-burger svg * {
    color: #e51d48 !important;
    stroke: #e51d48 !important;
    fill: none !important;
    -webkit-text-fill-color: #e51d48 !important;
  }
  .unoc-mobile-drawer .unoc-mobile-group-toggle,
  .unoc-mobile-drawer .unoc-mobile-col a,
  .unoc-mobile-drawer .unoc-mobile-col h4 {
    color: #1a191a !important;
    -webkit-text-fill-color: #1a191a !important;
  }

  .unoc-mobile-drawer .unoc-mobile-col h4 {
    color: #8a6500 !important;
    -webkit-text-fill-color: #8a6500 !important;
  }
  body:not(.page-id-473) .unoc-mobile-drawer .unoc-mobile-group-toggle,
  body:not(.page-id-473) .unoc-mobile-drawer .unoc-mobile-col a {
    color: #1a191a !important;
    -webkit-text-fill-color: #1a191a !important;
  }
}

/* Shared footer headings sit on a charcoal surface. */
.unoc-shared-footer h4,
.unoc-shared-footer h5 {
  color: #fff !important;
}

.unoc-shared-footer h4 {
  -webkit-text-fill-color: #fff !important;
}

@media (max-width: 1024px) {
  .unoc-site-header .unoc-mobile-burger,
  .unoc-mobile-burger {
    color: #fff !important;
  }

  .unoc-site-header .unoc-mobile-burger svg,
  .unoc-site-header .unoc-mobile-burger svg * {
    stroke: #fff !important;
  }
}

/* Graduate-training reference cards use the charcoal/red treatment. */
.unoc-careers-redesign--graduate-training .bigcard.on-dark {
  position: relative;
  z-index: 0;
  padding: 32px;
  border-radius: 8px;
  background: #414042;
  color: #fff;
  box-shadow: 20px 18px 0 #e10032;
}

.unoc-careers-redesign--graduate-training .bigcard.on-dark::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: #414042;
}

.unoc-careers-redesign--graduate-training .bigcard.on-dark small,
.unoc-careers-redesign--graduate-training .bigcard.on-dark b {
  color: #e10032;
}

.unoc-careers-redesign--graduate-training .bigcard.on-dark p {
  color: #f6f6f6;
}

.unoc-careers-redesign--graduate-training .area .symbol,
.unoc-careers-redesign--graduate-training .area h3,
.unoc-careers-redesign--graduate-training .area small {
  color: #e10032;
}

.unoc-careers-redesign--graduate-training .btn.gold {
  background: #414042;
  color: #e10032;
}

body:not(.page-id-473) .unoc-inner-section {
  padding-block: 56px;
}

body:not(.page-id-473) .unoc-ref-intro {
  padding: 56px 0 36px;
}

body:not(.page-id-473) .unoc-ref-section {
  padding: 56px 0 72px;
}

body:not(.page-id-473) .unoc-ref-section-head {
  gap: 56px;
  margin-bottom: 32px;
}

body:not(.page-id-473) .unoc-ref-cta {
  padding: 48px 0;
}

/* Shared redesign templates use .section for their major content bands. */
body:not(.page-id-473) .site-main > .section {
  padding-block: 56px;
}

/* Tenders has its own .section rule; keep its rhythm aligned with the
 * non-homepage spacing system without touching the homepage. */
body:not(.page-id-473) .unoc-tenders-redesign .section {
  padding-block: 56px;
}

/* Elementor renders the tender blocks as separate mains, so the template
 * wrapper selectors do not reach them. Reapply the visual contract to the
 * actual page blocks and keep the alert readable. */
body.page-id-161 section.elementor-top-section {
  padding: 0 !important;
}

body.page-id-161 section {
  padding-block: 56px;
}

body.page-id-161 .alert {
  background: #fdeef1;
  border-top: 1px solid #f6c6d0;
  border-bottom: 1px solid #f6c6d0;
  color: #231f20;
}

body.page-id-161 .alert .wrap {
  display: flex;
  align-items: center;
  gap: 22px;
  padding-top: 20px;
  padding-bottom: 20px;
  flex-wrap: wrap;
}

body.page-id-161 .alert .ico {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  flex: none;
  border-radius: 50%;
  background: #e10032;
  color: #fff;
}

body.page-id-161 .alert .msg {
  flex: 1 1 420px;
}

body.page-id-161 .alert h3 {
  color: #b8002a;
  font-size: 17px;
  line-height: 1.3;
}

body.page-id-161 .alert p {
  color: #5a3a42;
  font-size: 14.5px;
  line-height: 1.55;
}

body.page-id-161 .alert p b {
  color: #8d0021;
}

body.page-id-161 .feat {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  background: #fff;
  border: 1px solid #e4e2dd;
  margin-bottom: 18px;
}

body.page-id-161 .feat .l {
  background: #414042;
  color: #fff;
  padding: 31px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 275px;
}

body.page-id-161 .feat .l small {
  color: #e10032;
  font-size: 9px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.page-id-161 .feat .l b {
  color: #e10032;
  font-size: 38px;
}

body.page-id-161 .feat .l .t {
  color: #fff;
  font-size: 14px;
}

body.page-id-161 .feat .r {
  padding: 34px;
  color: #231f20;
}

body.page-id-161 .feat .r h3 {
  color: #414042;
  font-size: 25px;
  line-height: 1.22;
}

body.page-id-161 .feat .r p {
  color: #59585a;
}

body.page-id-151 .unoc-contact-dark .unoc-eyebrow {
  color: #e10032 !important;
}

body.page-id-151 .unoc-contact-dark p {
  color: #f0edef !important;
}

body.page-id-151 .unoc-contact-route,
body.page-id-151 .unoc-contact-route:visited,
body.page-id-151 .unoc-contact-route:hover,
body.page-id-151 .unoc-contact-route:focus,
body.page-id-151 .unoc-contact-route:focus-visible,
body.page-id-151 .unoc-contact-route:active {
  color: #fff !important;
}

body.page-id-151 .unoc-contact-route span {
  color: inherit !important;
}

body.page-id-161 .unoc-tenders-redesign .fside a,
body.page-id-161 .unoc-tenders-redesign .fside a:visited,
body.page-id-161 .unoc-tenders-redesign .fside a:hover,
body.page-id-161 .unoc-tenders-redesign .fside a:focus-visible {
  color: #fff !important;
}

@media (max-width: 768px) {
  body:not(.page-id-473) .unoc-page-hero {
    padding-block: 44px 36px;
  }

  body:not(.page-id-473) .unoc-inner-section,
  body:not(.page-id-473) .unoc-ref-intro,
  body:not(.page-id-473) .unoc-ref-section,
  body:not(.page-id-473) .site-main > .section {
    padding-block: 44px;
  }

  body:not(.page-id-473) .unoc-tenders-redesign .section {
    padding-block: 44px;
  }

  body.page-id-161 section {
    padding-block: 44px;
  }

  body.page-id-161 section.elementor-top-section {
    padding: 0 !important;
  }

  body.page-id-161 .feat {
    grid-template-columns: 1fr;
  }

  body.page-id-161 .feat .l,
  body.page-id-161 .feat .r {
    min-height: 0;
    padding: 24px;
  }

  body:not(.page-id-473) .unoc-ref-section-head {
    gap: 32px;
    margin-bottom: 28px;
  }

  body:not(.page-id-473) .unoc-ref-cta {
    padding-block: 40px;
  }
}
