/* ==========================================================================
   Lombok Investment — Mega Nav
   All selectors prefixed .linav- to avoid bleed into the theme / other plugins.
   Brand: navy #0B1D3A · gold #C9A227 · white #FFFFFF
   Font: Plus Jakarta Sans throughout
   ========================================================================== */

.linav, .linav * { box-sizing: border-box; }

/* ── Main nav bar ── */
.linav {
  background: #0B1D3A !important;
  border-bottom: 3px solid #C9A227 !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  position: relative !important;
  z-index: 9000 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

/* Collapse the WordPress block theme gap below the nav.
   FSE themes add padding/margin to the main content area via theme.json.
   These resets target common wrappers without bleeding into page content. */
.wp-site-blocks { padding-top: 0 !important; }
.is-layout-constrained > :first-child,
.wp-block-group:first-child,
.site-content > :first-child,
main.wp-block-group > :first-child { margin-top: 0 !important; }

/* ── Inner container — everything hangs off this flex row ── */
.linav .linav-inner {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  height: 68px !important;
  min-height: 68px !important;
  max-height: 68px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
}

/* ── Brand (logo + wordmark) ── */
.linav .linav-brand {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  align-self: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  margin-right: 44px !important;
  flex-shrink: 0 !important;
  height: auto !important;
  padding: 0 !important;
}

.linav .linav-logo {
  height: 40px !important;
  width: 40px !important;
  min-height: 40px !important;
  min-width: 40px !important;
  max-height: 40px !important;
  max-width: 40px !important;
  border-radius: 6px !important;
  display: block !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
}

.linav .linav-brand-text {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  letter-spacing: -0.3px !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.linav .linav-brand-text em {
  font-style: normal !important;
  color: #C9A227 !important;
}

/* ── Top-level list ── */
.linav .linav-list {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  align-self: stretch !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 100% !important;
  flex: 1 !important;
}

.linav .linav-item {
  position: static !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.linav .linav-top {
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
  padding: 0 15px !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.15px !important;
  color: rgba(255, 255, 255, 0.7) !important;
  white-space: nowrap !important;
  position: relative !important;
  transition: color 0.18s !important;
  margin: 0 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

/* Gold underline indicator on hover/focus */
.linav .linav-top::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 15px !important;
  right: 15px !important;
  height: 3px !important;
  background: #C9A227 !important;
  transform: scaleX(0) !important;
  transform-origin: left !important;
  transition: transform 0.22s ease !important;
}

.linav .linav-item:hover .linav-top,
.linav .linav-item:focus-within .linav-top { color: #FFFFFF !important; }

.linav .linav-item:hover .linav-top::after,
.linav .linav-item:focus-within .linav-top::after { transform: scaleX(1) !important; }

.linav .linav-chevron {
  margin-left: 5px !important;
  font-size: 9px !important;
  opacity: 0.5;
  display: inline-block !important;
  transition: transform 0.2s;
}

.linav .linav-item:hover .linav-chevron,
.linav .linav-item:focus-within .linav-chevron { transform: rotate(180deg) !important; }

/* ── Utility (right side of nav) ── */
.linav .linav-utility {
  margin-left: auto !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  align-self: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  flex-shrink: 0 !important;
  height: auto !important;
  padding: 0 !important;
}

/* ── Sign In (logged-out state) ── */
.linav .linav-signin {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  align-self: center !important;
  gap: 7px !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.72) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color 0.18s;
  cursor: pointer !important;
  line-height: 1 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}
.linav .linav-signin:hover { color: #FFFFFF !important; }

.linav .linav-account-icon {
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  min-height: 17px !important;
  max-height: 17px !important;
  max-width: 17px !important;
  flex-shrink: 0 !important;
  display: block !important;
  vertical-align: middle !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── My Account dropdown (logged-in state) ── */
.linav .linav-account-wrap {
  position: relative !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  align-self: center !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.linav .linav-account-btn {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  align-self: center !important;
  gap: 7px !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.72) !important;
  padding: 0 !important;
  margin: 0 !important;
  white-space: nowrap !important;
  transition: color 0.18s;
  line-height: 1 !important;
  height: auto !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
.linav .linav-account-btn:hover,
.linav .linav-account-wrap.is-open .linav-account-btn { color: #FFFFFF !important; }

.linav .linav-account-chevron {
  font-size: 9px !important;
  opacity: 0.55;
  display: inline-block !important;
  transition: transform 0.2s;
  margin-left: -2px !important;
}
.linav .linav-account-wrap.is-open .linav-account-chevron { transform: rotate(180deg) !important; }

.linav-account-menu {
  position: absolute !important;
  top: calc(100% + 18px) !important;
  right: 0 !important;
  min-width: 176px !important;
  background: #FFFFFF !important;
  border: 1px solid #E8E3D8 !important;
  box-shadow: 0 12px 30px rgba(11, 29, 58, 0.14) !important;
  padding: 6px 0 !important;
  display: none !important;
  z-index: 9500 !important;
  border-radius: 2px !important;
}
.linav-account-wrap.is-open .linav-account-menu { display: block !important; }

/* Invisible bridge so mouse can reach the dropdown */
.linav-account-menu::before {
  content: '';
  position: absolute;
  top: -18px;
  left: 0;
  right: 0;
  height: 18px;
}

.linav-account-menu a {
  display: block !important;
  padding: 10px 18px !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #1A1A1A !important;
  text-decoration: none !important;
  border-bottom: 1px solid #F0EBDF !important;
  transition: color 0.15s, background 0.15s;
}
.linav-account-menu a:last-child { border-bottom: none !important; }
.linav-account-menu a:hover { color: #0B1D3A !important; background: #F7F4EE !important; }
.linav-account-menu a.linav-signout { color: #999 !important; }
.linav-account-menu a.linav-signout:hover { color: #C0392B !important; background: #FEF2F2 !important; }

/* ── "Sell Property" — primary filled CTA ── */
.linav .linav-cta {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  align-self: center !important;
  justify-content: center !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #0B1D3A !important;
  background: #C9A227 !important;
  text-decoration: none !important;
  border: 1px solid #C9A227 !important;
  padding: 9px 18px !important;
  white-space: nowrap !important;
  border-radius: 2px !important;
  transition: all 0.2s;
  line-height: 1 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  box-shadow: none !important;
  vertical-align: middle !important;
}
.linav .linav-cta:hover { background: #DDB82E !important; border-color: #DDB82E !important; color: #0B1D3A !important; }

/* ── Mega panel (full-width dropdown) ── */
.linav-panel {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #FFFFFF;
  border-top: 1px solid #E8E3D8;
  box-shadow: 0 16px 48px rgba(11, 29, 58, 0.12);
  display: none;
  z-index: 8999;
}

/* Invisible hover bridge so the mouse never exits while travelling to the panel */
@media (min-width: 981px) {
  .linav-panel::before {
    content: '';
    position: absolute;
    top: -8px;
    left: 0;
    right: 0;
    height: 8px;
  }
}

.linav-item:hover .linav-panel,
.linav-item:focus-within .linav-panel { display: block; }

.linav-panel-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 36px 32px 32px;
  display: grid;
  gap: 0;
}
.linav-panel-inner.cols-2 { grid-template-columns: 1fr 1fr; }
.linav-panel-inner.cols-3 { grid-template-columns: 1fr 1fr 1fr; }
.linav-panel-inner.cols-4 { grid-template-columns: 1fr 1fr 1fr 1fr; }

.linav-col {
  padding: 0 36px;
  border-right: 1px solid #EDE8DF;
}
.linav-col:first-child { padding-left: 0; }
.linav-col:last-child { padding-right: 0; border-right: none; }

/* Dashboard col: full height, no right padding override needed */
.linav-col--dashboard {
  padding-right: 30px;
}

/* ── Column section label ── */
.linav-label {
  display: block;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #C9A227;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #EDE8DF;
}

/* ── Link lists ── */
.linav-links, .linav-plain {
  list-style: none;
  margin: 0;
  padding: 0;
}

.linav-links li,
.linav-plain li { border-bottom: 1px solid #F0EBDF; }

.linav-links li:last-child,
.linav-plain li:last-child { border-bottom: none; }

.linav-links a,
.linav-plain a {
  display: block;
  padding: 10px 0;
  text-decoration: none;
}

.linav-link-title {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #1A1A1A;
  line-height: 1.3;
  display: block;
  transition: color 0.15s;
}
.linav-plain .linav-link-title { font-size: 15px; }

.linav-link-sub {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: #888;
  display: block;
  line-height: 1.4;
  margin-top: 2px;
}

.linav-links a:hover .linav-link-title,
.linav-plain a:hover .linav-link-title { color: #0B1D3A; }

/* Live property count badge */
.linav-count {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 10px;
  font-weight: 600;
  color: #B0A070;
  margin-left: 6px;
  vertical-align: 1px;
}

/* ── "View all" link at bottom of column ── */
.linav-view-all {
  display: inline-block;
  margin-top: 16px;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #C9A227;
  text-decoration: none;
  border-bottom: 1px solid rgba(201, 162, 39, 0.45);
  padding-bottom: 2px;
  transition: border-color 0.15s;
}
.linav-view-all:hover { border-color: #C9A227; }

/* ── Generic feature card ── */
.linav-card {
  display: block;
  background: #F5F2EC;
  border: 1px solid #EDE8DF;
  padding: 18px 20px;
  text-decoration: none;
  border-radius: 2px;
  transition: background 0.15s, border-color 0.15s;
}
.linav-card:hover {
  background: #EAE5D8;
  border-color: rgba(201, 162, 39, 0.5);
}

.linav-card-thumb {
  display: block;
  width: 100%;
  height: 100px;
  background-size: cover;
  background-position: center;
  margin-bottom: 12px;
  border-radius: 1px;
}

.linav-card-badge {
  display: block;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #C9A227;
  margin-bottom: 7px;
}

.linav-card-title {
  display: block;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 15.5px;
  font-weight: 700;
  color: #0D0D0D;
  margin-bottom: 7px;
  line-height: 1.3;
}

.linav-card-desc {
  display: block;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 12.5px;
  font-weight: 400;
  color: #666;
  line-height: 1.55;
}

/* ── Investor Dashboard card (dark navy, Tools panel col 1) ── */
.linav-dashboard-card {
  display: flex;
  flex-direction: column;
  background: #0B1D3A;
  border: 1px solid rgba(201, 162, 39, 0.2);
  padding: 22px 22px 20px;
  text-decoration: none;
  height: 100%;
  min-height: 170px;
  border-radius: 2px;
  transition: border-color 0.2s, background 0.2s;
}
.linav-dashboard-card:hover {
  border-color: rgba(201, 162, 39, 0.6);
  background: #0E2448;
}

.linav-dashboard-badge {
  display: inline-block;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #C9A227;
  background: rgba(201, 162, 39, 0.1);
  border: 1px solid rgba(201, 162, 39, 0.25);
  padding: 4px 10px;
  margin-bottom: 14px;
  align-self: flex-start;
  border-radius: 2px;
}

.linav-dashboard-title {
  display: block;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 18px;
  font-weight: 800;
  color: #FFFFFF;
  margin-bottom: 8px;
  line-height: 1.2;
}

.linav-dashboard-desc {
  display: block;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 12.5px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.58);
  line-height: 1.6;
  flex: 1;
}

.linav-dashboard-cta {
  display: inline-block;
  margin-top: 18px;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #C9A227;
  border-top: 1px solid rgba(201, 162, 39, 0.18);
  padding-top: 14px;
  transition: color 0.15s;
}
.linav-dashboard-card:hover .linav-dashboard-cta { color: #DDB82E; }

/* ── Hamburger (hidden on desktop) ── */
.linav-burger {
  display: none;
  margin-left: auto;
  background: none;
  border: none;
  cursor: pointer;
  width: 30px;
  height: 24px;
  position: relative;
  flex-shrink: 0;
}
.linav-burger span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: #FFFFFF;
  left: 0;
  transition: all 0.25s ease;
}
.linav-burger span:nth-child(1) { top: 2px; }
.linav-burger span:nth-child(2) { top: 11px; }
.linav-burger span:nth-child(3) { top: 20px; }
.linav-burger.is-open span:nth-child(1) { top: 11px; transform: rotate(45deg); }
.linav-burger.is-open span:nth-child(2) { opacity: 0; }
.linav-burger.is-open span:nth-child(3) { top: 11px; transform: rotate(-45deg); }

/* ==========================================================================
   MOBILE (≤ 980px) — full-screen accordion
   ========================================================================== */
@media (max-width: 980px) {

  /* Sticky nav bar */
  .linav {
    position: sticky !important;
    top: 0 !important;
  }

  /* Body scroll-lock while menu is open */
  body.linav-menu-open { overflow: hidden !important; }

  /* Inner bar: allow height to grow when accordion is open */
  .linav .linav-inner {
    height: auto !important;
    min-height: 60px !important;
    max-height: none !important;
    padding: 0 18px !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
  }

  /* Brand row — keep vertically centered in the 60px bar */
  .linav .linav-brand {
    margin-right: 0 !important;
    height: 60px !important;
    align-items: center !important;
  }
  .linav .linav-logo  { height: 36px !important; width: 36px !important; min-height: 36px !important; min-width: 36px !important; }
  .linav .linav-brand-text { font-size: 17px !important; }

  /* Hamburger: appears on mobile, sits in the first flex row */
  .linav-burger { display: block; height: 60px !important; align-items: center !important; display: flex !important; }

  /* ── Nav list ──
     Desktop: .linav .linav-list { display: flex !important; flex: 1 !important; height: 100% !important; … }
     All overrides need matching specificity + !important to win. */
  .linav .linav-list {
    display: none !important;
    order: 3 !important;
    flex: 0 0 100% !important;
    flex-direction: column !important;
    align-items: stretch !important;
    align-self: auto !important;
    width: 100% !important;
    height: auto !important;
    background: #0B1D3A !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    max-height: calc(100vh - 60px) !important;
    overflow-y: auto !important;
    padding: 0 !important;
  }
  .linav.is-open .linav-list { display: flex !important; }

  /* ── Nav items ── */
  .linav .linav-item {
    display: block !important;
    height: auto !important;
    width: 100% !important;
    align-items: flex-start !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* ── Top-level buttons ── */
  .linav .linav-top {
    width: 100% !important;
    height: auto !important;
    padding: 16px 0 !important;
    justify-content: space-between !important;
    color: #FFFFFF !important;
    font-size: 14px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    white-space: normal !important;
  }
  .linav .linav-top::after { display: none !important; }

  /* Panels: collapsed by default; JS toggles .is-expanded */
  .linav-panel {
    position: static;
    display: none;
    box-shadow: none;
    border-top: none;
    background: #0D2247;
  }
  .linav-item.is-expanded .linav-panel { display: block; }
  /* Disable CSS hover on mobile — JS accordion handles expand/collapse */
  .linav-item:hover .linav-panel,
  .linav-item:focus-within .linav-panel { display: none; }
  .linav-item.is-expanded:hover .linav-panel,
  .linav-item.is-expanded:focus-within .linav-panel { display: block; }

  .linav-panel-inner {
    grid-template-columns: 1fr !important;
    padding: 8px 0 20px !important;
  }

  .linav-col {
    padding: 0;
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    padding-bottom: 14px;
    margin-bottom: 14px;
  }
  .linav-col:last-child { border-bottom: none; }
  .linav-col--dashboard { padding: 0 0 14px; }

  .linav-label { color: #C9A227; border-bottom-color: rgba(255, 255, 255, 0.1); }
  .linav-link-title { color: #FFFFFF; }
  .linav-link-sub { color: rgba(255, 255, 255, 0.5); }
  .linav-links li,
  .linav-plain li { border-bottom-color: rgba(255, 255, 255, 0.06); }
  .linav-links a:hover .linav-link-title,
  .linav-plain a:hover .linav-link-title { color: #C9A227; }

  .linav-card {
    background: #1A3260;
    border-color: rgba(255, 255, 255, 0.1);
  }
  .linav-card-title { color: #FFFFFF; }
  .linav-card-desc  { color: rgba(255, 255, 255, 0.55); }

  .linav-dashboard-card { min-height: auto; height: auto; }

  .linav-chevron { font-size: 12px !important; opacity: 0.75; }
  .linav-item.is-expanded .linav-chevron { transform: rotate(180deg); }
  /* Disable desktop hover-based chevron rotation */
  .linav-item:hover .linav-chevron { transform: none; }
  .linav-item.is-expanded:hover .linav-chevron { transform: rotate(180deg); }

  /* ── Utility row ──
     Desktop: .linav .linav-utility { display: flex !important; margin-left: auto !important; … }
     Must use same specificity + !important to override. */
  .linav .linav-utility {
    display: none !important;
    order: 4 !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    padding: 14px 0 !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    justify-content: flex-start !important;
    align-self: auto !important;
    height: auto !important;
  }
  .linav.is-open .linav-utility { display: flex !important; }

  .linav-utility .linav-signin,
  .linav-utility .linav-account-wrap { flex: 0 0 100%; font-size: 13px; }

  /* Account dropdown on mobile: full-width static list */
  .linav-account-menu {
    position: static;
    min-width: 0;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 4px 0 8px;
  }
  .linav-account-menu::before { display: none; }
  .linav-account-menu a {
    color: #FDFAF6;
    border-bottom-color: rgba(255, 255, 255, 0.08);
    padding: 10px 0;
  }
  .linav-account-menu a:hover { background: transparent; color: #C9A227; }
  .linav-account-menu a.linav-signout { color: rgba(255, 255, 255, 0.5); }
  .linav-account-menu a.linav-signout:hover { color: #e57373; background: transparent; }

  .linav-utility .linav-cta { flex: 1 1 auto !important; text-align: center !important; }
}
