/* V22.13 - stable shared branding + Partners typography isolation.
   Purpose: prevent Partners-page edits from changing shared header/footer branding.
   The black eXp artwork is the exact user-supplied PNG. */

/* ---------- Shared Cecil + eXp lockup ---------- */
.cg-exp-lockup{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  min-width:0;
  max-width:100%;
}
.cg-exp-lockup-header{gap:15px;}
.cg-exp-lockup-footer{gap:14px;}

/* Cecil header logo stays on the approved artwork and dimensions. */
.site-header .cg-exp-lockup-header a.cg-header-logo-v225{
  width:270px !important;
  max-width:270px !important;
  min-width:0 !important;
  flex:0 0 auto !important;
  overflow:visible !important;
}
.site-header .cg-exp-lockup-header a.cg-header-logo-v225 img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  object-fit:contain !important;
  transform:none !important;
}

/* eXp: size by a controlled width, not by the old oversized lockup width.
   This keeps the black mark visually balanced with Cecil's mark on every page. */
.exp-brokerage-badge{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  line-height:0 !important;
  overflow:visible !important;
}
.exp-brokerage-badge img{
  display:block !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  opacity:1 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  filter:none !important;
}
.exp-brokerage-badge-header img{
  width:110px !important;
  max-width:110px !important;
}

/* Shared header layout only. No shared typography overrides here. */
.site-header .nav-shell{
  grid-template-columns:auto minmax(0,1fr) auto !important;
  column-gap:clamp(20px,2vw,34px) !important;
  align-items:center !important;
}
.site-header .desktop-nav{
  width:min(100%,650px) !important;
  justify-self:center !important;
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  align-items:center !important;
  justify-content:stretch !important;
  gap:0 !important;
  min-width:0 !important;
}
.site-header .desktop-nav > a{
  text-align:center !important;
  justify-self:stretch !important;
  white-space:nowrap !important;
}

/* Standard footer. */
.clean-footer .footer-top{
  grid-template-columns:minmax(270px,300px) minmax(0,1fr) !important;
  column-gap:42px !important;
  align-items:center !important;
}
.clean-footer .cg-exp-lockup-footer{
  width:100% !important;
  max-width:285px !important;
  justify-content:flex-start !important;
  align-self:center !important;
  justify-self:start !important;
  gap:14px !important;
}
.clean-footer .cg-exp-lockup-footer .brand-mark-footer{
  display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  min-width:0 !important;
}
.clean-footer .cg-exp-lockup-footer .site-logo-footer{
  display:block !important;
  width:148px !important;
  max-width:148px !important;
  height:auto !important;
  object-fit:contain !important;
}
.clean-footer .cg-exp-lockup-footer .exp-brokerage-badge-footer img{
  width:110px !important;
  max-width:110px !important;
}

/* Partners custom footer: keep the same black eXp artwork at a balanced size. */
.site-footer .footer-logo .cg-exp-lockup-footer{
  width:100% !important;
  max-width:100% !important;
  justify-content:center !important;
  align-items:center !important;
  gap:12px !important;
}
.site-footer .footer-logo .cg-exp-lockup-footer a{
  display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  line-height:0 !important;
}
.site-footer .footer-logo .cg-exp-lockup-footer a img{
  display:block !important;
  width:126px !important;
  max-width:126px !important;
  height:auto !important;
  margin:0 !important;
  object-fit:contain !important;
}
.site-footer .footer-logo .cg-exp-lockup-footer .exp-brokerage-badge-footer img{
  width:108px !important;
  max-width:108px !important;
  height:auto !important;
}

