/* NekoVault V28.0.3.10 — correction structurelle de l'accueil
   Corrige le vide du hero et aligne réellement Accès rapides / NekoGraph. */

/* ---------- Hero : l'image remplit exactement la hauteur de la fiche ---------- */
#home.feature-grid {
  align-items: stretch !important;
}

#home .hero-card {
  align-self: stretch !important;
  height: auto !important;
  min-height: 560px !important;
  max-height: none !important;
  aspect-ratio: auto !important;
}

#home .hero-card > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center 23% !important;
}

#home .detail-panel {
  align-self: stretch !important;
}

/* ---------- Dashboard : même structure, même ligne de titre ---------- */
.nv37-dashboard {
  align-items: stretch !important;
}

.nv37-dashboard > .nv37-panel {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  min-height: 270px !important;
  height: auto !important;
}

.nv37-dashboard > .nv37-panel > .nv37-panel-head {
  width: 100% !important;
  min-height: 74px !important;
  padding: 20px 20px 12px !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

.nv37-dashboard > .nv37-panel > .nv37-panel-head > div {
  display: grid !important;
  grid-template-rows: auto auto !important;
  gap: 6px !important;
  min-width: 0 !important;
}

.nv37-dashboard > .nv37-panel > .nv37-panel-head span,
.nv37-dashboard > .nv37-panel > .nv37-panel-head strong {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nv37-dashboard > .nv37-panel > .nv37-panel-head span {
  line-height: 1 !important;
}

.nv37-dashboard > .nv37-panel > .nv37-panel-head strong {
  font-size: 1.18rem !important;
  line-height: 1.15 !important;
  letter-spacing: -.025em !important;
}

/* Accès rapides : les cartes occupent proprement le corps du panneau. */
.nv37-dashboard > .nv37-panel:first-child .nv37-quick-grid {
  min-height: 0 !important;
  height: 100% !important;
  padding: 8px 16px 16px !important;
  align-items: stretch !important;
}

.nv37-dashboard > .nv37-panel:first-child .nv37-quick-card {
  min-height: 148px !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.nv37-dashboard > .nv37-panel:first-child .nv37-quick-card small {
  margin-top: auto !important;
  padding-top: 8px !important;
}

/* NekoGraph : le titre sort du corps et s'aligne sur celui de gauche. */
.nv37-dashboard > .nv37-graph {
  padding: 0 !important;
  gap: 0 !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
}

.nv310-graph-body {
  min-height: 0 !important;
  height: 100% !important;
  padding: 8px 16px 16px !important;
  display: grid !important;
  grid-template-columns: minmax(210px, .72fr) minmax(330px, 1.28fr) !important;
  gap: 16px !important;
  align-items: stretch !important;
}

.nv310-graph-body .nv37-graph-copy {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-self: stretch !important;
}

.nv310-graph-body .nv37-graph-copy h2 {
  margin: 0 0 9px !important;
  font-size: 1.55rem !important;
  line-height: 1.05 !important;
}

.nv310-graph-body .nv37-graph-copy p {
  margin: 0 !important;
}

.nv310-graph-body .nv37-graph-copy button {
  margin-top: auto !important;
  align-self: flex-start !important;
}

.nv310-graph-body .nv37-graph-map {
  min-height: 178px !important;
  height: 100% !important;
  align-self: stretch !important;
}

/* Annule les anciennes hauteurs artificielles du correctif 3.9. */
.nv37-dashboard > .nv37-panel:first-child .nv37-panel-head,
.nv37-graph-copy .nv37-panel-head {
  min-height: unset !important;
}

#originalsShowcase {
  margin-top: 26px !important;
}

@media (max-width: 1180px) {
  #home .hero-card {
    min-height: 540px !important;
  }

  .nv37-dashboard {
    grid-template-columns: 1fr !important;
  }

  .nv37-dashboard > .nv37-panel {
    min-height: 0 !important;
  }
}

@media (max-width: 900px) {
  #home .hero-card {
    height: min(68dvh, 650px) !important;
    min-height: 500px !important;
    max-height: 650px !important;
  }

  .nv310-graph-body {
    grid-template-columns: 1fr !important;
  }

  .nv310-graph-body .nv37-graph-map {
    min-height: 240px !important;
  }
}

@media (max-width: 620px) {
  #home .hero-card {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 5 !important;
  }

  .nv37-dashboard > .nv37-panel > .nv37-panel-head {
    min-height: 68px !important;
    padding: 18px 16px 10px !important;
  }

  .nv37-dashboard > .nv37-panel:first-child .nv37-quick-grid,
  .nv310-graph-body {
    padding: 8px 12px 12px !important;
  }
}
