/* Proxy Directory Core — public styles.
   Kadence owns the global look; these are structural styles for pdc data
   components (evidence tags, tables, rows, tools). Colours reference the
   prototype palette: deep navy, cobalt, teal evidence, amber warnings. */

.pdc-container { max-width: 1080px; margin: 0 auto; padding: 0 1rem; }
.pdc-page { padding: 1.5rem 0 3rem; }
.pdc-page-header h1 { margin-bottom: .35em; }
.pdc-page-header p { max-width: 62ch; }

/* Evidence tags — always visible, including mobile */
.pdc-evidence { display: inline-block; padding: .12em .55em; border-radius: 3px; font-size: .78rem; font-weight: 600; line-height: 1.5; white-space: nowrap; }
.pdc-evidence--provider_stated { background: #e8f0fe; color: #1a3f8b; }
.pdc-evidence--observed_test { background: #e0f2f1; color: #00564f; }
.pdc-evidence--editorial_assessment { background: #ede7f6; color: #43277e; }
.pdc-evidence--derived_calculation { background: #eceff1; color: #37474f; }
.pdc-evidence--unknown, .pdc-unknown { background: #fff3e0; color: #8a5300; padding: .12em .55em; border-radius: 3px; font-size: .78rem; font-weight: 600; }
.pdc-evidence--superseded { background: #f5f5f5; color: #616161; text-decoration: line-through; }

.pdc-chip { display: inline-block; background: #eef1f6; color: #22304d; border-radius: 999px; padding: .15em .7em; font-size: .8rem; margin-right: .3em; }
.pdc-note { font-size: .85rem; color: #5b6474; max-width: 70ch; }
.pdc-disclosure { font-size: .82rem; color: #5b6474; border-left: 3px solid #f0b429; padding-left: .7em; max-width: 75ch; }
.pdc-date { white-space: nowrap; }

/* Tables: real headers, horizontal scroll containment, card stacking on mobile */
.pdc-table-wrap { overflow-x: auto; margin: .75rem 0 1.25rem; }
.pdc-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.pdc-table th, .pdc-table td { text-align: left; padding: .55em .7em; border-bottom: 1px solid #e3e6ec; vertical-align: top; }
.pdc-table thead th { background: #101d36; color: #fff; position: sticky; top: 0; }
.pdc-table tbody th { font-weight: 600; }

/* Explorer rows */
.pdc-provider-rows { display: grid; gap: .8rem; margin: 1rem 0; }
.pdc-provider-row { display: grid; grid-template-columns: 2fr 3fr auto; gap: 1rem; align-items: center; border: 1px solid #e3e6ec; border-radius: 8px; padding: .9rem 1.1rem; background: #fff; }
.pdc-provider-row h3 { margin: 0 0 .2em; font-size: 1.05rem; }
.pdc-provider-row p { margin: 0; font-size: .87rem; color: #4a5265; }
.pdc-row-data { display: grid; grid-template-columns: repeat(4, 1fr); gap: .6rem; margin: 0; }
.pdc-row-data dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #6a7385; margin: 0; }
.pdc-row-data dd { margin: 0; font-size: .9rem; }
.pdc-button { display: inline-block; background: #1d4ed8; color: #fff !important; border: 0; border-radius: 6px; padding: .5em 1em; font-size: .9rem; text-decoration: none; cursor: pointer; }
.pdc-button:hover, .pdc-button:focus-visible { background: #16389c; }
.pdc-button--visit { background: #0a7c6a; }
.pdc-button--visit:hover, .pdc-button--visit:focus-visible { background: #075e50; }
.pdc-row-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
:where(.pdc-page) a:focus-visible, .pdc-button:focus-visible, .pdc-filter-form :focus-visible { outline: 3px solid #f0b429; outline-offset: 2px; }

/* Filter form — works as plain GET form */
.pdc-filter-form { display: flex; flex-wrap: wrap; gap: .8rem; align-items: end; background: #f6f8fb; border: 1px solid #e3e6ec; border-radius: 8px; padding: .9rem 1.1rem; }
.pdc-filter-form label { display: grid; gap: .25rem; font-size: .8rem; font-weight: 600; color: #22304d; }
.pdc-filter-form input, .pdc-filter-form select { padding: .45em .6em; border: 1px solid #c6cdd9; border-radius: 6px; font-size: .9rem; min-width: 11em; }

.pdc-pagination { display: flex; gap: .4rem; margin: 1rem 0; }
.pdc-page.is-current, .pdc-pagination .pdc-page { padding: .3em .75em; border: 1px solid #c6cdd9; border-radius: 6px; text-decoration: none; }
.pdc-pagination .is-current { background: #101d36; color: #fff; }

/* Evidence bar */
.pdc-evidence-bar ul { display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; list-style: none; padding: .8rem 1rem; margin: 1rem 0; border: 1px solid #e3e6ec; border-radius: 8px; background: #f6f8fb; font-size: .88rem; }
.pdc-ev-yes { color: #0a5c53; font-weight: 600; }
.pdc-ev-no { color: #8a5300; }

/* Pros/cons */
.pdc-proscons-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.pdc-proscons-col ul { padding-left: 1.2em; }

.pdc-card-list { list-style: none; padding: 0; display: grid; gap: .4rem; }
.pdc-card-list a { text-decoration: none; font-weight: 600; }
.pdc-source-list li { margin-bottom: .35em; overflow-wrap: anywhere; }

/* Tools */
.pdc-tool { border: 1px solid #e3e6ec; border-radius: 8px; padding: 1rem 1.2rem; margin: 1.2rem 0; background: #fff; }
.pdc-tool-form { display: flex; flex-wrap: wrap; gap: .8rem; align-items: end; }
.pdc-tool-form label { display: grid; gap: .25rem; font-size: .85rem; font-weight: 600; }
.pdc-tool-form input { padding: .45em .6em; border: 1px solid #c6cdd9; border-radius: 6px; }
.pdc-tool-result { font-weight: 600; margin-top: .8rem; }

.pdc-ai-summary { border-left: 4px solid #1d4ed8; background: #f6f8fb; padding: .8rem 1rem; margin: 1rem 0; }

/* One-page glossary */
.pdc-glossary-index { display: flex; flex-wrap: wrap; gap: .4rem .6rem; margin: 1rem 0 2rem; }
.pdc-glossary-index a { background: #eef1f6; color: #22304d; border-radius: 999px; padding: .25em .8em; font-size: .85rem; text-decoration: none; font-weight: 600; }
.pdc-glossary-index a:hover, .pdc-glossary-index a:focus-visible { background: #1d4ed8; color: #fff; }
.pdc-glossary-list { margin: 0; }
.pdc-glossary-entry { border-top: 1px solid #e3e6ec; padding: 1.1rem 0; scroll-margin-top: 5rem; }
.pdc-glossary-entry dt h2 { margin: 0 0 .3em; font-size: 1.2rem; }
.pdc-glossary-entry dd { margin: 0; max-width: 70ch; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	.pdc-page * { transition: none !important; animation: none !important; }
}

/* Mobile: stack rows and convert data grids to cards; nothing critical hides */
@media (max-width: 782px) {
	.pdc-provider-row { grid-template-columns: 1fr; }
	.pdc-row-data { grid-template-columns: 1fr 1fr; }
	.pdc-proscons-grid { grid-template-columns: 1fr; }
	.pdc-filter-form input, .pdc-filter-form select { min-width: 100%; }
	.pdc-filter-form label { width: 100%; }
}
