/* ---- DJM Fix Pack: layout + stacking + hero spacing ----------------- */
html, body { height:100%; }
body { min-height:100vh; display:flex; flex-direction:column; }
.main-content { flex:1 0 auto; }
.footer { margin-top:auto; position:static !important; clear:both; }

/* Header/nav stacking so dropdowns aren't hidden by search box */
#navigation_bar,
#navigation_bar .navbar,
#navigation_bar .navbar-collapse,
#navigation_bar .header_wrap,
#navigation_bar .user_login { position:relative; overflow:visible !important; }
.user_login{ z-index:3000; }
.user_login .dropdown-menu{ position:absolute; right:0; left:auto; margin-top:8px; z-index:5000; }
.header_search, #header-search-form, #header-search-form input, #header-search-form button{ position:relative; z-index:1000; }

/* Account button height—avoid pushing header taller than needed */
.navbar .user_login .dropdown > a.account-btn{
  padding:2px 8px !important; line-height:1 !important; height:28px;
  display:inline-flex; align-items:center; gap:.35rem; font-size:11px; border-radius:3px;
}
.account-btn .fa-user-circle{ font-size:13px; }
.account-btn .fa-angle-down{  font-size:11px; }
.account-btn{ border:0; background:rgba(0,0,0,.18); }

/* Hero spacing on the homepage */
.hero{ background:#f8f9fb; padding:32px 0 24px; margin-bottom:24px; }
.hero .btn.btn-lg{ padding:16px 32px; font-size:20px; line-height:1.3; }
@media (max-width:991px){
  .hero{ padding:24px 0 12px; }
  .hero .btn.btn-lg{ padding:12px 20px; font-size:16px; }
}

/* Prevent floating color switcher (if present) from covering CTAs */
#color-switcher, .switcher { z-index:10; }
.hero, .container, .row { position:relative; z-index:11; }

/* Utility */
.clearfix{ clear:both; }

/* Lower the search box stacking so it can't cover the menu */
.header_search,
#header-search-form,
#header-search-form input,
#header-search-form button {
  position: relative;
  z-index: 1000;
}
