/**
 * Header v2 + mobile drawer v2 — loaded only with get_header('v2') or get_footer('v2').
 * Requires parent style.css for --fontstack-body, --fontstack-heading, --bristol-header-accent.
 */
/* Fixed 24×24 slot: hamburger and X stack in the same place (no swap jump). */
.bristol-header-menu-toggle__gfx {
  position: relative;
  display: block;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.one-toggle-btn .bristol-header-menu-toggle__gfx .bristol-header-menu-svg {
  position: absolute;
  left: 0;
  top: 0;
  width: 24px;
  height: 24px;
  display: block;
  box-sizing: border-box;
}

.one-toggle-btn .bristol-header-menu-toggle__gfx .icon-close {
  display: none;
}

.one-toggle-btn.active .bristol-header-menu-toggle__gfx .icon-open {
  display: none;
}

.one-toggle-btn.active .bristol-header-menu-toggle__gfx .icon-close {
  display: block;
}

/* Do not set display on bare .bristol-header-menu-svg — overrides .icon-close { display: none }. */
.one-toggle-btn .bristol-header-menu-svg {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  box-sizing: content-box;
}

/* mobile menu */
/* Bristol mobile drawer (primary_menu via wp_nav_menu, header v2) */
.bristol-mobile-drawer__header {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  flex-shrink: 0;
  min-height: 72px;
}

.bristol-mobile-drawer__brand {
  flex: 1;
  background: #fff;
  display: flex;
  align-items: center;
  padding: 9px 20px;
  clip-path: polygon(0 0, 100% 0, calc(100% - 20px) 100%, 0 100%);
}

.bristol-mobile-drawer__brand .custom-logo-link,
.bristol-mobile-drawer__brand img {
  max-height: 64px;
  width: auto;
  height: auto;
  display: block;
}

.bristol-mobile-drawer__sitename {
  font-weight: 700;
  font-size: 1rem;
  color: #161b20;
  text-decoration: none;
}

.bristol-mobile-drawer__close {
  flex-shrink: 0;
  width: 72px;
  min-width: 72px;
  min-height: 72px;
  border: 0;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  box-sizing: border-box;
}

.bristol-mobile-drawer__close-icon {
  display: block;
  width: 24px;
  height: 24px;
  color: #fff;
}

.bristol-mobile-drawer__close img {
  filter: brightness(0) invert(1);
}

.bristol-mobile-drawer__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  display: flex;
  flex-direction: column;
}

.bristol-mobile-drawer__scroll {
  flex: 1 1 auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 24px;
}

