/* Reuse the directory controls and the shared white content surface. */
.v4-body .v4-night-search-panel { overflow:hidden; }
.v4-body :is(.v4-night-search-panel,.v4-night-articles) .v4-directory-heading h2 { font-size:var(--module-title-size,18px); }
.v4-body .v4-night-toolbar { flex-wrap:wrap; gap:16px 24px; padding-bottom:14px; }
.v4-body .v4-night-toolbar>.v4-directory-heading { flex:1 1 auto; }
/* Bound the controls by their fields, not the remaining toolbar space.
   An auto flex basis also avoids oversized rows when the toolbar stacks. */
.v4-body .v4-night-search { flex:0 1 auto; width:var(--v4-search-width,508px); max-width:100%; min-width:0; grid-template-columns:minmax(0,1fr) 120px auto; }
.v4-body .v4-night-keyword-search { width:388px; grid-template-columns:minmax(0,1fr) auto; }
.v4-body .v4-night-search :is(input,select):focus-visible { outline:2px solid var(--red); outline-offset:2px; }
.v4-body .v4-night-search-note { display:flex; align-items:baseline; justify-content:space-between; gap:12px 24px; padding:0 24px 20px; }
.v4-body .v4-night-search-note p { margin:0; color:#8a7b80; font-size:13px; line-height:1.8; }
.v4-body .v4-night-reset { flex-shrink:0; color:var(--red); font-size:14px; line-height:1.8; }
.v4-body .v4-night-reset:hover { text-decoration:underline; text-underline-offset:4px; }
.v4-body .v4-night-reset:focus-visible { outline:2px solid var(--red); outline-offset:4px; }
.v4-body #night-articles { scroll-margin-top:calc(var(--v4-header-height,80px) + 20px); }
.v4-body .v4-night-articles > .v4-night-search-note { border-bottom:1px solid #eee5e8; }
@media(max-width:760px) {
  .v4-body .v4-night-toolbar { padding:18px 18px 12px; }
  .v4-body .v4-night-toolbar>.v4-directory-heading { flex:auto; }
  .v4-body .v4-night-search { width:100%; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
  .v4-body .v4-night-query { grid-column:1/-1; }
  .v4-body .v4-night-keyword-search .v4-night-query { grid-column:auto; }
  .v4-body .v4-night-search-note { align-items:flex-start; padding:0 18px 18px; gap:12px; flex-wrap:wrap; }
  .v4-body .v4-night-search-note p { flex:1 1 240px; font-size:12px; }
  .v4-body :is(.v4-night-search-panel,.v4-night-articles) .v4-directory-heading h2 { font-size:var(--module-title-size,17px); }
}
