/* A small, dependency-free visual layer shared by Habitat, Industrie and agency pages. */
:root{--mbi-ink:#151b3f;--mbi-muted:#6d7890;--mbi-line:#dce4ef;--mbi-paper:#fff;--mbi-orange:#ef712f;--mbi-orange-deep:#d85b1e;--mbi-focus:#466cbb}
.site-shell .home-database-empty{grid-column:1/-1;margin:0;padding:32px;border:1px solid var(--mbi-line);border-radius:18px;background:#fff;color:var(--mbi-muted);text-align:center}
.site-shell .property-image-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#edf2f8,#fff6ef)}
.site-shell .property-image-placeholder img{width:min(55%,170px);height:auto;object-fit:contain}

/* The two public universes retain their distinct imagery while sharing controls. */
.site-shell :is(a,button,select,input,textarea):focus-visible,
.industrial-site :is(a,button,select,input,textarea):focus-visible,
.catalogue-page :is(a,button,select,input,textarea):focus-visible,
.admin-page :is(a,button,select,input,textarea):focus-visible{
  outline:3px solid var(--mbi-focus);outline-offset:3px
}
.site-shell .site-header,.industrial-site .site-header{
  border:1px solid rgba(255,255,255,.68);
  box-shadow:0 18px 44px rgba(14,26,54,.13)
}
.site-shell .header-contact,.industrial-site .header-contact{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px
}
.site-shell .universe-switch,.industrial-site .universe-switch{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px
}
.site-shell .desktop-nav a,.industrial-site .desktop-nav a{
  text-decoration-thickness:2px;text-underline-offset:6px
}
.site-shell :is(.search-submit,.property-view),
.industrial-site :is(.industrial-hero-copy a,.industrial-ai-copy button,.industrial-empty a,.industrial-contact-band a),
.catalogue-page :is(.catalogue-universe-tabs a,.catalogue-filter){
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .site-shell .search-submit:hover,
  .industrial-site :is(.industrial-hero-copy a,.industrial-ai-copy button,.industrial-empty a,.industrial-contact-band a):hover{
    transform:translateY(-2px);box-shadow:0 12px 28px rgba(22,30,62,.18)
  }
  .site-shell .property-card:hover,.catalogue-page .catalogue-grid article:hover{
    transform:translateY(-3px);box-shadow:0 18px 40px rgba(22,30,62,.12)
  }
}
.site-shell .property-card,.catalogue-page .catalogue-grid article{
  transition:transform .2s ease,box-shadow .2s ease
}
.site-shell .property-card:focus-within,.catalogue-page .catalogue-grid article:focus-within{
  box-shadow:0 0 0 3px rgba(70,108,187,.23),0 18px 40px rgba(22,30,62,.12)
}
.agency-login-page + .privacy-settings-button{left:auto;right:18px}
.catalogue-page .catalogue-universe-tabs{gap:8px}
.catalogue-page .catalogue-universe-tabs a{min-height:42px;display:inline-flex;align-items:center;justify-content:center}
.catalogue-page .catalogue-tools :is(input,select,button){min-height:44px}

/* Agency: one consistent rhythm for editorial headings, cards and actions. */
.admin-page{--mbi-surface:#f7f9fc;color:var(--mbi-ink)}
.admin-page .admin-main{background:radial-gradient(circle at 100% 0%,rgba(227,237,250,.52),transparent 36%),var(--mbi-surface)}
.admin-page .admin-sidebar{border-right:1px solid var(--mbi-line)}
.admin-page .admin-sidebar nav a{border-radius:10px;transition:background-color .16s ease,color .16s ease}
.admin-page .admin-sidebar nav a.active{background:linear-gradient(100deg,#edf2fc,#fff2e9);color:var(--mbi-ink);font-weight:800}
.admin-page .admin-topbar{background:rgba(255,255,255,.96);border-bottom:1px solid var(--mbi-line)}
.admin-page .admin-content{min-width:0}
.admin-page .admin-welcome{min-width:0}
.admin-page .admin-welcome h1{color:var(--mbi-ink);line-height:1.04;letter-spacing:-.035em}
.admin-page .admin-welcome p{color:var(--mbi-muted);line-height:1.55}
/* The team page intentionally uses a dark editorial hero. */
.admin-page .admin-team-content.team-overhauled .admin-welcome h1{color:#fff}
.admin-page .admin-team-content.team-overhauled .admin-welcome p{color:#c6d0e1}
.admin-page :is(.performance-card,.pipeline-card,.admin-table-card,.admin-approval-queue){border-radius:18px;border-color:var(--mbi-line);box-shadow:0 12px 34px rgba(24,39,76,.045)}
.admin-page .admin-primary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border-radius:11px;background:linear-gradient(110deg,var(--mbi-orange),#f49a59);color:#fff;font-weight:800;line-height:1.25;text-align:center;white-space:normal;box-shadow:0 10px 24px rgba(221,98,36,.18);transition:transform .18s ease,box-shadow .18s ease}
.admin-page .admin-primary-button svg{flex:none}
.admin-page :is(input,select,textarea){max-width:100%}
.admin-page :is(input,select,textarea):not([type=checkbox]):not([type=radio]){border-radius:10px}
.admin-editor-page{--mbi-surface:#f7f9fc;color:var(--mbi-ink);background:radial-gradient(circle at 100% 0%,rgba(227,237,250,.5),transparent 34%),var(--mbi-surface)}
.admin-editor-page .admin-editor-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--mbi-line)}
.admin-editor-page :is(input,select,textarea):focus-visible,
.admin-editor-page :is(a,button):focus-visible{outline:3px solid var(--mbi-focus);outline-offset:3px}
.admin-editor-page :is(input,select,textarea):not([type=checkbox]):not([type=radio]){max-width:100%;border-radius:10px}
.admin-editor-page :is(.editor-header-action,.wizard-action-buttons .primary,.wizard-action-buttons .validate){border-radius:10px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;line-height:1.25;text-align:center}
.admin-editor-page :is(.wizard-panel,.property-media-upload,.lifecycle-controls){border-radius:18px;box-shadow:0 12px 34px rgba(24,39,76,.045)}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.admin-page .admin-primary-button:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(221,98,36,.25)}}
@media (max-width:680px){
  .site-shell .site-header,.industrial-site .site-header{box-shadow:0 10px 28px rgba(14,26,54,.12)}
  .agency-login-page + .privacy-settings-button{position:relative;right:auto;bottom:auto;margin:0 18px 18px}
  .admin-page .admin-content{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  .admin-page .admin-welcome h1{font-size:clamp(32px,9vw,48px)}
  .admin-page .admin-primary-button{min-height:44px}
}
/* Let the mobile Habitat hero grow with translated copy instead of layering the form over it. */
@media (max-width:800px){
  .habitat-shell .hero{height:auto;min-height:0;display:flex;flex-direction:column;align-items:stretch;padding:142px 24px 38px;box-sizing:border-box}
  .habitat-shell .hero-copy{position:relative;top:auto;left:auto;right:auto;width:100%;max-width:660px;margin:0 auto;z-index:2}
  .habitat-shell .hero h1{margin:22px 0 22px;font-size:clamp(50px,13.5vw,82px);line-height:.96}
  .habitat-shell .hero-copy>p{max-width:620px;line-height:1.55;margin:0}
  .habitat-shell .hero-search{position:relative;top:auto;bottom:auto;left:auto;right:auto;width:100%;max-width:660px;margin:30px auto 0;z-index:3}
  .habitat-shell .hero-foot{position:relative;top:auto;bottom:auto;left:auto;right:auto;width:100%;max-width:660px;margin:25px auto 0;z-index:2}
}
@media (max-width:480px){
  .habitat-shell .hero{padding:122px 20px 32px}
  .habitat-shell .hero h1{font-size:clamp(49px,14.2vw,68px)}
  .habitat-shell .hero-copy>p{font-size:16px;line-height:1.55}
  .habitat-shell .hero-search{margin-top:25px}
}
@media (prefers-reduced-motion:reduce){
  .site-shell .property-card,.catalogue-page .catalogue-grid article,
  .site-shell :is(.search-submit,.property-view),
  .industrial-site :is(.industrial-hero-copy a,.industrial-ai-copy button,.industrial-empty a,.industrial-contact-band a),
  .admin-page .admin-primary-button{transition:none}
}
