/* STACKING FIX: keep universal header below existing top utility dropdowns. */
/* =========================================================
   PHC Mega Menu - Elementor / Theme Conflict Shield
   Keeps widget styles inside this widget and prevents common
   theme/header styles from overriding the menu.
   ========================================================= */
.elementor-widget-phcst_mega_menu,
.elementor-widget-phcst_mega_menu > .elementor-widget-container {
  overflow: visible !important;
}

.elementor-widget-phcst_mega_menu .phcmm-root {
  position: relative;
  z-index: 20;
  isolation: auto;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  font-family: var(--phcmm-font, inherit) !important;
  font-size: 16px;
  line-height: 1.5;
  text-align: left;
  text-transform: none;
  letter-spacing: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.elementor-widget-phcst_mega_menu .phcmm-root,
.elementor-widget-phcst_mega_menu .phcmm-root * {
  box-sizing: border-box !important;
}

.elementor-widget-phcst_mega_menu .phcmm-root :is(h1, h2, h3, h4, h5, h6, p) {
  margin-top: 0 !important;
  text-transform: none !important;
}

.elementor-widget-phcst_mega_menu .phcmm-root a {
  text-decoration: none !important;
  box-shadow: none;
  outline-offset: 3px;
}

.elementor-widget-phcst_mega_menu .phcmm-root img {
  border: 0 !important;
  box-shadow: none !important;
}

.elementor-widget-phcst_mega_menu .phcmm-root svg {
  max-width: none;
}

.elementor-widget-phcst_mega_menu .phcmm-root details,
.elementor-widget-phcst_mega_menu .phcmm-root summary {
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
}

/* Prevent theme button rules from changing widget anchors. */
.elementor-widget-phcst_mega_menu .phcmm-root .phcmm-btn,
.elementor-widget-phcst_mega_menu .phcmm-root .phcmm-feature__tool,
.elementor-widget-phcst_mega_menu .phcmm-root .phcmm-footer-btn,
.elementor-widget-phcst_mega_menu .phcmm-root .phcmm-mobile__action {
  -webkit-appearance: none;
  appearance: none;
  text-transform: none !important;
  letter-spacing: normal !important;
}


.phcmm-root{
  --phcmm-coral:#FF614F;
  --phcmm-red:#D34135;
  --phcmm-blue:#4A70C2;
  --phcmm-blue-light:#587FD2;
  --phcmm-navy:#113F80;
  --phcmm-ink:#102445;
  --phcmm-muted:#667085;
  --phcmm-line:#E6EAF1;
  --phcmm-soft:#F6F8FC;
  --phcmm-white:#FFFFFF;
  --phcmm-green:#2D9B61;
  --phcmm-feature-start:#153D78;
  --phcmm-feature-end:#0B2C5B;
  --phcmm-feature-angle:145deg;
  --phcmm-font:inherit;
  --phcmm-calculator-bg:#111111;
  --phcmm-calculator-hover-bg:#242424;
  --phcmm-calculator-text:#FFFFFF;
  --phcmm-calculator-hover-text:#FFFFFF;
  --phcmm-eligibility-bg:#FF614F;
  --phcmm-eligibility-hover-bg:#D34135;
  --phcmm-eligibility-text:#FFFFFF;
  --phcmm-eligibility-hover-text:#FFFFFF;
  --phcmm-button-gradient-start:#113F80;
  --phcmm-button-gradient-end:#587FD2;
  --phcmm-button-hover-gradient-start:#D34135;
  --phcmm-button-hover-gradient-end:#FF614F;
  --phcmm-button-gradient-angle:90deg;
  --phcmm-button-text:#FFFFFF;
  --phcmm-button-hover-text:#FFFFFF;
}

.phcmm-root, .phcmm-root *{box-sizing:border-box}

.phcmm-header,
.phcmm-header *{box-sizing:border-box}

.phcmm-header{
  position:relative;
  z-index:20;
  width:100%;
  background:#fff;
  border-top:0 !important;
  border-bottom:1px solid rgba(17,63,128,.10);
}

.phcmm-header__inner{
  width:min(100%,1460px);
  min-height:84px;
  margin:0 auto;
  padding:0 28px;
  display:grid;
  grid-template-columns:210px minmax(0,1fr) auto;
  align-items:center;
  gap:26px;
}

.phcmm-brand{
  display:inline-flex;
  align-items:center;
  color:var(--phcmm-navy);
  text-decoration:none;
  white-space:nowrap;
}

.phcmm-brand__logo{
  display:block;
  width:188px;
  max-width:100%;
  height:auto;
  max-height:68px;
  object-fit:contain;
  object-position:left center;
}


.phcmm-nav{
  height:84px;
  display:flex;
  align-items:stretch;
  justify-content:center;
  gap:2px;
}

.phcmm-nav__item{
  position:relative;
  display:flex;
  align-items:stretch;
}

.phcmm-nav__link{
  position:relative;
  padding:0 14px;
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--phcmm-ink);
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  transition:color .18s ease, background-color .18s ease, transform .18s ease;
}

/* Main navigation hover modes. Elementor can switch these without code. */
.phcmm-hover--color .phcmm-nav__link:after,
.phcmm-hover--pill .phcmm-nav__link:after,
.phcmm-hover--none .phcmm-nav__link:after{
  display:none;
}

.phcmm-hover--pill .phcmm-nav__link{
  align-self:center;
  min-height:42px;
}