.bristol-mobile-drawer .menu-modal-inner {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.bristol-mobile-drawer .menu-wrapper {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

/* Parent theme .section-inner uses width: calc(100% - 4rem) — removes full-bleed gap in drawer */
.bristol-mobile-drawer .menu-wrapper.section-inner {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.bristol-mobile-drawer .menu-top {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.bristol-mobile-nav__container {
  display: block;
}

.bristol-mobile-nav,
.bristol-mobile-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.bristol-mobile-nav__item {
  border-bottom: 1px solid #45494d;
}

.bristol-mobile-nav__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 20px;
  min-height: 56px;
}

.bristol-mobile-nav__item.has-children > .bristol-mobile-nav__row {
  cursor: pointer;
}

.bristol-mobile-nav__link {
  flex: 1 1 auto;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  text-decoration: none;
  font-family: var(--fontstack-body);
}

.bristol-mobile-nav__link:hover,
.bristol-mobile-nav__link:focus {
  color: #fff;
  text-decoration: underline;
}

.bristol-mobile-nav__link--label {
  cursor: default;
  pointer-events: none;
}

.bristol-mobile-nav__link--label:hover,
.bristol-mobile-nav__link--label:focus {
  text-decoration: none;
}

.bristol-mobile-nav__toggle {
  flex-shrink: 0;
  width: 44px;
  height: auto;
  border: 0;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.bristol-mobile-nav__toggle-icon {
  color: var(--bristol-header-accent);
  line-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bristol-mobile-nav__chev-svg {
  display: block;
  transition: transform 0.2s ease;
}

/* Only the row’s own li.is-open may style this toggle (avoid ancestor L0 open forcing nested − icons). */
.bristol-mobile-nav__item--depth-0.is-open > .bristol-mobile-nav__row .bristol-mobile-nav__chev-svg {
  transform: rotate(180deg);
}

.bristol-mobile-nav__toggle-icon--nested .b-mnav-minus {
  display: none;
}

.bristol-mobile-nav__item.is-open > .bristol-mobile-nav__row .bristol-mobile-nav__toggle .bristol-mobile-nav__toggle-icon--nested .b-mnav-plus {
  display: none;
}

.bristol-mobile-nav__item.is-open > .bristol-mobile-nav__row .bristol-mobile-nav__toggle .bristol-mobile-nav__toggle-icon--nested .b-mnav-minus {
  display: block;
}

.bristol-mobile-nav .bristol-mobile-nav__sub {
  background: rgba(0, 0, 0, 0.12);
  padding-left: 12px;
}

.bristol-mobile-nav .bristol-mobile-nav__sub[hidden] {
  display: none !important;
}

.bristol-mobile-nav .bristol-mobile-nav__sub.is-open {
  display: block !important;
}

/* Only first submenu tier under each top-level item (accordion headers), not deeper nested links */
.bristol-mobile-nav > .bristol-mobile-nav__item > .bristol-mobile-nav__sub > .bristol-mobile-nav__item > .bristol-mobile-nav__row > .bristol-mobile-nav__link {
  color: var(--bristol-header-accent);
  font-weight: 600;
}

.bristol-mobile-nav .bristol-mobile-nav__sub .bristol-mobile-nav__sub .bristol-mobile-nav__row .bristol-mobile-nav__link {
  color: #fff;
  font-weight: 400;
  font-size: 15px;
}

.bristol-mobile-nav__cta {
  padding: 12px 20px;
  border-bottom: 1px solid #45494d;
}

.bristol-mobile-nav__apply {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  /* width: 100%; */
  justify-content: center;
}

.bristol-mobile-drawer__campus {
  border-bottom: 1px solid #45494d;
}

.bristol-mobile-drawer__campus-heading {
  margin: 0;
  padding: 16px 20px 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
}

.bristol-mobile-nav__uk {
  padding: 20px;
}

.bristol-mobile-nav__uk-link {
  color: var(--bristol-header-accent) !important;
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
}

.bristol-mobile-drawer__utility {
  border-top: 1px solid #45494d;
  padding: 16px 0 8px;
}

.bristol-mobile-nav--utility > .bristol-mobile-nav__item > .bristol-mobile-nav__row > .bristol-mobile-nav__link,
.bristol-mobile-nav--utility > .bristol-mobile-nav__item > .bristol-mobile-nav__row > .bristol-mobile-nav__link--label {
  color: var(--bristol-header-accent);
  font-weight: 600;
}

.bristol-mobile-nav--utility .bristol-mobile-nav__sub .bristol-mobile-nav__row .bristol-mobile-nav__link {
  color: #fff;
  font-weight: 400;
  font-size: 15px;
}

.bristol-mobile-drawer__empty {
  color: #fff;
  padding: 20px;
  margin: 0;
}

.bristol-mobile-drawer__brand-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  min-width: 0;
}

.bristol-mobile-drawer__tagline {
  margin: 0;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 600;
  color: #161b20;
  font-family: var(--fontstack-heading);
}

/* -------------------------------------------------------------------------- */
/* Header v2 mobile (Figma): white brand + diagonal dark menu control */
/* Scoped to body.bristol-header-v2 — legacy header.php unchanged */
/* Same px diagonal on main bar (dark panel, counted from left) and drawer */
/* (white brand, counted from right) so the seam angle always matches. */
/* -------------------------------------------------------------------------- */

body.bristol-header-v2,
.bristol-mobile-drawer--v2 {
  --bristol-v2-header-diagonal: 18px;
}

body.bristol-header-v2 .bristol-header-v2__site-header,
body.bristol-header-v2 .bristol-header-v2__container.custom-mobile-container,
body.bristol-header-v2 .bristol-header-v2__bar,
body.bristol-header-v2 .bristol-header-v2__brand,
body.bristol-header-v2 .bristol-header-v2__actions,
body.bristol-header-v2 .bristol-header-v2__menu-toggle {
  box-sizing: border-box;
}
.footer-menu p{
  color: #EE7219;
  margin-bottom: 16px;
}

@media (max-width: 1024px) {
  body.bristol-header-v2 header.bristol-header-v2__site-header {
    padding: 0 !important;
    height: auto;
    min-height: 72px;
    overflow: visible;
    box-shadow: none;
  }

  body.bristol-header-v2 .bristol-header-v2__container.custom-mobile-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
  }

  body.bristol-header-v2 .bristol-header-v2__bar {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    min-height: 72px;
    width: 100%;
    /* Shows through the brand’s diagonal clip (same idea as drawer header) */
    background: #1a1d23;
  }

  /* Mobile header layout (<=1024px): keep CTA off so actions stay a single 72px control column */
  body.bristol-header-v2 .bristol-header-v2__cta-desktop {
    display: none !important;
  }

  body.bristol-header-v2 .bristol-header-v2__brand {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 2px;
    padding: 9px 20px;
    background: #fff;
    /* Diagonal on white (matches drawer brand); dark menu column stays full 72×72, no clip */
    clip-path: polygon(
      0 0,
      100% 0,
      calc(100% - var(--bristol-v2-header-diagonal)) 100%,
      0 100%
    );
  }

  body.bristol-header-v2 .bristol-header-v2__logo {
    width: auto;
    max-width: 100%;
    padding: 0 !important;
  }

  body.bristol-header-v2 .bristol-header-v2__logo .custom-logo-link img,
  body.bristol-header-v2 .bristol-header-v2__logo img.custom-logo {
    max-height: 54px;
    width: auto;
    height: auto;
    display: block;
  }

  body.bristol-header-v2 .bristol-header-v2__tagline {
    margin: 0;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: #161b20;
    font-family: var(--fontstack-heading);
    max-width: 100%;
  }

  /* Same fixed width as drawer close (72×72); no fluid max-width so strip matches menu vs X */
  body.bristol-header-v2 .bristol-header-v2__actions {
    box-sizing: border-box;
    flex: 0 0 72px;
    width: 54px;
    min-width: 54px;
    max-width: 54px;
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #1a1d23;
  }

  body.bristol-header-v2 .bristol-header-v2__menu-toggle.mobile-nav-toggle.one-toggle-btn {
    position: static !important;
    box-sizing: border-box;
    width: 54px;
    max-width: 54px;
    height: 72px;
    min-height: 72px;
    margin: 0;
    padding: 0 !important;
    background: transparent !important;
    clip-path: none !important;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  body.bristol-header-v2 .bristol-header-v2__menu-toggle .icon-open,
  body.bristol-header-v2 .bristol-header-v2__menu-toggle .icon-close {
    filter: brightness(0) invert(1);
  }
  .footer-menu p{
    color: #EE7219;
    margin-bottom: 12px;
  }
}

@media (min-width: 1025px) {
  body.bristol-header-v2 header.bristol-header-v2__site-header {
    height: 118px;
    padding: 16px 0;
    overflow: hidden;
  }

  body.bristol-header-v2 .bristol-header-v2__bar {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 86px;
  }

  body.bristol-header-v2 .bristol-header-v2__brand {
    flex: 0 1 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    background: transparent;
    padding: 0;
  }

  body.bristol-header-v2 .bristol-header-v2__tagline {
    display: none !important;
  }

  body.bristol-header-v2 .bristol-header-v2__logo {
    width: 180px;
    padding: 4px 0 !important;
  }

  body.bristol-header-v2 .bristol-header-v2__logo .custom-logo-link img,
  body.bristol-header-v2 .bristol-header-v2__logo img.custom-logo {
    max-height: 72px;
  }

  body.bristol-header-v2 .bristol-header-v2__actions {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    background: transparent;
    clip-path: none;
    flex: 0 0 auto;
    min-width: 0;
    max-width: none;
  }

  body.bristol-header-v2 .bristol-header-v2__menu-toggle {
    display: none !important;
  }

  body.bristol-header-v2 .bristol-header-v2__menu-toggle .icon-open,
  body.bristol-header-v2 .bristol-header-v2__menu-toggle .icon-close {
    filter: none;
  }
}

/* Drawer v2: visible state — Twenty Twenty + child use .show-modal / .active for display, not only .open */
body.bristol-header-v2 .bristol-mobile-drawer--v2.menu-modal.open,
body.bristol-header-v2 .bristol-mobile-drawer--v2.menu-modal.active,
body.bristol-header-v2 .bristol-mobile-drawer--v2.menu-modal.show-modal {
  display: flex !important;
  flex-direction: column;
  left: 0 !important;
  right: 0 !important;
  top: 0;
  bottom: 0;
  opacity: 1 !important;
  visibility: visible;
  position: fixed;
  z-index: 10000;
  background: #1a1d23;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

/* Desktop: drawer must not cover the page (hamburger is hidden); fixes stuck-open after widening from mobile. */
@media (min-width: 1025px) {
  body.bristol-header-v2 .bristol-mobile-drawer--v2.menu-modal.open,
  body.bristol-header-v2 .bristol-mobile-drawer--v2.menu-modal.active,
  body.bristol-header-v2 .bristol-mobile-drawer--v2.menu-modal.show-modal {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

.admin-bar body.bristol-header-v2 .bristol-mobile-drawer--v2.menu-modal.open,
.admin-bar body.bristol-header-v2 .bristol-mobile-drawer--v2.menu-modal.active,
.admin-bar body.bristol-header-v2 .bristol-mobile-drawer--v2.menu-modal.show-modal {
  top: 32px;
}

@media (max-width: 782px) {
  .admin-bar body.bristol-header-v2 .bristol-mobile-drawer--v2.menu-modal.open,
  .admin-bar body.bristol-header-v2 .bristol-mobile-drawer--v2.menu-modal.active,
  .admin-bar body.bristol-header-v2 .bristol-mobile-drawer--v2.menu-modal.show-modal {
    top: 46px;
  }
}

/*
 * Campus + utility top bar: default wp_nav_menu markup (no Bristol_Topbar_Nav_Walker).
 * Without these rules, links miss .nav-link styling and the trailing block can collapse or sit wrong in flex.
 */
body.bristol-header-v2 #global-navigation .nav-wrapper {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  flex-wrap: nowrap;
  width: 100%;
  min-width: 0;
  gap: 0;
}

body.bristol-header-v2 #global-navigation .nav-bar-trailing {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  flex-shrink: 0;
  margin-left: auto;
  min-width: 0;
}

body.bristol-header-v2 #global-navigation .nav-campus-wrap,
body.bristol-header-v2 #global-navigation .nav-utility-wrap {
  display: flex;
  align-items: stretch;
}

body.bristol-header-v2 #global-navigation ul.nav-campus,
body.bristol-header-v2 #global-navigation ul.nav-utility {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  list-style: none;
  margin: 0;
  padding: 0;
}

body.bristol-header-v2 #global-navigation ul.nav-campus > li.menu-item,
body.bristol-header-v2 #global-navigation ul.nav-utility > li.menu-item {
  display: flex;
  align-items: stretch;
  margin: 0;
  padding: 0;
  border-right: 1px solid #45494d;
}

body.bristol-header-v2 #global-navigation ul.nav-campus > li.menu-item:first-child {
  border-left: 1px solid #45494d;
}

/* Utility-only: left edge matches primary/campus strip. When campus precedes, one border only. */
body.bristol-header-v2 #global-navigation .nav-bar-trailing > .nav-utility-wrap:first-child ul.nav-utility > li.menu-item:first-child {
  border-left: 1px solid #45494d;
}

