/* Header and Mega Menu styles extracted for modularity */

/* Base header and navigation */
.masthead-sentinel{ margin-bottom:0px; }
.main-navigation {
  text-align: right;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
}
.site-header .site-branding img{ width:250px !important; }
.site-header{ padding:13px 0 !important; }
header#masthead {
  background-color: #123458 !important;
  box-shadow: none !important;
  position: relative;
  width: 100%;
  z-index: 999;
  border-bottom:1px solid transparent;
  height: 75px;
}
.main-navigation ul li a {
  font-family: "Bai Jamjuree", sans-serif;
  font-size: 18px;
  color:#f7f7f7;
  transition: all .4s ease;
  text-transform: none;
  font-weight: 500;
  letter-spacing: normal;
}
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link{
  font-weight: 500 !important;
  font-family: "Bai Jamjuree", sans-serif;
}
span.mega-indicator { color: #fe9e06; }
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item a[class^="dashicons"]:before,
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-current-menu-item a[class^="dashicons"]:before,
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-current-page-ancestor a[class^="dashicons"]:before,
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-current-menu-parent a[class^="dashicons"]:before { 
    color: #fe9e06 !important;
    content: "\f345" !important;
    font-family: dashicons !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin-right: 5px !important;
}
/* Pillar link style */
#mega-menu-menu-1 li.pillar-link > a.mega-menu-link{
  color: #FFC247 !important;                 /* your yellow */
  font-size: 21px!important;
  font-weight: 500;
  line-height: 2 !important;
}

/* Hover/focus state */
#mega-menu-menu-1 li.pillar-link > a.mega-menu-link:hover,
#mega-menu-menu-1 li.pillar-link > a.mega-menu-link:focus{
  color: #FFD978 !important;
  text-decoration: none;
}


/* Level-2 items (children of a pillar) */
#mega-menu-menu-1 li.pillar-link > ul.mega-sub-menu
> li.mega-menu-item:not(.mega-menu-item-has-children)
> a.mega-menu-link{
  font-size: 17px !important;
  font-weight: 300 !important;
  color: #E6ECF5 !important;
  line-height: 1.35 !important;
  padding: 6px 0 !important;
  display: block !important;
}
#mega-menu-menu-1 li.pillar-link > ul.mega-sub-menu
> li.mega-menu-item:not(.mega-menu-item-has-children)
> a.mega-menu-link:hover,
#mega-menu-menu-1 li.pillar-link > ul.mega-sub-menu
> li.mega-menu-item:not(.mega-menu-item-has-children)
> a.mega-menu-link:focus{
  color: #FFC247 !important;
  /*background: rgba(255,194,71,.10) !important;*/
  border-radius: 4px !important;
  text-decoration: none !important;
}



li.current-menu-item > a{ color:#FE9E06 !important; }
.masthead-sentinel, .site-header { margin-bottom: 0px; }

/* Let's Talk Button */
.lets-talk-btn {
  background-color: #FE9E06;
  color: #fff;
  font-weight: 600;
  padding: 5px 35px;
  border-radius: 17px 19px 17px 17px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  gap: 10px;
  transition: background 0.3s ease;
  box-shadow: 0 2px 4px rgba(0,0,0,0.15);
}
.lets-talk-btn:hover { background-color: #e17d10; }
.lets-talk-btn .btn-icon { width: 18px; height: 18px; object-fit: contain; }

/* Mega menu adjustments */
#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu{ margin-top: 1%; }

/* Mobile (<=767px) */
@media (max-width:767px) {
  body .site-header .site-branding { 
    max-width: none !important;
    width: auto !important;
  }
  body .site-header .site-branding img { 
    width: 220px !important;
    height: 65px !important;
    object-fit: contain !important;
    margin-top: 5px !important;
  }
  #mobile-menu-button svg path { fill: #fcb034; }
  #mobile-menu-button { position: absolute; right: 20px; top: 10px; }
  #mobile-navigation ul li a { color: #0063CC !important; font-family: "Poppins", sans-serif; }
  #mobile-navigation i.icon-angle-down { border: solid #0063CC; border-width: 0 3px 3px 0; display:inline-block; padding:3px; transform: rotate(45deg); -webkit-transform: rotate(45deg); }
  #mobile-navigation { background: #F5FAFF; }
  body header#masthead { height: 85px !important; } /* Increased header height to accommodate larger logo */
}

/* Small phones (<=480px) */
@media (max-width: 480px) {
  a.lets-talk-btn { display: none !important; }
  .main-navigation { position: absolute; right: 10px; top: 10px; }
  #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu{ padding:0px !important; }
  body .site-header .site-branding img { 
    width: auto !important;
    height: 65px !important;
    object-fit: contain !important;
    margin-top: -8px !important;
  }
}

/* Tablets (768px–1024px) */
@media (min-width:768px) and (max-width:1024px) {
  #mega-menu-wrap-menu-1 #mega-menu-menu-1{ flex-wrap: nowrap; font-size: 14px; }
  #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link{ font-size: small; }
  .site-header{ padding: 0 !important; }
  img.custom-logo { height: auto; width: 80px; }
  .second-logo { height: 65px !important; width: 50px; }
  #mobile-menu-button svg path { fill: #0063CC; }
  #mobile-menu-button { position: absolute; right: 20px; top: 10px; }
  #mobile-navigation ul li a { color: #0063CC; font-family: "Poppins", sans-serif; }
  #mobile-navigation i.icon-angle-down { border: solid #0063CC; border-width: 0 3px 3px 0; display:inline-block; padding:3px; transform: rotate(45deg); -webkit-transform: rotate(45deg); }
  #mobile-navigation { background: #F5FAFF; }
}

/* Hide alt logo on smaller screens */
@media (max-width:768px){ .second-logo{ display:none !important; } }

/* Medium-Large screens (1027px-1490px) - Only adjust main navigation, keep submenu same as large screens */
@media (min-width: 1027px) and (max-width: 1490px) {
  /* Adjusted font sizes */
  .main-navigation ul li a {
    font-size: 15px !important;
  }
  #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link {
    font-size: 15px !important;
    padding: 0 10px !important;
  }
  
  /* Adjusted navigation spacing */
  /*.main-navigation ul li {*/
  /*  margin: 0 15px -10px 0 !important;*/
  /*}*/
  
  /* Further reduce logo size */
  .site-header .site-branding img {
    width: 200px !important;
  }
  
  /* Adjust Let's Talk button */
  .lets-talk-btn {
    padding: 5px 20px;
    font-size: 14px;
  }
}



/* Mega menu alignment fixes: equal side padding + tighter column gaps */
@media (min-width: 768px) {
  /* Equal left/right padding for the mega panel */
  #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu {
    /*padding-left: 24px !important;*/
    padding-right: 24px !important;
  }

  /* Nudge inner row grid in from the edges */
  #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-grid > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* Reduce inter-column spacing for a centered, compact look */
  #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-grid > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  /* Align columns: left & center right-aligned; right column left-aligned */
  #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-grid > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column {
    text-align: right;
  }
  #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-grid > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column:last-child {
    text-align: left ;
  }
}