.phcmm-hover--none .phcmm-nav__item:hover > .phcmm-nav__link,
.phcmm-hover--none .phcmm-nav__item:focus-within > .phcmm-nav__link{
  color:var(--phcmm-nav-normal, var(--phcmm-ink)) !important;
  background:transparent !important;
}

.phcmm-nav__link:after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:0;
  height:3px;
  border-radius:999px 999px 0 0;
  background:var(--phcmm-coral);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .18s ease;
}

.phcmm-nav__item:hover > .phcmm-nav__link,
.phcmm-nav__item:focus-within > .phcmm-nav__link{
  color:var(--phcmm-red);
}

.phcmm-nav__item:hover > .phcmm-nav__link:after,
.phcmm-nav__item:focus-within > .phcmm-nav__link:after{
  transform:scaleX(1);
}

.phcmm-caret{
  width:7px;
  height:7px;
  border-right:1.6px solid currentColor;
  border-bottom:1.6px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
}

/* Standard hover dropdown */
.phcmm-nav__dropdown{
  position:absolute;
  top:100%;
  right:0;
  width:248px;
  padding-top:12px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(9px);
  transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;
  z-index:60;
}

.phcmm-nav__dropdown-inner{
  overflow:hidden;
  border:1px solid rgba(17,63,128,.12);
  border-radius:14px;
  background:#fff;
  box-shadow:0 22px 48px rgba(17,39,75,.18);
}

.phcmm-nav__dropdown a{
  min-height:48px;
  padding:0 17px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  color:var(--phcmm-navy);
  text-decoration:none;
  font-size:12px;
  font-weight:700;
  border-bottom:1px solid var(--phcmm-line);
  transition:background .18s ease,color .18s ease,padding .18s ease;
}

.phcmm-nav__dropdown a:last-child{border-bottom:0}

.phcmm-nav__dropdown a:after{
  content:"";
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-top:1.5px solid currentColor;
  border-right:1.5px solid currentColor;
  transform:rotate(45deg);
  opacity:.55;
}

.phcmm-nav__dropdown a:hover,
.phcmm-nav__dropdown a:focus-visible{
  padding-left:21px;
  color:#fff;
  background:linear-gradient(90deg,#4A70C2 0%,#113F80 100%);
}

@media (hover:hover) and (pointer:fine) and (min-width:981px){
  .phcmm-nav__item--dropdown:hover .phcmm-nav__dropdown,
  .phcmm-nav__item--dropdown:focus-within .phcmm-nav__dropdown{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    transition-delay:0s;
  }
}

.phcmm-nav__item--dropdown:focus-within .phcmm-nav__dropdown,
.phcmm-preview-about-open .phcmm-nav__item--dropdown .phcmm-nav__dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
  transition-delay:0s;
}

.phcmm-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.phcmm-btn{
  min-height:44px;
  padding:0 17px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  text-decoration:none;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
  transition:transform .18s ease,box-shadow .18s ease;
}

.phcmm-btn:hover{transform:translateY(-2px)}
.phcmm-btn--blue{
  color:var(--phcmm-calculator-text) !important;
  -webkit-text-fill-color:var(--phcmm-calculator-text) !important;
  border:1px solid var(--phcmm-calculator-bg) !important;
  background:var(--phcmm-calculator-bg) !important;
  box-shadow:0 6px 16px rgba(0,0,0,.14);
}
.phcmm-btn--blue:hover{
  color:var(--phcmm-calculator-hover-text) !important;
  -webkit-text-fill-color:var(--phcmm-calculator-hover-text) !important;
  background:var(--phcmm-calculator-hover-bg) !important;
  border-color:var(--phcmm-calculator-hover-bg) !important;
  box-shadow:0 9px 20px rgba(0,0,0,.18);
}
.phcmm-btn--coral{
  color:var(--phcmm-eligibility-text) !important;
  -webkit-text-fill-color:var(--phcmm-eligibility-text) !important;
  border:1px solid var(--phcmm-eligibility-bg) !important;
  background:var(--phcmm-eligibility-bg) !important;
  box-shadow:0 9px 20px rgba(211,65,53,.18);
}

/* Mega menu */
.phcmm-mega{
  position:absolute;
  top:100%;
  left:50%;
  width:min(1240px,calc(100vw - 48px));
  padding-top:14px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,10px);
  transition:
    opacity .18s ease,
    transform .18s ease,
    visibility 0s linear .18s;
  z-index:60;
}

/* Mega-menu dropdown alignment only.
   Default keeps the panel positioned from the Services item.
   Center mode keeps the Services navigation link exactly where it is, while
   centering only the opened mega-menu panel across the full header. */
@media (min-width:981px){
  .phcmm-root.phcmm-mega-position-center .phcmm-header{
    position:relative;
  }

  .phcmm-root.phcmm-mega-position-center .phcmm-nav__item--mega{
    position:static;
  }

  .phcmm-root.phcmm-mega-position-center .phcmm-mega{
    left:50%;
    right:auto;
    margin-left:0;
  }
}

/* Desktop: open the full mega-menu when Services is hovered. */
@media (hover:hover) and (pointer:fine) and (min-width:981px){
  .phcmm-nav__item--mega:hover .phcmm-mega,
  .phcmm-nav__item--mega:focus-within .phcmm-mega{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate(-50%,0);
    transition-delay:0s;
  }
}

/* Keyboard access and forced-open preview state. */
.phcmm-nav__item--mega:focus-within .phcmm-mega,
.phcmm-preview-open .phcmm-mega{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
  transition-delay:0s;
}

