/* CrudCraft Javadoc — full replacement skin
   ------------------------------------------------------------ */

/* 0) Font + tokens */
@import url("https://fonts.googleapis.com/css2?family=Oxanium:wght@400;600;700&display=swap");

:root{
  --font-sans: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif;
  --font-display: "Oxanium", var(--font-sans);

  --color-background: #f9fafb;
  --color-surface:    #fbfbfb;
  --color-text:       #1f2937;
  --color-heading:    #1f2937;
  --color-link:       #354ead;
  --color-link-hover: #2563eb;
  --color-accent:     #354ead;
  --color-border:     #e5e7eb;
  --color-muted:      #60656f;

  --shadow-1: 0 2px 4px rgba(0,0,0,.06);
  --shadow-2: 0 10px 26px rgba(0,0,0,.08);

  --container: 1120px;
}

@media (prefers-color-scheme: dark){
  :root{
    --color-background: #2e2e2e;
    --color-surface:    #3a3a3a;
    --color-text:       #fefefe;
    --color-heading:    #fefefe;
    --color-link:       #8fa8ff;
    --color-link-hover: #b6c4ff;
    --color-accent:     #6c8cff;
    --color-border:     #454545;

    --shadow-1: none;
    --shadow-2: none;
  }
}

/* 1) Base */
html, body{
  margin:0;
  background: var(--color-background);
  color: var(--color-text);
  font-family: var(--font-sans);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
a{ color: var(--color-link); text-decoration: none; }
a:hover{ color: var(--color-link-hover); text-decoration: underline; }

h1,h2,h3,h4{ font-family: var(--font-display); color: var(--color-heading); margin:0 0 .5rem; }
h1.title{ font-size: clamp(28px, 3.2vw, 42px); line-height: 1.15; }

/* 2) Layout: hide old left nav; center content */
.mainContainer{ max-width: var(--container); margin: 0 auto; padding-inline: 1.25rem; }
.leftContainer{ display: none !important; }
.rightContainer{ margin: 0 !important; }

/* 3) Top nav bar (Overview | Package | … | Help) */
.topNav{
  position: sticky; top: 0; z-index: 20;
  background: color-mix(in srgb, var(--color-background) 70%, var(--color-surface));
  border-bottom: 1px solid var(--color-border);
  backdrop-filter: blur(6px);
}
.topNav .subTitle{ display:none; } /* old subtitle */
.navList{
  max-width: var(--container);
  margin: 0 auto; padding: .5rem 1.25rem;
  display:flex; align-items:center; gap:.5rem; flex-wrap: wrap;
  list-style:none;
}
.navList li{ margin:0; padding:0; }
.navList a{
  display:inline-block; padding:.35rem .6rem; border-radius:8px;
  color: var(--color-text); text-decoration:none; font-size:.9rem;
  border:1px solid transparent;
}
.navList .navBarCell1Rev a, /* “current” cell (doclet name) */
.navList a:hover{
  background: color-mix(in srgb, var(--color-accent) 12%, transparent);
  border-color: color-mix(in srgb, var(--color-accent) 30%, var(--color-border));
  color: var(--color-heading);
  text-decoration:none;
}
/* Search to right */
.navList .navBarCell1 + li,
.navList li:last-child{ margin-left:auto; }
.navList .searchTag, .navList .skipNav{ display:none; }

/* 4) Search box */
#search{ display:flex; align-items:center; gap:.4rem; }
#search-input{
  font: inherit; color: var(--color-text);
  padding: .35rem .55rem; border-radius:8px;
  border:1px solid var(--color-border);
  background: var(--color-surface);
  min-width: 220px;
}

/* 5) Page header + subnav (tabs under H1) */
.header, .contentContainer, .indexContainer, .bottomNav{
  max-width: var(--container);
  margin: 0 auto; padding-inline: 1.25rem;
}
.header{ padding: 1rem 1.25rem .75rem; }
.subNav{
  margin:.35rem 0 1rem; border-bottom:1px solid var(--color-border);
}
.subNav .navList{ padding: .25rem 0; gap:.25rem; }
.subNav .navList a{
  padding:.35rem .6rem; border-radius:8px 8px 0 0;
  border:1px solid transparent; border-bottom:2px solid transparent;
  color: var(--color-muted);
}
.subNav .navList a:hover{ color: var(--color-heading); }
.subNav .navList .navBarCell1Rev a{
  color: var(--color-heading); border-bottom-color: var(--color-accent);
  background: transparent; border-color: transparent;
}

/* 6) Content blocks */
.contentContainer > .description,
.description, .details, .memberSummary, .summary, .indexContainer > .block{
  background: var(--color-surface);
  border:1px solid var(--color-border);
  border-radius:12px;
  box-shadow: var(--shadow-1);
  padding: 1rem 1.1rem;
  margin: .75rem 0 1rem;
}

/* 7) Tables (summaries/members) */
table, .summaryTable, .memberSummary, .typeSummary, .constantsSummary{
  width:100%; border-collapse: collapse;
}
th, td{ text-align:left; vertical-align: top; }

.summaryTable th, .memberSummary th, .typeSummary th, .constantsSummary th{
  background: color-mix(in srgb, var(--color-surface) 85%, var(--color-border));
  color: var(--color-heading);
  padding: .65rem .75rem;
  border-bottom:1px solid var(--color-border);
  font-weight: 700;
}
.summaryTable td, .memberSummary td, .typeSummary td, .constantsSummary td{
  padding: .55rem .75rem;
  border-bottom:1px solid var(--color-border);
}
.summaryTable tr:nth-child(even) td,
.memberSummary tr:nth-child(even) td{ background: color-mix(in srgb, var(--color-surface) 95%, var(--color-border)); }