body.bristol-header-v2 #global-navigation .nav-campus-wrap ~ .nav-utility-wrap ul.nav-utility > li.menu-item:first-child {
  border-left: none;
}

body.bristol-header-v2 #global-navigation ul.nav-campus > li.menu-item > a,
body.bristol-header-v2 #global-navigation ul.nav-utility > li.menu-item > a {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  padding: 16px 36px;
  color: #EE7219;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  text-decoration: none;
  font-family: var(--fontstack-body);
}

body.bristol-header-v2 #global-navigation ul.nav-campus > li.menu-item > a:hover,
body.bristol-header-v2 #global-navigation ul.nav-campus > li.menu-item > a:focus,
body.bristol-header-v2 #global-navigation ul.nav-utility > li.menu-item > a:hover,
body.bristol-header-v2 #global-navigation ul.nav-utility > li.menu-item > a:focus {
  color: #EE7219;
  background-color: #000;
  text-decoration: underline;
}

/* Desktop mega: panel must span full top bar — not the narrow li (li stays static; topbar-section is position:relative). */
@media (min-width: 1025px) {
  body.bristol-header-v2 #global-navigation .mega-parent,
  body.bristol-header-v2 #global-navigation .nav-item.mega-parent {
    position: static;
  }

  body.bristol-header-v2 #global-navigation .mega-parent.active > .mega-menu,
  body.bristol-header-v2 #global-navigation .nav-item.mega-parent.active > .mega-menu {
    display: block !important;
  }

  body.bristol-header-v2 #global-navigation .mega-menu {
    z-index: 1000;
  }
}