.phcmm-mega__card{
  margin-top:0;
  overflow:hidden;
  border:1px solid rgba(17,63,128,.10);
  border-radius:20px;
  background:#fff;
  box-shadow:0 28px 70px rgba(17,39,75,.20);
}

.phcmm-mega__content{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 290px;
  align-items:stretch;
}

.phcmm-column{
  min-width:0;
  padding:24px 24px 22px;
  border-right:1px solid var(--phcmm-line);
}

.phcmm-column__head{
  min-height:54px;
  margin-bottom:10px;
  padding-bottom:14px;
  display:flex;
  align-items:center;
  gap:12px;
  border-bottom:1px solid var(--phcmm-line);
}

.phcmm-column__icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:11px;
  color:#2E75C2;
  background:#EAF5FF;
  box-shadow:inset 0 0 0 1px rgba(46,117,194,.08);
}

.phcmm-column--service .phcmm-column__icon{
  color:#E15A3C;
  background:#FFF1EC;
}

.phcmm-column--planning .phcmm-column__icon{
  color:#2B965A;
  background:#EAF8F0;
}

.phcmm-column__icon i{
  font-size:18px;
  line-height:1;
  color:currentColor;
}

.phcmm-column__icon svg{
  width:18px;
  height:18px;
  display:block;
  color:currentColor;
  fill:currentColor;
}

.phcmm-column__icon svg *{
  fill:currentColor;
  stroke:currentColor;
}

.phcmm-column__head strong{
  display:block;
  color:var(--phcmm-ink);
  font-size:14px;
  line-height:1.2;
  font-weight:800;
}

.phcmm-column__head small{
  display:block;
  margin-top:3px;
  color:var(--phcmm-muted);
  font-size:10px;
  line-height:1.35;
}

.phcmm-menu-links{
  display:grid;
  gap:2px;
}

.phcmm-menu-link{
  position:relative;
  min-height:40px;
  padding:9px 28px 9px 17px;
  display:flex;
  align-items:center;
  color:#3F4652;
  text-decoration:none;
  font-size:12px;
  line-height:1.35;
  font-weight:700;
  border-radius:8px;
  transition:color .16s ease,background .16s ease,transform .16s ease;
}

.phcmm-menu-link:before{
  content:"";
  position:absolute;
  left:3px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--phcmm-blue);
}

.phcmm-column--service .phcmm-menu-link:before{background:#E76A43}
.phcmm-column--planning .phcmm-menu-link:before{background:#2D9B61}

.phcmm-menu-link:after{
  content:"";
  position:absolute;
  right:10px;
  width:6px;
  height:6px;
  border-top:1.5px solid currentColor;
  border-right:1.5px solid currentColor;
  opacity:0;
  transform:translateX(-3px) rotate(45deg);
  transition:opacity .16s ease,transform .16s ease;
}

.phcmm-menu-link:hover,
.phcmm-menu-link:focus-visible{
  color:var(--phcmm-navy);
  background:#F6F9FD;
  transform:translateX(2px);
}

.phcmm-menu-link:hover:after,
.phcmm-menu-link:focus-visible:after{
  opacity:1;
  transform:translateX(0) rotate(45deg);
}

.phcmm-menu-link--primary{
  color:var(--phcmm-navy);
  background:#FFF6F3;
}

.phcmm-menu-link--primary:before{background:var(--phcmm-coral)}

/* Right feature panel */
.phcmm-feature{
  margin:14px;
  padding:20px;
  display:flex;
  flex-direction:column;
  border-radius:15px;
  color:#fff;
  background:
    radial-gradient(circle at 85% 10%,rgba(255,255,255,.12),transparent 34%),
    linear-gradient(145deg,#153D78 0%,#113F80 65%,#0B2C5B 100%);
  box-shadow:0 14px 30px rgba(17,63,128,.18);
}

.phcmm-feature__badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  color:#FFE0DB;
  background:rgba(255,97,79,.15);
  border:1px solid rgba(255,97,79,.40);
  font-size:9px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.phcmm-feature h3{
  margin:14px 0 8px;
  font-size:20px;
  line-height:1.18;
  letter-spacing:-.025em;
}

.phcmm-feature p{
  margin:0 0 14px;
  color:rgba(255,255,255,.78);
  font-size:11px;
  line-height:1.55;
}

.phcmm-feature__tool{
  min-height:44px;
  margin-top:8px;
  padding:0 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-radius:9px;
  color:var(--phcmm-calculator-text) !important;
  -webkit-text-fill-color:var(--phcmm-calculator-text) !important;
  text-decoration:none;
  font-size:11px;
  font-weight:800;
  border:1px solid var(--phcmm-calculator-bg) !important;
  background:var(--phcmm-calculator-bg) !important;
  box-shadow:0 6px 16px rgba(0,0,0,.16);
  transition:transform .16s ease,background .16s ease;
}

.phcmm-feature__tool:after{
  content:"";
  width:7px;
  height:7px;
  border-top:1.5px solid currentColor;
  border-right:1.5px solid currentColor;
  transform:rotate(45deg);
}

.phcmm-feature__tool:hover{
  transform:translateX(3px);
  color:var(--phcmm-calculator-hover-text) !important;
  -webkit-text-fill-color:var(--phcmm-calculator-hover-text) !important;
  background:var(--phcmm-calculator-hover-bg) !important;
  border-color:var(--phcmm-calculator-hover-bg) !important;
}

.phcmm-feature__tool--coral{
  color:var(--phcmm-eligibility-text) !important;
  -webkit-text-fill-color:var(--phcmm-eligibility-text) !important;
  border-color:var(--phcmm-eligibility-bg) !important;
  background:var(--phcmm-eligibility-bg) !important;
}
.phcmm-feature__tool--coral:hover{
  color:var(--phcmm-eligibility-hover-text) !important;
  -webkit-text-fill-color:var(--phcmm-eligibility-hover-text) !important;
  border-color:var(--phcmm-eligibility-hover-bg) !important;
  background:var(--phcmm-eligibility-hover-bg) !important;
}


/* Bottom action strip */
.phcmm-mega__footer{
  min-height:68px;
  padding:12px 20px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:18px;
  border-top:1px solid var(--phcmm-line);
  background:#FBFCFE;
}

.phcmm-help{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.phcmm-help__icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--phcmm-coral);
  background:#FFF1ED;
}

.phcmm-help__icon svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.phcmm-help strong{
  display:block;
  color:var(--phcmm-ink);
  font-size:12px;
  line-height:1.2;
  font-weight:800;
}

.phcmm-help small{
  display:block;
  margin-top:3px;
  color:var(--phcmm-muted);
  font-size:10px;
  line-height:1.3;
}

.phcmm-footer-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--phcmm-ink);
  text-decoration:none;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}