/* Large screens (>1490px) */
@media (min-width: 1491px) {
  /* Symmetric side padding and vertical spacing for large screens */
  #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu {
    padding: 40px 200px 80px !important; /* top, sides, bottom */
  }

  /* Slight inner padding and tighter inter-column spacing */
  #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-grid > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-grid > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column {
    padding-left: 12px !important;
    padding-right: 12px !important;
    text-align: right; /* left & center */
  }
  #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-grid > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column:last-child {
    text-align: left; /* right column */
  }
  
  /* Full navigation margins for large screens */
  .main-navigation ul li {
    margin: 0 40px -10px 0;
  }
}



/* iPad Air (portrait ~820px) */
@media (min-width:800px) and (max-width:900px) {
  .site-header .site-header-inner { display:flex; align-items: center; min-height:75px; }
  .site-header .site-branding { display:flex; align-items:center; }
  .header-talk-btn { display: flex; align-items: center; }
  .site-header .site-branding img { width:155px !important; }
  .main-navigation { gap:10px; align-items:center; }

  #mega-menu-wrap-menu-1 #mega-menu-menu-1 { flex-wrap: nowrap !important; }
  #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li { margin:0 8px 0 0 !important; }
  #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link {
    font-size:13px !important;
    white-space:nowrap !important;
    padding:0 4px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    line-height:1 !important;
    display:flex; align-items:center;
  }

  /* Icon-only button to save space */
  .lets-talk-btn { font-size:0; padding:8px; width:36px; height:36px; border-radius:6px; gap:0; justify-content:center; align-items:center; }
  .lets-talk-btn .btn-icon { width:18px; height:18px; }
}

/* iPad Pro (portrait 1024px) */
@media (min-width:1000px) and (max-width:1060px) {
  .site-header .site-header-inner { display:flex; align-items: center; min-height:75px; }
  .site-header .site-branding { display:flex; align-items:center; }
  .header-talk-btn { display: flex; align-items: center; }
  .site-header .site-branding img { width:175px !important; }
  .main-navigation { gap:12px; align-items:center; }

  #mega-menu-wrap-menu-1 #mega-menu-menu-1 { flex-wrap: nowrap !important; }
  #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li { margin:0 10px 0 0 !important; }
  #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link {
    font-size:14px !important;
    white-space:nowrap !important;
    padding:0 6px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    line-height:1 !important;
    display:flex; align-items:center;
  }

  /* Icon-only button to save space */
  .lets-talk-btn { font-size:0; padding:9px; width:40px; height:40px; border-radius:6px; gap:0; justify-content:center; align-items:center; }
  .lets-talk-btn .btn-icon { width:20px; height:20px; }
}

/* Branding injected into Max Mega Menu mobile panel */
#mega-menu-wrap-menu-1 .mobile-menu-branding {
  padding: 12px 5px;
  /* background: #0e2a4c; match panel color */
  /*border-bottom: 1px solid rgba(255,255,255,.08);*/
  display: none; /* hidden until panel open to avoid double header */
}
#mega-menu-wrap-menu-1 .mobile-menu-branding .site-branding--offcanvas {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
#mega-menu-wrap-menu-1 .mobile-menu-branding .site-branding--offcanvas img {
  height: 45px !important;
  width: auto !important;
}

/* Only show branding when mobile panel is open
   Max Mega Menu adds `mega-menu-menu-1-mobile-open` to <body> on open */
@media (max-width: 1024px) {
  body.mega-menu-menu-1-mobile-open #mega-menu-wrap-menu-1 .mobile-menu-branding {
    display: block;
  }
  /* Place dropdown indicator next to text in off-canvas panel */
  #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
  }
  #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link > span.mega-indicator {
    position: static !important;
    margin-left: 4px !important;
    color: #fe9e06 !important;
  }
}