/* v2 uses inline SVG chevron; hide theme Font Awesome ::after (missing font = empty square). */
body.bristol-header-v2 #global-navigation a.nav-link.mega-toggle::after,
body.bristol-header-v2 #global-navigation .nav-item.mega-parent.active > a.nav-link.mega-toggle::after,
body.bristol-header-v2 #global-navigation .nav-item.mega-parent.active > .mega-toggle::after {
  content: none !important;
  display: none !important;
}

body.bristol-header-v2 #global-navigation .mega-toggle-chevron {
  display: inline-flex;
  align-items: center;
  margin-left: 10px;
  color: #EE7219;
}

body.bristol-header-v2 #global-navigation .mega-parent.active .mega-toggle-chevron {
  color: #EE7219;
}

body.bristol-header-v2 #global-navigation .mega-toggle-chevron-svg {
  display: block;
  transition: transform 0.15s ease;
}

body.bristol-header-v2 #global-navigation .mega-parent.active .mega-toggle-chevron-svg {
  transform: rotate(180deg);
}

@media (min-width: 1025px) {
  body.bristol-header-v2 #global-navigation .mega-parent.active > a.nav-link.mega-toggle,
  body.bristol-header-v2 #global-navigation .mega-parent.active > button.nav-link.mega-toggle {
    background-color: #000;
  }
}