.phcmm-footer-link:after{
  content:"";
  width:6px;
  height:6px;
  border-top:1.5px solid currentColor;
  border-right:1.5px solid currentColor;
  transform:rotate(45deg);
}

.phcmm-footer-btn{
  min-height:40px;
  padding:0 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  color:var(--phcmm-eligibility-text) !important;
  -webkit-text-fill-color:var(--phcmm-eligibility-text) !important;
  text-decoration:none;
  font-size:11px;
  font-weight:800;
  border:1px solid var(--phcmm-eligibility-bg) !important;
  background:var(--phcmm-eligibility-bg) !important;
  box-shadow:0 8px 18px rgba(211,65,53,.16);
  white-space:nowrap;
}


.phcmm-mobile-toggle,
.phcmm-mobile-check,
.phcmm-mobile{display:none}

@media (max-width:1180px){
  .phcmm-header__inner{grid-template-columns:auto 1fr;gap:18px}
  .phcmm-actions{display:none}
  .phcmm-mega__content{grid-template-columns:repeat(3,minmax(0,1fr)) 260px}
  .phcmm-column{padding:20px 16px}
}

@media (max-width:980px){
  .phcmm-nav{display:none}
  .phcmm-header__inner{
    grid-template-columns:minmax(150px,190px) 1fr auto;
    justify-content:space-between;
  }

  .phcmm-mobile-check{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none;
  }

  .phcmm-mobile-toggle{
    display:flex;
    width:46px;
    height:46px;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(17,63,128,.16);
    border-radius:12px;
    background:#fff;
    cursor:pointer;
    box-shadow:0 7px 18px rgba(17,39,75,.06);
  }

  .phcmm-mobile-toggle span,
  .phcmm-mobile-toggle span:before,
  .phcmm-mobile-toggle span:after{
    width:21px;
    height:2px;
    display:block;
    border-radius:999px;
    background:var(--phcmm-navy);
  }

  .phcmm-mobile-toggle span{position:relative}
  .phcmm-mobile-toggle span:before,
  .phcmm-mobile-toggle span:after{
    content:"";
    position:absolute;
    left:0;
  }
  .phcmm-mobile-toggle span:before{top:-7px}
  .phcmm-mobile-toggle span:after{top:7px}

  .phcmm-mobile{
    position:fixed;
    inset:0;
    z-index:20000;
    display:block;
    background:rgba(9,27,55,.46);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .22s ease,visibility 0s linear .22s;
  }

  .phcmm-mobile__panel{
    width:min(100%,430px);
    height:100%;
    margin-left:auto;
    display:flex;
    flex-direction:column;
    background:#fff;
    transform:translateX(100%);
    transition:transform .28s cubic-bezier(.22,.8,.26,1);
    box-shadow:-24px 0 55px rgba(17,39,75,.18);
  }

  .phcmm-mobile-check:checked ~ .phcmm-mobile{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition-delay:0s;
  }

  .phcmm-mobile-check:checked ~ .phcmm-mobile .phcmm-mobile__panel{
    transform:translateX(0);
  }

  .phcmm-mobile__head{
    min-height:78px;
    padding:10px 20px 10px 22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    border-bottom:1px solid var(--phcmm-line);
    flex:0 0 auto;
  }

  .phcmm-mobile__brand{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
  }

  .phcmm-mobile__logo{
    display:block;
    width:150px;
    max-width:100%;
    height:54px;
    object-fit:contain;
    object-position:left center;
  }

  .phcmm-mobile__close{
    position:relative;
    width:46px;
    height:46px;
    flex:0 0 46px;
    display:grid;
    place-items:center;
    border:1px solid rgba(17,63,128,.15);
    border-radius:12px;
    background:#fff;
    cursor:pointer;
  }

  .phcmm-mobile__close:before,
  .phcmm-mobile__close:after{
    content:"";
    position:absolute;
    width:20px;
    height:2px;
    border-radius:999px;
    background:var(--phcmm-navy);
  }
  .phcmm-mobile__close:before{transform:rotate(45deg)}
  .phcmm-mobile__close:after{transform:rotate(-45deg)}

  .phcmm-mobile__body{
    min-height:0;
    padding:8px 22px 18px;
    overflow-y:auto;
    overscroll-behavior:contain;
    flex:1 1 auto;
  }

  .phcmm-mobile__nav{
    display:block;
  }

  .phcmm-mobile__item,
  .phcmm-mobile__nav > a,
  .phcmm-mobile__nav summary{
    margin:0;
  }

  .phcmm-mobile__nav > a,
  .phcmm-mobile__nav summary{
    min-height:54px;
    padding:0 4px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    color:var(--phcmm-ink);
    text-decoration:none;
    font-size:16px;
    font-weight:700;
    line-height:1.2;
    border-bottom:1px solid var(--phcmm-line);
  }

  .phcmm-mobile__nav summary{
    list-style:none;
    cursor:pointer;
  }
  .phcmm-mobile__nav summary::-webkit-details-marker{display:none}

  .phcmm-mobile__chevron{
    width:9px;
    height:9px;
    flex:0 0 9px;
    border-right:2px solid #7A879B;
    border-bottom:2px solid #7A879B;
    transform:translateY(-2px) rotate(45deg);
    transition:transform .18s ease;
  }

  .phcmm-mobile__item[open] > summary .phcmm-mobile__chevron{
    transform:translateY(2px) rotate(225deg);
  }

  .phcmm-mobile__sub{
    padding:0 0 0 20px;
  }

  .phcmm-mobile__sub a{
    min-height:51px;
    padding:0 4px;
    display:flex;
    align-items:center;
    color:var(--phcmm-ink);
    text-decoration:none;
    font-size:15px;
    font-weight:600;
    line-height:1.3;
    border-bottom:1px solid var(--phcmm-line);
  }

  .phcmm-mobile__sub a:hover,
  .phcmm-mobile__nav > a:hover,
  .phcmm-mobile__nav summary:hover{
    color:var(--phcmm-blue);
  }

  .phcmm-mobile__actions{
    padding:16px 22px 18px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    border-top:1px solid var(--phcmm-line);
    background:#fff;
    flex:0 0 auto;
  }

  .phcmm-mobile__action{
    min-height:54px;
    padding:10px 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    border-radius:12px;
    text-decoration:none;
    font-size:13px;
    font-weight:800;
    line-height:1.2;
  }

  .phcmm-mobile__action--outline{
    color:var(--phcmm-calculator-text) !important;
    -webkit-text-fill-color:var(--phcmm-calculator-text) !important;
    border:1px solid var(--phcmm-calculator-bg) !important;
    background:var(--phcmm-calculator-bg) !important;
    box-shadow:0 6px 16px rgba(0,0,0,.14);
  }

  .phcmm-mobile__action--solid{
    color:var(--phcmm-eligibility-text) !important;
    -webkit-text-fill-color:var(--phcmm-eligibility-text) !important;
    border:1px solid var(--phcmm-eligibility-bg) !important;
    background:var(--phcmm-eligibility-bg) !important;
    box-shadow:0 10px 22px rgba(211,65,53,.18);
  }
}

