/* ===== HEADER SYSTEM ===== */

:root{
  /* header stack */
  --iyeg-header-padding : 0 5%;
  --iyeg-header-z-index : 1000; 
  --iyeg-header-color-red : #e0071d;
  --iyeg-header-color-blue : #003D82;
  --iyeg-header-color-white : #FFFFFF;
  --iyeg-header-color-white-70 : rgba(255, 255, 255, 0.7);
  --iyeg-header-color-white-10 : rgba(255, 255, 255, 0.1);

  /* utility bar */
  --iyeg-header__util--bg : var(--iyeg-header-color-red);
  --iyeg-header__util--height :2.5rem;
  --iyeg-header__util--justify-content : flex-end;
  --iyeg-header__util--font-size : 0.75rem;
  --iyeg-header__util--border-bottom : none;
  --iyeg-header__util--text-color : var(--iyeg-header-color-white);
  --iyeg-header__util--icon-color : var(--iyeg-header-color-white);

  /* header main  */
  --iyeg-header__main--bg : var(--iyeg-header-color-blue);
  --iyeg-header__main--logo-height : 1.5rem;
  --iyeg-header__main--text-color : var(--iyeg-header-color-white);
  --iyeg-header__main--text-hover-color : var(--iyeg-header-color-white-70);
  --iyeg-header__main--font-size : 0.875rem; /* 14px */
  --iyeg-header__main--underline-color : var(--iyeg-header-color-white);
  --iyeg-header__main--nav-active-color : var(--iyeg-header-color-white);

  /* side menu */
    --iyeg-header__side-menu--hamburger-color : var(--iyeg-header-color-white);
    --iyeg-header__side-menu--close-icon-color : #FFFFFF;
    --iyeg-header__side-menu--bg : var(--iyeg-header-color-blue);
    --iyeg-header__side-menu--logo-height : 1.5rem;

  /* --iyeg-header__side-menu--hamburger-size : 1.5rem; */

}

@keyframes iyeg-expandUnderline {
  0% { width: 0; left: 0; }
  100% { width: 100%; left: 0; }
}


.iyeg-header-stack {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: var(--iyeg-header-z-index);
  }
  
  .iyeg-utility-bar {
    background: var(--iyeg-header__util--bg);
    height: var(--iyeg-header__util--height);
    display: flex;
    /* justify-content: space-between; */
    justify-content: var(--iyeg-header__util--justify-content);
    align-items: center;
    padding: var(--iyeg-header-padding);
    font-size: var(--iyeg-header__util--font-size);
    /* border-bottom: 1px solid #222; */
    border-bottom: var(--iyeg-header__util--border-bottom);
  }
  
  .iyeg-utility-info {
    display: flex;
    gap: 1.25rem;
    align-items: center;
  }
  
  .iyeg-utility-info span {
    /* color: #bbb; */
    color: var(--iyeg-header__util--text-color);
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
  }
  
  /* .iyeg-utility-info i { color: var(--iyeg-active-green); } */
  .iyeg-utility-info i { 
    color: var(--iyeg-header__util--icon-color); 
  }
  
  
  
  .iyeg-utility-info a,
