/* MenkulEX Frontend Contrast Non-Network v1.3.04 — exact v1.3.02 rule order with only fully Network-scoped rules omitted. */
/* MenkulEX Frontend CSS Core v1.3.02 — menkulex-frontend-contrast-core-v1302.css. Exact legacy cascade, source files retained for compatibility. */

/* === Text Contrast v1.1.01 | source: text-contrast-fix-v111.css === */
/* MenkulEX v1.1.01 — scoped text visibility & contrast hotfix
   Purpose: prevent dark-text regressions on dark metric cards and ensure
   project detail top action labels are always visible. */

/* Consultant / office directory hero metric cards must keep white text on brand surface. */




/* Directory primary CTA must preserve white text on teal background. */



/* Project detail top summary action boxes: always show icon + label together. */
.single-xan_project .xan-project-summary-actions-v145 a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:7px!important;
  overflow:visible!important;
}
.single-xan_project .xan-project-summary-actions-v145 a > .xan-icon,
.single-xan_project .xan-project-summary-actions-v145 a > svg{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
}
.single-xan_project .xan-project-summary-actions-v145 a > span{
  display:inline-block!important;
  visibility:visible!important;
  opacity:1!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  color:#055970!important;
  font-size:inherit!important;
  line-height:1.18!important;
  font-weight:500!important;
}

/* Keep buttons readable on tighter widths too. */
@media (max-width: 640px){
  .single-xan_project .xan-project-summary-actions-v145 a{
    min-height:40px!important;
    padding:6px 8px!important;
  }
  .single-xan_project .xan-project-summary-actions-v145 a > span{
    font-size:9.8px!important;
  }
}

/* === UI Polish v1.1.02 | source: ui-polish-v112.css === */
/* MenkulEX v1.1.02 — UI hierarchy, empty-state and mobile summary polish.
   Scope: project detail top summary, office/consultant directories and listing cards only. */

/* Directory hero: metrics should feel intentional, not like error boxes. */







/* Filter row alignment and button rhythm. */



/* Office and consultant cards: consistent hierarchy. */
.xan-network-office-card-v177 h2,
.xan-network-consultant-card-v177 h3{
  margin-top:8px!important;
  margin-bottom:10px!important;
  color:#041F40!important;
  font-weight:500!important;
  letter-spacing:-.02em!important;
}
.xan-network-office-card-v177 h2 a,
.xan-network-consultant-card-v177 h3 a{
  color:#041F40!important;
  text-decoration:none!important;
}
.xan-network-consultant-card-v177 .xan-consultant-role,
.xan-network-office-place-v177,
.xan-network-office-manager-v177 small{
  color:#055970!important;
  font-weight:500!important;
}
.xan-network-consultant-card-v177 .xan-consultant-card-body>p,
.xan-network-office-manager-v177 strong,
.xan-network-office-stats-v177 span{
  color:#13364C!important;
  opacity:1!important;
}
.xan-network-consultant-card-v177 .xan-consultant-card-body>p{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:7px 0!important;
  line-height:1.45!important;
}
.xan-network-consultant-card-v177 .xan-consultant-card-body>p .xan-icon,
.xan-network-consultant-card-v177 .xan-consultant-card-body>p svg{
  width:15px!important;
  height:15px!important;
  flex:0 0 15px!important;
  color:#055970!important;
  stroke:currentColor!important;
}
.xan-network-office-actions-v177 .xan-btn,
.xan-network-consultant-card-v177 .xan-consultant-actions .xan-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  min-height:44px!important;
  border-radius:12px!important;
  font-size:12px!important;
  line-height:1.2!important;
}
.xan-network-office-actions-v177 .xan-btn-primary,
.xan-network-consultant-card-v177 .xan-consultant-actions .xan-btn-primary{
  color:#FFFFFF!important;
  background:#055970!important;
  border-color:#055970!important;
}

/* Project listing/card hierarchy without touching map or portal. */
.xan-project-page .xan-list-card-body h2,
.xan-project-page .xan-project-card h3,
.xan-project-page .xan-list-card-price-v133 strong{
  color:#041F40!important;
  font-weight:500!important;
  letter-spacing:-.018em!important;
}
.xan-project-page .xan-list-card-body p,
.xan-project-page .xan-specs-v133 span,
.xan-project-page .xan-card-meta{
  color:#13364C!important;
  opacity:1!important;
}