@media (max-width:1180px){
  .phcmm-header__inner{
    grid-template-columns:174px minmax(0,1fr) auto;
    gap:18px;
  }
  .phcmm-brand__logo{width:170px;max-height:60px}
}

@media (max-width:980px){
  .phcmm-header__inner{
    grid-template-columns:minmax(150px,190px) 1fr auto;
  }
  .phcmm-brand__logo{width:180px;max-height:62px}
}

@media (max-width:640px){
  .phcmm-header__inner{
    min-height:74px;
    padding:0 18px;
    grid-template-columns:minmax(138px,170px) 1fr auto;
  }
  .phcmm-brand__logo{width:165px;max-height:56px}
}


/* Mobile header refinement */
@media (max-width:980px){
  .phcmm-header{
    border-top:0 !important;
    border-bottom:1px solid rgba(17,63,128,.10);
    box-shadow:0 5px 18px rgba(17,39,75,.05);
  }

  .phcmm-header__inner{
    width:100%;
    min-height:76px;
    padding:0 20px;
    grid-template-columns:auto minmax(12px,1fr) auto;
    gap:16px;
  }

  .phcmm-brand{
    grid-column:1;
    justify-self:start;
    min-width:0;
  }

  .phcmm-brand__logo{
    width:152px;
    max-width:152px;
    max-height:58px;
    object-fit:contain;
    object-position:left center;
  }

  .phcmm-mobile-toggle{
    grid-column:3;
    justify-self:end;
    width:46px;
    height:46px;
    flex:0 0 46px;
    border:1px solid rgba(17,63,128,.16);
    border-radius:12px;
    background:#fff;
    box-shadow:0 6px 16px rgba(17,39,75,.06);
  }

  .phcmm-mobile-toggle:hover{
    border-color:rgba(17,63,128,.28);
    background:#F8FAFD;
  }
}

@media (max-width:480px){
  .phcmm-header__inner{
    min-height:74px;
    padding:0 16px;
    gap:14px;
  }

  .phcmm-brand__logo{
    width:145px;
    max-width:145px;
    max-height:55px;
  }

  .phcmm-mobile-toggle{
    width:46px;
    height:46px;
    flex-basis:46px;
  }
}



/* =========================================================
   v1.6.1 FINAL THEME CONFLICT SHIELD
   Loaded last on purpose. Uses widget variables so Elementor
   style controls still work while theme link styles cannot win.
   ========================================================= */
.elementor-widget-phcst_mega_menu .phcmm-root .phcmm-header {
  border-top:0 !important;
}

