/* =========================================================
   MASTHEAD BRAND
========================================================= */

#main-header {
  border-bottom: 1px solid rgba(10, 102, 93, 0.08);
  box-shadow: 0 4px 18px rgba(23, 42, 42, 0.07);
}

#main-header .container {
  width: 90%;
  max-width: 1200px;
}

#main-header .logo_container > a {
  display: inline-flex;
  height: 100%;
  align-items: center;
  gap: 14px;
  text-decoration: none;
}

#main-header #logo {
  width: auto;
  max-width: none;
  max-height: 66px;
  object-fit: contain;
}

.mynach-brand-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
  line-height: 1.2;
}

.mynach-brand-name {
  color: var(--dark-text);
  font-family: Fredoka, Georgia, serif;
  font-size: 20px;
  font-weight: 700;
  white-space: nowrap;
}

.mynach-brand-location {
  color: var(--primary);
  font-family: Lexend, Arial, sans-serif;
  font-size: 11px;
  font-weight: 650;
  white-space: nowrap;
}

/* Reserve enough space for the wider logo and name. */
@media (min-width: 981px) {
  .et_header_style_left #et-top-navigation {
    padding-left: 245px !important;
  }

  #top-menu > li > a {
    position: relative;
  }

  /* More noticeable active navigation state. */
  #top-menu
    > li.current-menu-item
    > a::before,
  #top-menu
    > li.current-menu-ancestor
    > a::before {
    position: absolute;
    right: 18px;
    bottom: 13px;
    left: 0;
    height: 3px;
    border-radius: 999px;
    background: var(--accent);
    content: "";
  }

  #top-menu
    > li:not(.menu-item-has-children).current-menu-item
    > a::before {
    right: 0;
  }
}

/* Fixed header adjustments. */
.et-fixed-header #logo {
  max-height: 58px;
}

.et-fixed-header .mynach-brand-name {
  font-size: 18px;
}

.et-fixed-header .mynach-brand-location {
  font-size: 10px;
}

/* Tablet and mobile masthead. */
@media (max-width: 980px) {
  #main-header .logo_container > a {
    gap: 11px;
  }

  #main-header #logo {
    max-width: none;
    max-height: 55px;
  }

  .mynach-brand-name {
    font-size: 17px;
  }

  .mynach-brand-location {
    font-size: 10px;
  }
}

@media (max-width: 380px) {
  #main-header .logo_container > a {
    gap: 8px;
  }

  #main-header #logo {
    max-height: 48px;
  }

  .mynach-brand-name {
    font-size: 15px;
  }

  .mynach-brand-location {
    font-size: 9px;
  }
}

@media (min-width: 981px) {
  .et_header_style_left #et-top-navigation {
    display: flex;
    align-items: center;
    min-height: 90px;
    padding-top: 0 !important;
  }

  #top-menu {
    display: flex;
    align-items: center;
  }

  #top-menu > li {
    padding: 0 24px 0 0;
  }

  #top-menu > li > a {
    display: flex;
    min-height: 90px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    color: var(--dark-text) !important;
    line-height: 1.2;
  }

  #top-menu .menu-cy {
    display: block;
    color: var(--dark-text);
    font-size: 14px;
    font-weight: 700;
  }

  #top-menu .menu-en {
    display: block;
    margin-top: 2px;
    color: var(--slate);
    font-size: 11px;
    font-weight: 600;
  }

  #top-menu > li > a:hover .menu-cy,
  #top-menu > li.current-menu-item > a .menu-cy,
  #top-menu > li.current-menu-ancestor > a .menu-cy {
    color: var(--primary);
  }

  #top-menu > li > a:hover .menu-en,
  #top-menu > li.current-menu-item > a .menu-en,
  #top-menu > li.current-menu-ancestor > a .menu-en {
    color: var(--primary);
  }

  #top-menu .menu-item-has-children > a:first-child {
    padding-right: 18px !important;
  }

  #top-menu .menu-item-has-children > a:first-child::after {
    top: 50% !important;
    right: 0 !important;
    margin-top: 0 !important;
    transform: translateY(-50%);
  }

  #top-menu > li > ul {
    top: 90px !important;
    margin-top: 0 !important;
  }

  .nav li ul {
    padding: 10px 0;
    border-top: 3px solid var(--accent);
    border-radius: 0 0 12px 12px;
    background: var(--white);
    box-shadow: var(--shadow);
  }

  #top-menu li li {
    padding: 0;
  }

  #top-menu li li a {
    width: 250px;
    padding: 10px 18px;
    color: var(--dark-text) !important;
    font-size: 14px;
    line-height: 1.45;
  }

  #top-menu li li a:hover {
    background: var(--mint);
    color: var(--primary) !important;
  }
} 

