body { background:#f8f9fa; }
.card { transition: box-shadow .15s; }
.card:hover { box-shadow: 0 6px 18px rgba(0,0,0,.08); }
textarea[readonly] { background: #fff; }
/* ==== Mega Menu (All Tools) ==== */
.navbar .dropdown.position-static { position: static; } /* anchor stays, menu can be full width */
.navbar .mega-menu {
  left: 0; right: 0; top: 100%;
  width: 100%;
  border: 0;
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(0,0,0,.14);
  padding: 0;               /* we’ll pad inner container */
}
.mega-menu .inner {
  padding: 20px 16px;
}
.mega-menu h6 {
  font-weight: 700;
  font-size: .9rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: .5rem;
}
.mega-menu .dropdown-item {
  padding: .25rem 0;
  white-space: nowrap;
}
.mega-menu .col-md-4 { min-width: 220px; }  /* stop ugly wrapping */
 /* Dark navbar skin */
.navbar-dark .mega-menu { background: #1f1f1f; color: #fff; }
.navbar-dark .mega-menu .dropdown-item { color: #dfe6ee; }
.navbar-dark .mega-menu .dropdown-item:hover { color: #fff; text-decoration: underline; }
/* Desktop: open on hover */
@media (min-width: 992px){
  .navbar .dropdown:hover > .mega-menu { display: block; }
}
/* ---------- Emergency: collapse any stray hero/empty block above content ---------- */
/* Prevent any element from reserving large space above main content */
.page-hero, .hero, .hero-wrap, .page-header, .page-intro, .intro, .jumbotron, .masthead, .site-banner, .site-hero, .page-top {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  display: block !important;
}
/* Force the immediate container under navbar to not have extra top space */
header + main, header + .container, header + .page-wrapper, .navbar + .container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* Ensure body/html not creating space (sometimes theme adds padding-top) */
html, body {
  margin: 0 !important;
  padding: 0 !important;
}
/* Collapse any element that is empty but has height */
.page-hero:empty, .hero:empty, .page-header:empty, .intro:empty {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Keep tool cards visible under title */
.row.tool-cards { margin-top: 0.5rem !important; }
/* Keep H1 tight */
h1, h1.page-title { margin-top: 0 !important; margin-bottom: 0.5rem !important; font-size: 2rem !important; }
/* Debug outline (temporary) - uncomment if you want visual boxes to find culprit */
/*
header, .page-hero, main.container, .row.tool-cards {
  outline: 1px dashed rgba(255,0,0,0.12) !important;
}
*/