/* Rebate Calculator: header, feature panel and mobile. */
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-btn--blue,
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-feature__tool:not(.phcmm-feature__tool--coral),
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-mobile__action--outline {
  color:var(--phcmm-calculator-text) !important;
  -webkit-text-fill-color:var(--phcmm-calculator-text) !important;
  background:var(--phcmm-calculator-bg) !important;
  border-color:var(--phcmm-calculator-bg) !important;
  text-decoration:none !important;
  text-shadow:none !important;
}
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-btn--blue:hover,
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-feature__tool:not(.phcmm-feature__tool--coral):hover,
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-mobile__action--outline:hover {
  color:var(--phcmm-calculator-hover-text) !important;
  -webkit-text-fill-color:var(--phcmm-calculator-hover-text) !important;
  background:var(--phcmm-calculator-hover-bg) !important;
  border-color:var(--phcmm-calculator-hover-bg) !important;
}

/* Eligibility Checker: header, feature panel, footer and mobile. */
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-btn--coral,
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-feature__tool--coral,
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-footer-btn,
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-mobile__action--solid {
  color:var(--phcmm-eligibility-text) !important;
  -webkit-text-fill-color:var(--phcmm-eligibility-text) !important;
  background:var(--phcmm-eligibility-bg) !important;
  border-color:var(--phcmm-eligibility-bg) !important;
  text-decoration:none !important;
  text-shadow:none !important;
}
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-btn--coral:hover,
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-feature__tool--coral:hover,
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-footer-btn:hover,
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-mobile__action--solid:hover {
  color:var(--phcmm-eligibility-hover-text) !important;
  -webkit-text-fill-color:var(--phcmm-eligibility-hover-text) !important;
  background:var(--phcmm-eligibility-hover-bg) !important;
  border-color:var(--phcmm-eligibility-hover-bg) !important;
}

/* Rebate panel copy: protects headings from global h3/a color rules. */
.elementor-widget-phcst_mega_menu .phcmm-root .phcmm-feature,
.elementor-widget-phcst_mega_menu .phcmm-root .phcmm-feature h3,
.elementor-widget-phcst_mega_menu .phcmm-root .phcmm-feature__badge {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-shadow:none !important;
}
.elementor-widget-phcst_mega_menu .phcmm-root .phcmm-feature p {
  color:rgba(255,255,255,.82) !important;
  -webkit-text-fill-color:rgba(255,255,255,.82) !important;
  text-shadow:none !important;
}


/* =========================================================
   v1.8.0 INDEPENDENT CTA GRADIENTS + LOGO WIDTH FIX
   Every visible CTA has its own Elementor gradient variables.
   The final selectors are intentionally strong so theme button
   styles cannot overwrite the widget.
   ========================================================= */

/* Logo width fix: the old fixed grid/max-width rules prevented the
   Elementor Logo Width slider from growing the image. */
.elementor-widget-phcst_mega_menu .phcmm-root .phcmm-header__inner{
  grid-template-columns:max-content minmax(0,1fr) auto !important;
}
.elementor-widget-phcst_mega_menu .phcmm-root .phcmm-brand{
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
}
.elementor-widget-phcst_mega_menu .phcmm-root .phcmm-brand__logo{
  width:var(--phcmm-logo-width,188px) !important;
  max-width:none !important;
  max-height:none !important;
  height:auto !important;
  object-fit:contain !important;
}
.elementor-widget-phcst_mega_menu .phcmm-root .phcmm-mobile__logo{
  width:var(--phcmm-mobile-logo-width,150px) !important;
  max-width:none !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
}

/* Shared button safety only. Colors/gradients are set per button below. */
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-btn,
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-feature__tool,
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-footer-btn,
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-mobile__action{
  border-color:transparent !important;
  text-decoration:none !important;
  text-shadow:none !important;
  background-clip:padding-box !important;
}