/* Narrow desktop: scale the pair together before it can crowd navigation. */
@media (min-width:1181px) and (max-width:1380px){
  .site-header .nav-shell{
    width:min(calc(100% - 44px),1420px) !important;
    column-gap:16px !important;
  }
  .cg-exp-lockup-header{gap:12px !important;}
  .site-header .cg-exp-lockup-header a.cg-header-logo-v225{
    width:228px !important;
    max-width:228px !important;
  }
  .exp-brokerage-badge-header img{
    width:94px !important;
    max-width:94px !important;
  }
  .site-header .desktop-nav{
    width:min(100%,500px) !important;
    font-size:.82rem !important;
  }
  .site-header .top-cta,
  .site-header .header-cta{
    padding-left:17px !important;
    padding-right:17px !important;
  }
}

/* Switch to hamburger before the co-brand lockup can collide with navigation. */
@media (max-width:1180px){
  .site-header .desktop-nav,
  .site-header .top-cta,
  .site-header .header-cta{display:none !important;}
  .site-header .burger{display:block !important;}
  .site-header .nav-shell{
    grid-template-columns:minmax(0,1fr) auto !important;
    column-gap:16px !important;
  }
  .cg-exp-lockup-header{gap:11px !important;}
  .site-header .cg-exp-lockup-header a.cg-header-logo-v225{
    width:214px !important;
    max-width:214px !important;
  }
  .exp-brokerage-badge-header img{
    width:90px !important;
    max-width:90px !important;
  }
}

@media (max-width:980px){
  .clean-footer .footer-top{
    grid-template-columns:1fr !important;
    row-gap:24px !important;
  }
  .clean-footer .cg-exp-lockup-footer{max-width:285px !important;}
}

@media (max-width:640px){
  .cg-exp-lockup-header{gap:8px !important;}
  .site-header .cg-exp-lockup-header a.cg-header-logo-v225{
    width:150px !important;
    max-width:150px !important;
  }
  .exp-brokerage-badge-header img{
    width:72px !important;
    max-width:72px !important;
  }
  .clean-footer .cg-exp-lockup-footer{
    max-width:250px !important;
    gap:11px !important;
  }
  .clean-footer .cg-exp-lockup-footer .site-logo-footer{
    width:132px !important;
    max-width:132px !important;
  }
  .clean-footer .cg-exp-lockup-footer .exp-brokerage-badge-footer img{
    width:98px !important;
    max-width:98px !important;
  }
  .site-footer .footer-logo .cg-exp-lockup-footer{
    justify-content:flex-start !important;
    gap:10px !important;
  }
  .site-footer .footer-logo .cg-exp-lockup-footer a img{
    width:118px !important;
    max-width:118px !important;
  }
  .site-footer .footer-logo .cg-exp-lockup-footer .exp-brokerage-badge-footer img{
    width:96px !important;
    max-width:96px !important;
  }
}

@media (max-width:380px){
  .site-header .cg-exp-lockup-header a.cg-header-logo-v225{
    width:138px !important;
    max-width:138px !important;
  }
  .exp-brokerage-badge-header img{
    width:66px !important;
    max-width:66px !important;
  }
  .clean-footer .cg-exp-lockup-footer .site-logo-footer{
    width:122px !important;
    max-width:122px !important;
  }
  .clean-footer .cg-exp-lockup-footer .exp-brokerage-badge-footer img{
    width:92px !important;
    max-width:92px !important;
  }
}

/* ---------- Partners typography only ----------
   This block is page-scoped. It cannot alter other pages or shared logo spacing. */
@media (min-width:1181px){
  body.partners-page .desktop-nav{
    font-size:20px !important;
    font-weight:600 !important;
  }
}
body.partners-page .benefit p,
body.partners-page .audience-intro p,
body.partners-page .audience-card p,
body.partners-page .step p,
body.partners-page .partner-review-invite p{
  font-size:16px !important;
}
.site-footer .contact-line,
.site-footer .footer-nav{
  font-size:16px !important;
}
@media (max-width:560px){
  body.partners-page .audience-card p,
  body.partners-page .step p{
    font-size:15px !important;
  }
}

/* V23.8 approved sitewide header spacing: eXp logo +1.5px right only. */
.site-header .exp-brokerage-badge-header{
  transform:translateX(1.5px) !important;
}
