/* Directory-only extension of the existing DMD theme. */
.names-page { background: var(--paper); }
.names-main { width: min(1180px, calc(100% - 2.5rem)); margin: 0 auto; padding-bottom: 4rem; }
.names-intro { padding: 2rem 0 1.5rem; }
.names-intro h1 { margin: .4rem 0 1rem; font: 600 clamp(2.25rem, 5vw, 4.3rem)/1.05 var(--reading); letter-spacing: -.025em; }
.names-intro p { max-width: 70ch; line-height: 1.6; }
.names-tools { display: grid; grid-template-columns: minmax(12rem, 2fr) minmax(10rem, 1fr) minmax(10rem, 1fr) auto; gap: 1rem; padding: 1.25rem; background: var(--ink); color: var(--paper); border-top: 2px solid var(--gold); }
.names-field { display: grid; align-content: start; gap: .45rem; min-width: 0; }
.names-field label { font: 700 .9rem/1.4 var(--ui); }
.names-field input, .names-field select { width: 100%; min-width: 0; min-height: 3rem; border: 1px solid var(--gold); border-radius: 0; padding: .65rem; font: 1rem/1.4 var(--ui); color: var(--ink); background: var(--paper); }
.names-tools button, .names-actions button { cursor: pointer; border: 1px solid var(--gold); border-radius: 0; min-height: 3rem; padding: .65rem 1rem; font: 700 .9rem/1.4 var(--ui); color: var(--ink); background: var(--gold); }
.names-tools button { align-self: end; }
.names-main :focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.names-meta, .names-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; padding: 1rem 0; font: .9rem/1.5 var(--ui); }
.names-meta { justify-content: space-between; }
.names-meta p { margin: 0; }
.names-main a { text-underline-offset: .2em; }
.names-countries { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--rule); border-left: 1px solid var(--rule); }
.names-country { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr) auto; align-items: center; gap: .75rem; padding: 1.25rem; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); text-decoration: none; color: var(--ink); }
.names-country:hover { background: var(--surface-sage); }
.names-country strong { font: 600 1.2rem/1.3 var(--reading); }
.names-country span { font: .9rem/1.4 var(--ui); font-variant-numeric: tabular-nums; }
.names-flag { width: 2.25rem; height: 2rem; object-fit: contain; }
.names-group { margin-top: 2.5rem; }
.names-group h2 { font: 600 1.8rem/1.2 var(--reading); padding-bottom: .75rem; border-bottom: 2px solid var(--green); }
.names-entry { border-bottom: 1px solid var(--rule); scroll-margin-top: 6rem; }
.names-entry > summary { display: grid; grid-template-columns: minmax(0, 1fr) minmax(9rem, .35fr) auto; gap: .6rem 1.5rem; align-items: center; padding: 1.1rem .5rem; cursor: pointer; list-style: none; }
.names-entry > summary::-webkit-details-marker { display: none; }
.names-entry > summary::after { content: '+'; font: 1.4rem var(--ui); color: var(--green); }
.names-entry[open] > summary::after { content: '−'; }
.names-entry > summary strong { display: block; font: 600 1.2rem/1.4 var(--reading); overflow-wrap: anywhere; }
.names-entry > summary small { display: block; margin-top: .25rem; font: .875rem/1.5 var(--ui); color: var(--muted); }
.names-status { font: 700 .875rem/1.4 var(--ui); color: var(--green); }
.names-condition { color: var(--burgundy) !important; font-weight: 700 !important; }
.names-entry__body { padding: 0 .5rem 1.5rem; max-width: 90ch; line-height: 1.6; }
.names-entry__body dl { display: grid; grid-template-columns: minmax(9rem, .3fr) minmax(0, 1fr); gap: .4rem 1rem; font-size: 1rem; }
.names-entry__body dt { font-weight: 700; }
.names-entry__body dd { margin: 0; overflow-wrap: anywhere; }
.names-entry__links { display: flex; gap: .8rem 1.5rem; flex-wrap: wrap; }
.names-entry__links a { color: var(--green); font: 700 .95rem/1.5 var(--ui); }
.names-exception { border-left: 3px solid var(--gold); padding-left: 1rem; }
.names-source-note { font-size: .9rem; color: var(--muted); }
.names-empty { padding: 1.5rem 0; line-height: 1.6; }
.names-results { list-style: none; padding: 0; }
.names-results li { padding: 1rem 0; border-bottom: 1px solid var(--rule); }
.names-results a { color: var(--green); font: 600 1.2rem/1.4 var(--reading); }
.names-results small { display: block; margin-top: .35rem; font: .9rem/1.5 var(--ui); }
.names-scope { margin-top: 3rem; padding: 1.25rem 0; border-top: 1px solid var(--rule); line-height: 1.6; }
.names-scope summary { cursor: pointer; font: 700 1rem/1.4 var(--ui); }
.names-scope p, .names-scope ul { max-width: 85ch; }
.names-main [hidden] { display: none !important; }
@media (max-width: 950px) { .names-tools { grid-template-columns: 1fr 1fr; } .names-countries { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 650px) { .names-countries { grid-template-columns: 1fr 1fr; } .names-country { padding: .9rem; grid-template-columns: 2rem 1fr; } .names-country span { grid-column: 2; } .names-tools { grid-template-columns: 1fr; } .names-entry > summary { grid-template-columns: 1fr auto; } .names-status { grid-column: 1; } .names-entry > summary::after { grid-column: 2; grid-row: 1 / span 2; } .names-entry__body dl { grid-template-columns: 1fr; } .names-entry__body dd { margin-bottom: .5rem; } }
@media print { .names-page .site-header, .names-page .skip-link, .names-page .market-ticker, .names-page .markets-strip, .names-page footer, .names-tools, .names-actions, .names-page .site-breadcrumbs { display: none !important; } .names-main { width: 100%; } .names-entry > summary { padding: .6rem 0; } .names-entry { break-inside: avoid; } .names-entry__body { display: block !important; } .names-entry__links { font-size: .85rem; } .names-main { color: #000; background: #fff; } }