/* Explicit mega typography colours (avoid v2 / utility overrides washing out text). */
body.bristol-header-v2 #global-navigation .mega-menu {
  color: #fff;
}

body.bristol-header-v2 #global-navigation .mega-title {
  color: #EE7219;
}

body.bristol-header-v2 #global-navigation .mega-column a,
body.bristol-header-v2 #global-navigation .mega-column .nav-text,
body.bristol-header-v2 #global-navigation .mega-sub-link a,
body.bristol-header-v2 #global-navigation .mega-sub-link .nav-text {
  color: #fff;
}

body.bristol-header-v2 #global-navigation button.nav-link.mega-toggle {
  background: transparent;
  border: 0;
  font: inherit;
  color: #fff;
  cursor: pointer;
  text-align: left;
  box-sizing: border-box;
}

/*
 * Walker output: .mega-container > ul.mega-sub-root > li.mega-column (not direct .mega-column divs).
 * Without this, only the ul participates in .mega-container flex and columns stack in one block.
 */
@media (min-width: 1025px) {
  body.bristol-header-v2 #global-navigation .mega-menu {
    padding-left: 0;
    padding-right: 0;
  }

  body.bristol-header-v2 #global-navigation .mega-container {
    width: 100%;
    max-width: 1352px;
    margin: 0 auto;
  }

  body.bristol-header-v2 #global-navigation .mega-container ul.mega-sub-root {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    row-gap: 32px;
    width: 100%;
    max-width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  body.bristol-header-v2 #global-navigation .mega-container ul.mega-sub-root > li.mega-column {
    flex: 0 1 33.33%;
    min-width: 0;
    max-width: min(33.33%, 100%);
    list-style: none;
    margin: 0;
    padding: 0;
    padding-right: 10px;
    box-sizing: border-box;
  }
}

/* Nested column lists: vertical stack, no WP indent */
body.bristol-header-v2 #global-navigation .mega-column > ul.sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-top: 12px;
}

body.bristol-header-v2 #global-navigation .mega-column > ul.sub-menu > li.mega-sub-link {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* First link under a column title: avoid extra margin-top (matches other items in design) */
body.bristol-header-v2
  #global-navigation
  .mega-column
  .mega-title
  + ul.sub-menu
  > li.mega-sub-link:first-child
  a {
  margin-top: 0;
}

.bristol-mobile-drawer--v2 .bristol-mobile-drawer__close {
  box-sizing: border-box;
  background: #1a1d23;
  width:54px;
  min-width: 54px;
  max-width: 54px;
  height: 72px;
  min-height: 72px;
  padding: 0;
  color: #fff;
}