/* Project detail top area: action labels + summary cards should not look empty. */
.single-xan_project .xan-project-summary-actions-v145{
  gap:10px!important;
}
.single-xan_project .xan-project-summary-actions-v145 a{
  min-height:46px!important;
  border-radius:12px!important;
  padding:6px 12px!important;
  box-shadow:0 8px 20px rgba(4,31,64,.05)!important;
}
.single-xan_project .xan-project-summary-actions-v145 a>span{
  max-width:100%!important;
}
.single-xan_project .xan-project-summary-cards-v145>div{
  min-height:78px!important;
  border-radius:14px!important;
  overflow:hidden!important;
}
.single-xan_project .xan-project-summary-cards-v145 span{
  color:#516174!important;
  font-weight:400!important;
}
.single-xan_project .xan-project-summary-cards-v145 strong{
  color:#041F40!important;
  font-weight:500!important;
  overflow-wrap:anywhere!important;
}

/* Professional empty states. */
.xan-network-empty-v112{
  min-height:178px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:34px 28px!important;
  border:1px solid #DDE6EA!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#FFFFFF 0%,#F8FBFC 100%)!important;
  box-shadow:0 14px 34px rgba(4,31,64,.045)!important;
  text-align:center!important;
}
.xan-network-empty-v112 h2{
  margin:0!important;
  max-width:760px!important;
  color:#041F40!important;
  font-size:clamp(22px,2.4vw,30px)!important;
  line-height:1.18!important;
  font-weight:500!important;
  letter-spacing:-.025em!important;
}
.xan-network-empty-v112 p{
  margin:0!important;
  max-width:760px!important;
  color:#13364C!important;
  font-size:14px!important;
  line-height:1.65!important;
}
.xan-network-empty-v112 .xan-btn{
  margin-top:6px!important;
  color:#FFFFFF!important;
}
.xan-network-empty-v112.is-empty-dataset{
  border-style:dashed!important;
}


@media (max-width:760px){
  
  
  
  
  
  
  .single-xan_project .xan-project-summary-actions-v145{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .single-xan_project .xan-project-summary-cards-v145{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
}
@media (max-width:480px){
  
  
  .single-xan_project .xan-project-summary-actions-v145 a{
    min-height:42px!important;
    padding:6px 7px!important;
    gap:5px!important;
  }
  .single-xan_project .xan-project-summary-actions-v145 a>span{
    font-size:9.5px!important;
    line-height:1.12!important;
  }
  .single-xan_project .xan-project-summary-cards-v145>div{
    min-height:68px!important;
    padding:8px!important;
    grid-template-columns:26px minmax(0,1fr)!important;
  }
  .xan-network-empty-v112{
    min-height:150px!important;
    padding:26px 16px!important;
    border-radius:18px!important;
  }
  .xan-network-empty-v112 h2{
    font-size:21px!important;
  }
}

/* === Surface Contrast v1.1.15 | source: surface-contrast-v1115.css === */
/* MenkulEX v1.1.15 — scoped surface contrast contract */

/* Dark feature metrics: white typography is mandatory. */
.xan-showcase-metric-v173{
  background:#055970!important;
  border-color:rgba(255,255,255,.14)!important;
  color:#FFFFFF!important;
}
.xan-showcase-metric-v173 :where(h1,h2,h3,h4,h5,h6,strong,b,span,label,p,em){
  color:#FFFFFF!important;
  opacity:1!important;
  text-shadow:none!important;
  filter:none!important;
}
.xan-showcase-metric-v173 small{
  color:rgba(255,255,255,.88)!important;
  opacity:1!important;
}

/* Other known dark informational surfaces. */
.xan-network-hero-metrics-v177 > div,
.xan-article-ecosystem-embed-v1103,
.xan-project-summary-panel-v145,
.xan-project-summary-panel-v143{
  color:#FFFFFF!important;
}
.xan-network-hero-metrics-v177 > div :where(strong,b,span,small,p),
.xan-article-ecosystem-embed-v1103 :where(h1,h2,h3,h4,strong,b,span,small,p),
.xan-project-summary-panel-v145 :where(h1,h2,h3,h4,strong,b,span,small,p),
.xan-project-summary-panel-v143 :where(h1,h2,h3,h4,strong,b,span,small,p){
  color:#FFFFFF!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Primary buttons keep the brand surface / white text contract. */
.xan-btn.xan-btn-primary,
a.xan-btn.xan-btn-primary,
button.xan-btn.xan-btn-primary{
  background:#055970!important;
  border-color:#055970!important;
  color:#FFFFFF!important;
}
.xan-btn.xan-btn-primary :where(span,strong,b,small){color:#FFFFFF!important;}
.xan-btn.xan-btn-primary:hover{background:#13364C!important;border-color:#13364C!important;}