/* 8) Code blocks & inline code */
code, tt{
  font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono","Courier New",monospace !important;
  font-size: .92em; background: color-mix(in srgb, var(--color-surface) 85%, var(--color-border));
  padding: 2px 6px; border-radius: 6px;
}
pre{
  font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono","Courier New",monospace !important;
  background: color-mix(in srgb, var(--color-surface) 85%, var(--color-border));
  border:1px solid var(--color-border);
  border-radius: 10px; padding: 12px 14px; overflow:auto;
}

/* 9) Index pages */
.indexContainer{ padding: 1rem 1.25rem; }
.indexContainer > ul{ columns: 2; column-gap: 2rem; }
@media (max-width: 900px){ .indexContainer > ul{ columns: 1; } }

/* 10) Footer / bottomNav */
.bottomNav{
  border-top:1px solid var(--color-border);
  color: var(--color-muted);
  padding-block: .8rem;
}
.footer{ display:none; }

/* 11) Odds & ends */
.blockList{ list-style:none; margin:0; padding:0; }
.blockList > li{ margin: 0 0 1rem; }
.description > p{ margin: .4rem 0 .6rem; }

.deprecatedContent{
  border:1px dashed #ef4444; background:#fff5f5; color:#991b1b;
  padding:.6rem .75rem; border-radius:10px;
}
.tag, .searchTag{
  display:inline-block; font-size:.75rem; padding:2px 8px;
  border:1px solid var(--color-border); border-radius:999px;
  background: color-mix(in srgb, var(--color-surface) 90%, var(--color-border));
}

/* --- CrudCraft hard overrides (catch-all across JDKs) --- */

/* Hide the "Skip navigation links" rows */
.skipNav, #skip.navbar.top, #skip.navbar.bottom { display:none !important; }

/* Ensure the main chrome is centered regardless of doclet variations */
body > .topNav,
body > .bottomNav,
body > .header,
body > .contentContainer,
body > .indexContainer,
body > .footer,
.mainContainer,
.header,
.contentContainer,
.indexContainer,
.bottomNav {
  max-width: var(--container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
}

/* Nuke any legacy left column if the doclet emits one */
#left, #leftContainer, .leftContainer, .col-left { display:none !important; }
#right, .rightContainer, .col-right { margin:0 !important; }

/* NAV LISTS — force horizontal, no bullets, works in top + sub + bottom nav */
ul.navList, ul.subNavList,
.topNav .navList, .subNav .navList, .bottomNav .navList,
#navbar-top .navList, #navbar-bottom .navList {
  list-style: none !important;
  margin: 0 !important;
  padding: .5rem 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: .5rem !important;
}

.navList li,
.subNavList li {
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
}

/* Links in nav pills */
ul.navList a, ul.subNavList a {
  display: inline-block !important;
  padding: .35rem .6rem !important;
  border-radius: 8px !important;
  border: 1px solid transparent !important;
  color: var(--color-text) !important;
  text-decoration: none !important;
  font-size: .9rem !important;
}
ul.navList a:hover, ul.subNavList a:hover {
  background: color-mix(in srgb, var(--color-accent) 12%, transparent) !important;
  border-color: color-mix(in srgb, var(--color-accent) 30%, var(--color-border)) !important;
  color: var(--color-heading) !important;
}

/* “Active” tab (doclet marks it with .navBarCell1Rev) */
.navBarCell1Rev a {
  background: color-mix(in srgb, var(--color-accent) 12%, transparent) !important;
  border-color: color-mix(in srgb, var(--color-accent) 30%, var(--color-border)) !important;
  color: var(--color-heading) !important;
}

/* Sub-nav underline look */
.subNav {
  border-bottom: 1px solid var(--color-border) !important;
  margin: .35rem 0 1rem !important;
}
.subNav .navList a {
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 8px 8px 0 0 !important;
  color: var(--color-muted) !important;
}
.subNav .navBarCell1Rev a {
  color: var(--color-heading) !important;
  border-bottom-color: var(--color-accent) !important;
  background: transparent !important;
}

/* Search box (old + new doclets) */
#search, .nav-list-search {
  margin-left: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .4rem !important;
}
#search-input {
  font: inherit !important;
  color: var(--color-text) !important;
  padding: .35rem .55rem !important;
  border-radius: 8px !important;
  border: 1px solid var(--color-border) !important;
  background: var(--color-surface) !important;
  min-width: 220px !important;
}

/* Content blocks – ensure visible contrast even if default CSS changes */
.contentContainer > .description,
.description, .details, .memberSummary, .summary, .indexContainer > .block {
  background: var(--color-surface) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 12px !important;
  box-shadow: var(--shadow-1) !important;
  padding: 1rem 1.1rem !important;
  margin: .75rem 0 1rem !important;
}

/* Tables – enforce zebra & header styles if doclet tweaks class names */
table.summaryTable th, table.memberSummary th, table.constantsSummary th, table.typeSummary th,
.summaryTable th, .memberSummary th, .constantsSummary th, .typeSummary th {
  background: color-mix(in srgb, var(--color-surface) 85%, var(--color-border)) !important;
  color: var(--color-heading) !important;
  padding: .65rem .75rem !important;
  border-bottom: 1px solid var(--color-border) !important;
  font-weight: 700 !important;
}
table.summaryTable td, table.memberSummary td, table.constantsSummary td, table.typeSummary td,
.summaryTable td, .memberSummary td, .constantsSummary td, .typeSummary td {
  padding: .55rem .75rem !important;
  border-bottom: 1px solid var(--color-border) !important;
}
.summaryTable tr:nth-child(even) td,
.memberSummary tr:nth-child(even) td {
  background: color-mix(in srgb, var(--color-surface) 95%, var(--color-border)) !important;
}