/* Header - Rebate Calculator */
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-btn--blue{
  color:var(--phcmm-header-calc-text,#fff) !important;
  -webkit-text-fill-color:var(--phcmm-header-calc-text,#fff) !important;
  background-color:var(--phcmm-header-calc-start,#111111) !important;
  background-image:linear-gradient(var(--phcmm-button-gradient-angle,90deg),var(--phcmm-header-calc-start,#111111) 0%,var(--phcmm-header-calc-end,#242424) 100%) !important;
}
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-btn--blue:hover,
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-btn--blue:focus-visible{
  color:var(--phcmm-header-calc-hover-text,#fff) !important;
  -webkit-text-fill-color:var(--phcmm-header-calc-hover-text,#fff) !important;
  background-color:var(--phcmm-header-calc-hover-start,#242424) !important;
  background-image:linear-gradient(var(--phcmm-button-gradient-angle,90deg),var(--phcmm-header-calc-hover-start,#242424) 0%,var(--phcmm-header-calc-hover-end,#111111) 100%) !important;
}

/* Header - Eligibility Checker */
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-btn--coral{
  color:var(--phcmm-header-elig-text,#fff) !important;
  -webkit-text-fill-color:var(--phcmm-header-elig-text,#fff) !important;
  background-color:var(--phcmm-header-elig-start,#FF614F) !important;
  background-image:linear-gradient(var(--phcmm-button-gradient-angle,90deg),var(--phcmm-header-elig-start,#FF614F) 0%,var(--phcmm-header-elig-end,#D34135) 100%) !important;
}
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-btn--coral:hover,
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-btn--coral:focus-visible{
  color:var(--phcmm-header-elig-hover-text,#fff) !important;
  -webkit-text-fill-color:var(--phcmm-header-elig-hover-text,#fff) !important;
  background-color:var(--phcmm-header-elig-hover-start,#D34135) !important;
  background-image:linear-gradient(var(--phcmm-button-gradient-angle,90deg),var(--phcmm-header-elig-hover-start,#D34135) 0%,var(--phcmm-header-elig-hover-end,#FF614F) 100%) !important;
}

/* Mega panel - Rebate Calculator */
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-feature__tool:not(.phcmm-feature__tool--coral){
  color:var(--phcmm-panel-calc-text,#fff) !important;
  -webkit-text-fill-color:var(--phcmm-panel-calc-text,#fff) !important;
  background-color:var(--phcmm-panel-calc-start,#113F80) !important;
  background-image:linear-gradient(var(--phcmm-button-gradient-angle,90deg),var(--phcmm-panel-calc-start,#113F80) 0%,var(--phcmm-panel-calc-end,#4A70C2) 100%) !important;
}
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-feature__tool:not(.phcmm-feature__tool--coral):hover,
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-feature__tool:not(.phcmm-feature__tool--coral):focus-visible{
  color:var(--phcmm-panel-calc-hover-text,#fff) !important;
  -webkit-text-fill-color:var(--phcmm-panel-calc-hover-text,#fff) !important;
  background-color:var(--phcmm-panel-calc-hover-start,#0B2E62) !important;
  background-image:linear-gradient(var(--phcmm-button-gradient-angle,90deg),var(--phcmm-panel-calc-hover-start,#0B2E62) 0%,var(--phcmm-panel-calc-hover-end,#113F80) 100%) !important;
}

/* Mega panel - Eligibility Checker */
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-feature__tool--coral{
  color:var(--phcmm-panel-elig-text,#fff) !important;
  -webkit-text-fill-color:var(--phcmm-panel-elig-text,#fff) !important;
  background-color:var(--phcmm-panel-elig-start,#FF614F) !important;
  background-image:linear-gradient(var(--phcmm-button-gradient-angle,90deg),var(--phcmm-panel-elig-start,#FF614F) 0%,var(--phcmm-panel-elig-end,#D34135) 100%) !important;
}
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-feature__tool--coral:hover,
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-feature__tool--coral:focus-visible{
  color:var(--phcmm-panel-elig-hover-text,#fff) !important;
  -webkit-text-fill-color:var(--phcmm-panel-elig-hover-text,#fff) !important;
  background-color:var(--phcmm-panel-elig-hover-start,#D34135) !important;
  background-image:linear-gradient(var(--phcmm-button-gradient-angle,90deg),var(--phcmm-panel-elig-hover-start,#D34135) 0%,var(--phcmm-panel-elig-hover-end,#C9362B) 100%) !important;
}

/* Mega menu bottom - Check Eligibility */
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-footer-btn{
  color:var(--phcmm-footer-elig-text,#fff) !important;
  -webkit-text-fill-color:var(--phcmm-footer-elig-text,#fff) !important;
  background-color:var(--phcmm-footer-elig-start,#FF614F) !important;
  background-image:linear-gradient(var(--phcmm-button-gradient-angle,90deg),var(--phcmm-footer-elig-start,#FF614F) 0%,var(--phcmm-footer-elig-end,#D34135) 100%) !important;
}
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-footer-btn:hover,
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-footer-btn:focus-visible{
  color:var(--phcmm-footer-elig-hover-text,#fff) !important;
  -webkit-text-fill-color:var(--phcmm-footer-elig-hover-text,#fff) !important;
  background-color:var(--phcmm-footer-elig-hover-start,#D34135) !important;
  background-image:linear-gradient(var(--phcmm-button-gradient-angle,90deg),var(--phcmm-footer-elig-hover-start,#D34135) 0%,var(--phcmm-footer-elig-hover-end,#C9362B) 100%) !important;
}

/* Mobile - Rebate Calculator */
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-mobile__action--outline{
  color:var(--phcmm-mobile-calc-text,#fff) !important;
  -webkit-text-fill-color:var(--phcmm-mobile-calc-text,#fff) !important;
  background-color:var(--phcmm-mobile-calc-start,#111111) !important;
  background-image:linear-gradient(var(--phcmm-button-gradient-angle,90deg),var(--phcmm-mobile-calc-start,#111111) 0%,var(--phcmm-mobile-calc-end,#242424) 100%) !important;
}
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-mobile__action--outline:hover,
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-mobile__action--outline:focus-visible{
  color:var(--phcmm-mobile-calc-hover-text,#fff) !important;
  -webkit-text-fill-color:var(--phcmm-mobile-calc-hover-text,#fff) !important;
  background-color:var(--phcmm-mobile-calc-hover-start,#242424) !important;
  background-image:linear-gradient(var(--phcmm-button-gradient-angle,90deg),var(--phcmm-mobile-calc-hover-start,#242424) 0%,var(--phcmm-mobile-calc-hover-end,#111111) 100%) !important;
}

/* Mobile - Check Eligibility */
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-mobile__action--solid{
  color:var(--phcmm-mobile-elig-text,#fff) !important;
  -webkit-text-fill-color:var(--phcmm-mobile-elig-text,#fff) !important;
  background-color:var(--phcmm-mobile-elig-start,#FF614F) !important;
  background-image:linear-gradient(var(--phcmm-button-gradient-angle,90deg),var(--phcmm-mobile-elig-start,#FF614F) 0%,var(--phcmm-mobile-elig-end,#D34135) 100%) !important;
}
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-mobile__action--solid:hover,
.elementor-widget-phcst_mega_menu .phcmm-root a.phcmm-mobile__action--solid:focus-visible{
  color:var(--phcmm-mobile-elig-hover-text,#fff) !important;
  -webkit-text-fill-color:var(--phcmm-mobile-elig-hover-text,#fff) !important;
  background-color:var(--phcmm-mobile-elig-hover-start,#D34135) !important;
  background-image:linear-gradient(var(--phcmm-button-gradient-angle,90deg),var(--phcmm-mobile-elig-hover-start,#D34135) 0%,var(--phcmm-mobile-elig-hover-end,#C9362B) 100%) !important;
}


/* =========================================================
   v1.8.1.1 REBATE PANEL SPACING FIX
   Keeps the badge and heading separated even when the active
   theme/Elementor applies global heading or inline-element rules.
   ========================================================= */
.elementor-widget-phcst_mega_menu .phcmm-root .phcmm-feature{
  padding-top:22px !important;
}
.elementor-widget-phcst_mega_menu .phcmm-root .phcmm-feature__badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:flex-start !important;
  width:max-content !important;
  max-width:100% !important;
  min-height:24px !important;
  margin:0 0 14px 0 !important;
  padding:5px 10px !important;
  position:relative !important;
  top:auto !important;
  left:auto !important;
  line-height:1.1 !important;
  box-sizing:border-box !important;
  white-space:normal !important;
}
.elementor-widget-phcst_mega_menu .phcmm-root .phcmm-feature h3{
  display:block !important;
  width:100% !important;
  margin:0 0 10px 0 !important;
  padding:0 !important;
  position:relative !important;
  top:auto !important;
  left:auto !important;
  line-height:1.18 !important;
  clear:both !important;
}
.elementor-widget-phcst_mega_menu .phcmm-root .phcmm-feature p{
  margin:0 0 14px 0 !important;
  padding:0 !important;
}


/* =========================================================
   v1.9 UNIVERSAL BRAND CONTROLS
   Keep this block last. It makes the same widget reusable on
   different client sites while preserving theme conflict safety.
   ========================================================= */

/* Let Elementor typography controls override the global font when desired. */
.elementor-widget-phcst_mega_menu .phcmm-root{
  font-family:var(--phcmm-font,inherit) !important;
}
.elementor-widget-phcst_mega_menu .phcmm-root :is(a,button,label,summary,h1,h2,h3,h4,h5,h6,p,span,strong,small){
  font-family:inherit;
}

/* Responsive service-grid variants when columns/panel are hidden in Elementor. */
.elementor-widget-phcst_mega_menu .phcmm-root.phcmm-columns-3.phcmm-feature-on .phcmm-mega__content{
  grid-template-columns:repeat(3,minmax(0,1fr)) 290px;
}
.elementor-widget-phcst_mega_menu .phcmm-root.phcmm-columns-2.phcmm-feature-on .phcmm-mega__content{
  grid-template-columns:repeat(2,minmax(0,1fr)) 290px;
}
.elementor-widget-phcst_mega_menu .phcmm-root.phcmm-columns-1.phcmm-feature-on .phcmm-mega__content{
  grid-template-columns:minmax(0,1fr) 290px;
}
.elementor-widget-phcst_mega_menu .phcmm-root.phcmm-columns-3.phcmm-feature-off .phcmm-mega__content{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.elementor-widget-phcst_mega_menu .phcmm-root.phcmm-columns-2.phcmm-feature-off .phcmm-mega__content{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.elementor-widget-phcst_mega_menu .phcmm-root.phcmm-columns-1.phcmm-feature-off .phcmm-mega__content{
  grid-template-columns:minmax(0,1fr);
}
.elementor-widget-phcst_mega_menu .phcmm-root.phcmm-columns-0.phcmm-feature-on .phcmm-mega__content{
  grid-template-columns:minmax(260px,420px);
  justify-content:end;
}

/* Remove the trailing divider from the last visible service column. */
.elementor-widget-phcst_mega_menu .phcmm-root.phcmm-feature-off .phcmm-column:last-child{
  border-right:0;
}

/* Right feature panel brand controls. */
.elementor-widget-phcst_mega_menu .phcmm-root .phcmm-feature{
  background-color:var(--phcmm-feature-end,#0B2C5B) !important;
  background-image:linear-gradient(var(--phcmm-feature-angle,145deg),var(--phcmm-feature-start,#153D78) 0%,var(--phcmm-feature-end,#0B2C5B) 100%) !important;
}

/* Universal soft surfaces should follow the user's global variables. */
.elementor-widget-phcst_mega_menu .phcmm-root .phcmm-menu-link:hover,
.elementor-widget-phcst_mega_menu .phcmm-root .phcmm-menu-link:focus-visible{
  background-color:var(--phcmm-soft,#F6F8FC);
}

/* Mobile usability: allow each new brand to style hover backgrounds without layout shifts. */
@media (max-width:980px){
  .elementor-widget-phcst_mega_menu .phcmm-root .phcmm-mobile__nav > a,
  .elementor-widget-phcst_mega_menu .phcmm-root .phcmm-mobile__nav summary,
  .elementor-widget-phcst_mega_menu .phcmm-root .phcmm-mobile__sub a{
    transition:color .18s ease,background-color .18s ease;
  }
}