.bristol-mobile-drawer--v2 .bristol-mobile-drawer__close .bristol-mobile-drawer__close-icon {
  width: 24px;
  height: 24px;
}

.bristol-mobile-drawer--v2 .bristol-mobile-drawer__brand {
  clip-path: polygon(
    0 0,
    100% 0,
    calc(100% - var(--bristol-v2-header-diagonal)) 100%,
    0 100%
  );
  padding-top: 9px;
  padding-bottom: 9px;
}

.bristol-mobile-drawer--v2 .bristol-mobile-drawer__brand .custom-logo-link img,
.bristol-mobile-drawer--v2 .bristol-mobile-drawer__brand img.custom-logo {
  max-height: 54px;
}

.bristol-mobile-drawer--v2 .bristol-mobile-nav__container {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Dividers on rows = full drawer width (li borders sat inside padded nested uls and looked short) */
.bristol-mobile-drawer--v2 .bristol-mobile-nav__item {
  border-bottom: none;
  background: transparent;
}

.bristol-mobile-drawer--v2 .bristol-mobile-nav__row {
  border-bottom: 1px solid #393d41;
  box-sizing: border-box;
  /* Sit toggle next to label instead of space-between + flex-grow on link */
  justify-content: flex-start;
  gap: 0px;
}

.bristol-mobile-drawer--v2 .bristol-mobile-nav__row .bristol-mobile-nav__link,
.bristol-mobile-drawer--v2 .bristol-mobile-nav__row .bristol-mobile-nav__link--label {
  flex: 1 1 auto;
  min-width: 0;
}

.bristol-mobile-drawer--v2 .bristol-mobile-nav__row .bristol-mobile-nav__link {
  display: block;
  width: 100%;
}

/* Parent rows: keep icon close to text while row remains fully clickable. */
.bristol-mobile-drawer--v2 .bristol-mobile-nav__item.has-children > .bristol-mobile-nav__row > .bristol-mobile-nav__link,
.bristol-mobile-drawer--v2 .bristol-mobile-nav__item.has-children > .bristol-mobile-nav__row > .bristol-mobile-nav__link--label {
  flex: 0 1 auto;
  width: auto;
}

.bristol-mobile-drawer--v2 .bristol-mobile-nav__item.has-children > .bristol-mobile-nav__row > .bristol-mobile-nav__toggle {
  margin-left: 12px;
}

/* Primary L0 chevron white; nested +/- accent; campus/utility L0 toggles stay accent */
.bristol-mobile-drawer--v2
  .bristol-mobile-nav:not(.bristol-mobile-nav--campus):not(.bristol-mobile-nav--utility)
  > .bristol-mobile-nav__item
  > .bristol-mobile-nav__row
  .bristol-mobile-nav__toggle-icon {
  color: #EE7219;
}

.bristol-mobile-drawer--v2 .bristol-mobile-nav .bristol-mobile-nav__sub .bristol-mobile-nav__row .bristol-mobile-nav__toggle-icon {
  color: #EE7219;
}

/* Same #1a1d23 field everywhere — no darker nested bands; zero ul inset */
.bristol-mobile-drawer--v2 .bristol-mobile-nav .bristol-mobile-nav__sub {
  background: transparent !important;
  padding-left: 0 !important;
  margin: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.bristol-mobile-drawer--v2 .bristol-mobile-nav .bristol-mobile-nav__sub .bristol-mobile-nav__sub {
  padding-left: 0 !important;
}

/* Primary menu: L0 only — white (Home, Study at Bristol row, About, etc.) */
.bristol-mobile-drawer--v2
  .bristol-mobile-nav:not(.bristol-mobile-nav--campus):not(.bristol-mobile-nav--utility)
  > .bristol-mobile-nav__item
  > .bristol-mobile-nav__row
  > .bristol-mobile-nav__link,
.bristol-mobile-drawer--v2
  .bristol-mobile-nav:not(.bristol-mobile-nav--campus):not(.bristol-mobile-nav--utility)
  > .bristol-mobile-nav__item
  > .bristol-mobile-nav__row
  > .bristol-mobile-nav__link--label {
  font-size: 16px !important;
  line-height: 24px !important;
  font-weight: 700 !important;
  color: #fff !important;
}

/* Nested accordion section titles (“Study with us”, “Find information”, …) — accent */
.bristol-mobile-drawer--v2 .bristol-mobile-nav .bristol-mobile-nav__sub .bristol-mobile-nav__row .bristol-mobile-nav__link--label {
  font-size: 16px !important;
  line-height: 24px !important;
  font-weight: 700 !important;
  color: #EE7219 !important;
}

/* First submenu tier: real links under L0 — accent (matches legacy topbar tier) */
.bristol-mobile-drawer--v2
  .bristol-mobile-nav
  > .bristol-mobile-nav__item
  > .bristol-mobile-nav__sub
  > .bristol-mobile-nav__item
  > .bristol-mobile-nav__row
  > .bristol-mobile-nav__link:not(.bristol-mobile-nav__link--label) {
  font-size: 16px !important;
  line-height: 22px !important;
  font-weight: 400 !important;
  color: #fff !important;
  padding-left: 10px;
}

/* Deeper nested real links (below first submenu tier) — white */
.bristol-mobile-drawer--v2 .bristol-mobile-nav .bristol-mobile-nav__sub .bristol-mobile-nav__sub .bristol-mobile-nav__row > .bristol-mobile-nav__link:not(.bristol-mobile-nav__link--label) {
  font-size: 16px !important;
  line-height: 22px !important;
  font-weight: 400 !important;
  color: #fff !important;
  padding-left: 10px;
}

/* Campus / utility blocks — accent (not primary L0) */
.bristol-mobile-drawer--v2 .bristol-mobile-nav--campus > .bristol-mobile-nav__item > .bristol-mobile-nav__row > .bristol-mobile-nav__link,
.bristol-mobile-drawer--v2 .bristol-mobile-nav--utility > .bristol-mobile-nav__item > .bristol-mobile-nav__row > .bristol-mobile-nav__link,
.bristol-mobile-drawer--v2 .bristol-mobile-nav--utility > .bristol-mobile-nav__item > .bristol-mobile-nav__row > .bristol-mobile-nav__link--label {
  font-size: 16px !important;
  line-height: 24px !important;
  font-weight: 700 !important;
  color: #EE7219 !important;
}

.bristol-mobile-drawer--v2 .bristol-mobile-nav__cta {
  border-bottom: 1px solid #393d41;
  border-top: none;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.bristol-mobile-drawer--v2 .bristol-mobile-nav__apply.btn-primary {
  /* width: 100% !important;
  max-width: none !important; */
  box-sizing: border-box;
  /* display: flex !important; */
  background-color: #b01b2e !important;
  border-color: #b01b2e !important;
  color: #fff !important;
  font-weight: 700;
  border-radius: 6px;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
}

.bristol-mobile-drawer--v2 .bristol-mobile-nav__apply.btn-primary:hover,
.bristol-mobile-drawer--v2 .bristol-mobile-nav__apply.btn-primary:focus {
  background-color: #8e1625 !important;
  border-color: #8e1625 !important;
  color: #fff !important;
}

.bristol-mobile-drawer--v2 .bristol-mobile-drawer__campus-heading {
  color: rgba(255, 255, 255, 0.55);
}

.bristol-mobile-drawer--v2 .bristol-mobile-drawer__utility {
  border-top-color: #393d41;
}

.bristol-mobile-drawer--v2 .bristol-mobile-drawer__header {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: #1a1d23;
}

#primary-topbar-menu .mega-container{
  padding: 0 16px;
}
@media (max-width: 1024px) {
  section.topbar-section {
      display: none !important;
  }
}

/* Ensure v2 drawer scrolls on short-height mobile screens. */
body.bristol-header-v2 .bristol-mobile-drawer--v2.menu-modal.open,
body.bristol-header-v2 .bristol-mobile-drawer--v2.menu-modal.active,
body.bristol-header-v2 .bristol-mobile-drawer--v2.menu-modal.show-modal {
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
}

body.bristol-header-v2 .bristol-mobile-drawer--v2 .menu-modal-inner,
body.bristol-header-v2 .bristol-mobile-drawer--v2 .bristol-mobile-drawer__body {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

body.bristol-header-v2 .bristol-mobile-drawer--v2 .bristol-mobile-drawer__scroll {
  flex: 1 1 auto;
  min-height: 0;
  display: block;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}