.iyeg-utility-info__phone,
.iyeg-utility-info__email {
  color: var(--iyeg-header__util--text-color);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.iyeg-utility-info a:hover,
.iyeg-utility-info__phone:hover,
.iyeg-utility-info__email:hover {
  opacity: 0.8;
  color: var(--iyeg-header__util--text-color);
}

  
  /* Main Header */
  .iyeg-main-header {
    /* background: var(--iyeg-header-bg); */
    background: var(--iyeg-header__main--bg);
    height: 4rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--iyeg-header-padding);
  }

  .iyeg-main-header a.iyeg-logo {
    line-height: 0;
  }
  
  .iyeg-logo img { 
    height: var(--iyeg-header__main--logo-height); 
    width: auto;
    padding: 0;
    margin: 0;
  }
  
  /* Navigation */
  .iyeg-nav-links {
    display: flex;
    align-items: center;
    gap: 2.1875rem;
  }
  
  .iyeg-nav-links a {
    text-decoration: none;
    color: var(--iyeg-header__main--text-color);
    /*font-weight: 600;*/
    font-weight: 500;
    font-size: var(--iyeg-header__main--font-size);
    letter-spacing: 1px;
    position: relative;
    padding-bottom: 4px;
    /* transition: color var(--iyeg-transition-base); */
    transition: color 0.3s ease;
  }
  
  .iyeg-nav-links a:not(.iyeg-btn)::after {
    content: '';
    position: absolute;
    width: 0;
    /*height: 2px;*/
    height: 1px;
    bottom: 0;
    left: 0;
    /* background-color: var(--iyeg-active-green); */
    background-color:var(--iyeg-header__main--underline-color);
    /* transition: width var(--iyeg-transition-base) cubic-bezier(0.4, 0, 0.2, 1); */
    transition: width 0.3s ease cubic-bezier(0.4, 0, 0.2, 1);
  }
  
  /* .iyeg-nav-links a:hover { color: var(--iyeg-active-green); } */
  .iyeg-nav-links a:hover { 
    color: var(--iyeg-header__main--text-hover-color); 
  }
  
  .iyeg-nav-links a:hover::after {
    opacity: 1;
    animation: iyeg-expandUnderline 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  }
  
  .iyeg-nav-links a.active {
    color: var(--iyeg-header__main--nav-active-color);
  }
  
  .iyeg-nav-links a.active::after {
    width: 100%;
    background-color: var(--iyeg-header__main--nav-active-color);
    opacity: 1;
    animation: none;
  }
  
  .iyeg-menu-trigger {
    display: none;
    color: var(--iyeg-header__side-menu--hamburger-color);
    font-size: 1.5rem;
    cursor: pointer;
    background: none;
    border: none;
    width: 24px;
    height: 24px;
  }
  
  /* Mobile Side Menu */
  .iyeg-side-menu {
    position: fixed;
    top: 0;
    right: -320px;
    width: 100%;
    max-width: 320px;
    height: 100%;
    max-height: 100vh;
    background: var(--iyeg-header__side-menu--bg);
    z-index: 2000;
    padding: 5rem 2.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
    transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }
  
  .iyeg-side-menu.active { right: 0; }
  
  .iyeg-side-menu__header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
  }
  
  .iyeg-side-menu__logo { margin-right: auto; }
  
  .iyeg-side-menu__logo img { height: var(--iyeg-header__side-menu--logo-height); }
  
  .iyeg-side-menu__close {
    position: absolute !important;
    top: 0.5rem !important;
    right: 0.5rem !important;
    background: none;
    border: none;
    color: var(--iyeg-header__side-menu--close-icon-color);
    font-size: 2rem;
    cursor: pointer;
    padding: 0.5rem;
    line-height: 1;
    /* transition: all var(--iyeg-transition-fast); */
    transition: all 0.2s ease;
    border-radius: 50%;
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .iyeg-side-menu__close:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--iyeg-header__side-menu--close-icon-color);
    transform: scale(1.1);
  }
  
  .iyeg-side-menu__contact {
    margin-top: auto;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
  }
  
  .iyeg-side-menu__contact p {
    /* color: #bbb; */
    color: rgba(255, 255, 255, 0.8);
    font-size: var(--iyeg-font-size-sm);
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
  
  .iyeg-side-menu__contact i {
    color: rgba(255, 255, 255, 0.8);
    width: 1rem;
  }
  
  .iyeg-side-menu .iyeg-menu-link {
    color: var(--iyeg-header__main--text-color);
    text-decoration: none;
    font-size: var(--iyeg-font-size-sm);
    font-family: "Inter", sans-serif;
    text-transform: uppercase;
    transition: color var(--iyeg-transition-base);
    position: relative;
    padding: 0.5rem 0;
    display: inline-block;
  }
  
  .iyeg-side-menu .iyeg-menu-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 1px;
    bottom: 4px;
    left: 0;
    background-color: var(--iyeg-header__main--underline-color);
    opacity: 0;
  }
  
  .iyeg-side-menu .iyeg-menu-link:hover { color: var(--iyeg-header__main--text-hover-color); }
  
  .iyeg-side-menu .iyeg-menu-link:hover::after {
    opacity: 1;
    animation: iyeg-expandUnderline 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  }
  
  .iyeg-side-menu .iyeg-menu-link.active {
    color: var(--iyeg-header__main--nav-active-color);
  }
  
  .iyeg-side-menu .iyeg-menu-link.active::after {
    width: 100%;
    opacity: 1;
    animation: none;
  }
  
  /* .iyeg-side-menu .iyeg-btn--primary:hover {
    background-color: var(--iyeg-hover-green);
    transform: translateY(-1px);
    color: var(--iyeg-dark-text) !important;
  } */
  
  @media (hover: none) and (pointer: coarse) {
    .iyeg-side-menu a:active::after { width: 100%; }
  }