/* Automatic public compliance filters. Scoped to this page. */
.cfsl-compliance-page { padding-block: 36px 56px; }
.cfsl-compliance-intro { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; margin-bottom: 26px; }
.cfsl-compliance-intro .cfsl-eyebrow { margin-bottom: 10px; font-size: 10px; }
.cfsl-site .cfsl-compliance-intro h2 { margin: 0 0 12px; font-size: clamp(24px,3vw,32px); font-weight: 600; letter-spacing: -.5px; }
.cfsl-site .cfsl-compliance-intro p { color: #596f82; font-size: 14px; line-height: 1.8; max-width: 780px; margin: 0; }
.cfsl-compliance-intro > a { flex-shrink: 0; padding: 10px 14px; border: 1px solid #ccdfed; background: #eaf4fc; border-radius: 7px; font-size: 12px; }
.cfsl-compliance-filters { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 22px 24px; padding: 26px; background: #fff; border: 1px solid #d7e4ef; border-radius: 12px; box-shadow: 0 4px 18px #006cb505; }
.cfsl-compliance-filter { min-width: 0; }
.cfsl-compliance-filter label { display: flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 600; color: #334f63; margin-bottom: 10px; }
.cfsl-compliance-filter label > span { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; background: #e8f3fb; color: #006CB5; font-size: 11px; }
.cfsl-compliance-filter select, .cfsl-compliance-filter input { width: 100%; }
.cfsl-site .cfsl-compliance-filter select:disabled, .cfsl-site .cfsl-compliance-filter input:disabled { background: #f3f6f9; color: #7c8f9d; cursor: not-allowed; opacity: 1; }
.cfsl-compliance-search { grid-column: 1 / -1; }
.cfsl-compliance-filter-note { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 16px; border-top: 1px solid #e2ebf2; }
.cfsl-site .cfsl-compliance-filter-note p { color: #5d7488; font-size: 12px; line-height: 1.7; margin: 0; overflow-wrap: anywhere; }
.cfsl-site .cfsl-compliance-filter-note button, .cfsl-site #compliance-clear-search { color: #006CB5; background: #f2f8fc; border: 1px solid #cbdfed; border-radius: 6px; padding: 9px 14px; min-height: 44px; font-size: 12px; cursor: pointer; flex-shrink: 0; }
.cfsl-site .cfsl-compliance-filter-note button:hover, .cfsl-site #compliance-clear-search:hover { background: #e6f2fb; }
.cfsl-compliance-results { margin-top: 26px; background: #fff; border: 1px solid #d7e4ef; border-radius: 12px; padding: 26px; }
.cfsl-compliance-results-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding-bottom: 20px; border-bottom: 1px solid #e1eaf2; }
.cfsl-site .cfsl-compliance-results-head h2 { font-size: 22px; font-weight: 600; margin: 0; }
.cfsl-compliance-results.is-collapsed .cfsl-compliance-results-head { padding-bottom: 0; border-bottom: 0; }
.cfsl-site #compliance-documents-toggle { display: flex; align-items: center; gap: 18px; padding: 6px 0; border: 0; background: transparent; color: #006cb5; font: inherit; text-align: left; cursor: pointer; }
.cfsl-compliance-toggle-icon { display: grid; place-items: center; flex-shrink: 0; width: 30px; height: 30px; border: 1px solid #cbdfea; border-radius: 7px; background: #edf6fc; color: #006cb5; font-size: 23px; font-weight: 400; line-height: 1; }
#compliance-documents-toggle:focus-visible { outline: 3px solid #006cb5; outline-offset: 4px; }
.cfsl-site .cfsl-compliance-results-head p { font-size: 12px; color: #657e91; margin: 0; }
.cfsl-compliance-documents { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 24px; padding: 0; margin: 0; list-style: none; }
.cfsl-compliance-documents > li { min-width: 0; border-bottom: 1px dashed #dce6ee; }
.cfsl-site .cfsl-compliance-documents a { display: flex; align-items: flex-start; gap: 12px; padding: 20px 4px; min-height: 88px; color: #29485e; font-size: 13px; line-height: 1.75; text-decoration: none; }
.cfsl-site .cfsl-compliance-documents a:hover { color: #006CB5; background: #f5faff; }
.cfsl-compliance-file-icon { flex: 0 0 32px; display: grid; place-items: center; height: 39px; margin-top: 2px; border: 1px solid #c51e2d; border-radius: 4px; color: #b51c28; background: #fff4f4; font-size: 9px; font-weight: 700; letter-spacing: .3px; }
.cfsl-compliance-file-copy { min-width: 0; flex: 1; overflow-wrap: anywhere; }
.cfsl-compliance-file-copy small { display: block; color: #71889a; font-size: 10px; margin-top: 6px; }
.cfsl-compliance-file-arrow { flex-shrink: 0; color: #7192aa; font-size: 16px; }
.cfsl-compliance-empty { text-align: center; padding: 40px 20px; }
.cfsl-compliance-empty-icon { width: 55px; height: 55px; display: grid; place-items: center; margin: 0 auto 18px; border: 1px solid #d5e5f1; background: #eff7fc; color: #006CB5; border-radius: 12px; font-size: 27px; }
.cfsl-site .cfsl-compliance-empty h3 { padding: 0; border: 0; font-size: 19px; line-height: 1.6; margin: 0 0 10px; color: #345369; }
.cfsl-site .cfsl-compliance-empty p { font-size: 13px; line-height: 1.8; color: #698195; margin: 0 auto 14px; max-width: 530px; text-align: center; }
.cfsl-compliance-page [hidden] { display: none !important; }
.cfsl-site .cfsl-compliance-noscript { font-size: 13px; color: #9c2732; }
@media (max-width: 1000px) {
    .cfsl-compliance-intro { flex-direction: column; gap: 16px; }
    .cfsl-compliance-documents { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
    .cfsl-compliance-page { padding-block: 24px 36px; }
    .cfsl-compliance-filters { grid-template-columns: minmax(0,1fr); gap: 20px; padding: 20px 16px; }
    .cfsl-compliance-filter-note { flex-direction: column; align-items: flex-start; gap: 12px; }
    .cfsl-compliance-results { padding: 20px 16px; }
    .cfsl-compliance-documents { grid-template-columns: minmax(0,1fr); }
    .cfsl-compliance-empty { padding: 30px 4px; }
    .cfsl-site .cfsl-compliance-results-head h2 { font-size: 20px; }
}
