/* ATP Resources — navy #0B2545, gold #C9A227. Override with .atp-res { --atp-res-navy: …; --atp-res-gold: …; } */
.atp-res { --atp-res-navy: #0b2545; --atp-res-gold: #c9a227; --atp-res-muted: #5b6573; --atp-res-line: #e3e6ea; --atp-res-soft: #f5f7fa; color: inherit; }
.atp-res *, .atp-res *::before, .atp-res *::after { box-sizing: border-box; }
.atp-res-search { display: flex; gap: 8px; margin: 0 0 24px; max-width: 680px; }
.atp-res-search input[type=search] { flex: 1 1 auto; min-width: 0; padding: 12px 14px; border: 2px solid var(--atp-res-line); border-radius: 8px; font-size: 1rem; }
.atp-res-search input[type=search]:focus { outline: none; border-color: var(--atp-res-gold); }
.atp-res-search button, .atp-res-cta__button { padding: 12px 20px; border: 0; border-radius: 8px; background: var(--atp-res-navy); color: #fff !important; font-weight: 700; cursor: pointer; text-decoration: none; display: inline-block; }
.atp-res-search button:hover, .atp-res-search button:focus-visible, .atp-res-cta__button:hover, .atp-res-cta__button:focus-visible { background: var(--atp-res-gold); color: var(--atp-res-navy) !important; }
.atp-res-sections { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.atp-res-section, .atp-res-results { border: 1px solid var(--atp-res-line); border-top: 4px solid var(--atp-res-gold); border-radius: 8px; padding: 18px 20px; background: #fff; }
.atp-res-results { margin-bottom: 24px; }
.atp-res-section[hidden] { display: none; }
.atp-res-section__title { color: var(--atp-res-navy); font-size: 1.25rem; font-weight: 700; margin: 0 0 6px; }
.atp-res-section__desc { color: var(--atp-res-muted); margin: 0 0 12px; font-size: .95em; }
.atp-res-list { list-style: none; margin: 0; padding: 0; }
.atp-res-item { padding: 10px 0; border-top: 1px solid var(--atp-res-line); }
.atp-res-item:first-child { border-top: 0; }
.atp-res-item[hidden] { display: none; }
.atp-res-item__title { color: var(--atp-res-navy); font-weight: 700; text-decoration: none; }
.atp-res-item__title:hover, .atp-res-item__title:focus-visible { color: var(--atp-res-gold); text-decoration: underline; }
.atp-res-item__section { display: inline-block; margin-left: 6px; font-size: .78em; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--atp-res-gold); }
.atp-res-item__excerpt { margin: 4px 0 0; color: var(--atp-res-muted); font-size: .92em; line-height: 1.5; }
.atp-res-empty, .atp-res-nomatch { color: var(--atp-res-muted); }
.atp-res-breadcrumb { font-size: .9em; color: var(--atp-res-muted); margin: 0 0 8px; }
.atp-res-breadcrumb a { color: var(--atp-res-navy); }
.atp-res-meta { color: var(--atp-res-muted); font-size: .9em; margin: 0 0 16px; }
.atp-res-toc { background: var(--atp-res-soft); border-left: 4px solid var(--atp-res-gold); padding: 14px 18px; margin: 0 0 24px; border-radius: 0 8px 8px 0; }
.atp-res-toc__title { font-weight: 700; color: var(--atp-res-navy); margin: 0 0 6px; }
.atp-res-toc ol { margin: 0; padding-left: 1.3em; }
.atp-res-toc a { color: var(--atp-res-navy); }
.atp-res-body h2 { color: var(--atp-res-navy); scroll-margin-top: 90px; }
.atp-res-body table { width: 100%; border-collapse: collapse; }
.atp-res-body .wp-block-table { overflow-x: auto; }
.atp-res-body th, .atp-res-body td { border: 1px solid var(--atp-res-line); padding: 8px 10px; }
.atp-res-body th { background: var(--atp-res-navy); color: #fff; }
.atp-res-related { margin: 32px 0 0; padding: 18px 20px; border: 1px solid var(--atp-res-line); border-radius: 8px; }
.atp-res-related__title { color: var(--atp-res-navy); font-size: 1.15rem; margin: 0 0 8px; }
.atp-res-cta { margin: 28px 0 0; padding: 22px 24px; background: var(--atp-res-navy); color: #fff; border-radius: 8px; border-bottom: 4px solid var(--atp-res-gold); }
.atp-res-cta p { margin: 0 0 12px; color: #fff; }
.atp-res-cta__title { font-size: 1.2rem; font-weight: 700; color: var(--atp-res-gold) !important; }
.atp-res-cta .atp-res-cta__button { background: var(--atp-res-gold); color: var(--atp-res-navy) !important; }
.atp-res-cta .atp-res-cta__button:hover, .atp-res-cta .atp-res-cta__button:focus-visible { background: #fff; }
@media (max-width: 600px) {
	.atp-res-sections { grid-template-columns: 1fr; }
	.atp-res-search { flex-direction: column; }
}