@media (max-width: 980px) {
  .et_header_style_left #et-top-navigation {
    display: flex;
    align-items: center;
    min-height: 80px;
    padding-top: 0 !important;
  }

  #top-menu-nav {
    display: none !important;
  }

  #et_mobile_nav_menu {
    display: block !important;
  }

  .mobile_menu_bar {
    display: flex;
    align-items: center;
    min-height: 80px;
  }

  .mobile_menu_bar::before {
    color: var(--primary);
    font-size: 32px;
  }

  .et_mobile_menu {
    border-top: 3px solid var(--accent);
    box-shadow: var(--shadow);
  }

  .et_mobile_menu li a {
    padding-block: 11px;
    color: var(--dark-text);
  }

  .et_mobile_menu .menu-cy,
  .et_mobile_menu .menu-en {
    display: block;
    line-height: 1.35;
  }

  .et_mobile_menu .menu-cy {
    font-size: 15px;
    font-weight: 700;
  }

  .et_mobile_menu .menu-en {
    color: var(--slate);
    font-size: 12px;
  }

  #et_top_search {
    display: none !important;
  }
}

/* =========================================================
   GLOBAL PAGE TITLE HEADER
========================================================= */

.mynach-page-header {
  position: relative;
  overflow: hidden;
  padding: 0 !important;
  border-bottom: 4px solid var(--accent, #43c6ad);
  background:
    linear-gradient(
      135deg,
      var(--primary, #0a665d) 0%,
      #07564f 100%
    ) !important;
}

/* Large decorative outline */
.mynach-page-header::before {
  content: "";
  position: absolute;
  top: -190px;
  right: 6%;
  width: 360px;
  height: 360px;
  border: 2px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  pointer-events: none;
}

/* Smaller coloured shape */
.mynach-page-header::after {
  content: "";
  position: absolute;
  right: 19%;
  bottom: -105px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: rgba(67, 198, 173, 0.14);
  pointer-events: none;
}

.mynach-page-header-inner.et_pb_row {
  position: relative;
  z-index: 1;
  padding-top: 52px !important;
  padding-bottom: 52px !important;
}

.mynach-page-header-copy {
  margin: 0 !important;
}

.mynach-page-header-copy h1 {
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: clamp(34px, 3.5vw, 46px) !important;
  line-height: 1.15 !important;
}

/* English title immediately following the H1 */
.mynach-page-header-copy h1 + p {
  position: relative;
  margin: 13px 0 0 !important;
  padding: 0 0 0 16px !important;
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 18px !important;
  font-weight: 500;
  line-height: 1.45;
}

.mynach-page-header-copy h1 + p::before {
  content: "";
  position: absolute;
  top: 3px;
  bottom: 3px;
  left: 0;
  width: 3px;
  border-radius: 3px;
  background: var(--accent, #43c6ad);
}

@media (max-width: 767px) {
  .mynach-page-header-inner.et_pb_row {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .mynach-page-header-copy h1 {
    font-size: 34px !important;
  }

  .mynach-page-header-copy h1 + p {
    margin-top: 10px !important;
    font-size: 16px !important;
  }

  .mynach-page-header::before {
    top: -115px;
    right: -105px;
    width: 240px;
    height: 240px;
  }

  .mynach-page-header::after {
    right: 10%;
    bottom: -100px;
    width: 150px;
    height: 150px;
  }
}