.cts-psf { color: #172033; margin-block: 2rem; max-width: 58rem; }
.cts-psf *, .cts-psf *::before, .cts-psf *::after { box-sizing: border-box; }
.cts-psf > h2, .cts-psf > h3, .cts-psf > h4 { margin: 0 0 .65rem; }
.cts-psf__intro { color: #526078; margin: 0 0 1.25rem; max-width: 50rem; }
.cts-psf__intro p { margin: 0; }
.cts-psf__search { margin-bottom: .9rem; }
.cts-psf__search label { display: block; font-weight: 750; margin-bottom: .35rem; }
.cts-psf__search-row { display: flex; flex-wrap: wrap; gap: .55rem; }
.cts-psf__search input { border: 1px solid #8c8f94; border-radius: .4rem; flex: 1 1 18rem; font: inherit; min-width: 0; padding: .7rem .8rem; }
.cts-psf button { background: #f8fafc; border: 1px solid #94a3b8; border-radius: .4rem; color: #172033; cursor: pointer; font: inherit; font-weight: 700; padding: .62rem .8rem; }
.cts-psf button:hover { background: #eaf1fb; }
.cts-psf button[aria-pressed="true"] { background: #1d4ed8; border-color: #1d4ed8; color: #fff; }
.cts-psf input:focus-visible, .cts-psf button:focus-visible, .cts-psf summary:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.cts-psf__categories, .cts-psf__controls { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: .9rem; }
.cts-psf__controls button { font-size: .9rem; padding-block: .45rem; }
.cts-psf__items { display: grid; }
.cts-psf--gap-compact .cts-psf__items { gap: .45rem; }
.cts-psf--gap-comfortable .cts-psf__items { gap: .75rem; }
.cts-psf--gap-roomy .cts-psf__items { gap: 1.15rem; }
.cts-psf__item { margin: 0; overflow: hidden; }
.cts-psf__item[hidden] { display: none !important; }
.cts-psf--theme-cards .cts-psf__item { background: #fff; border: 1px solid #dbe3ec; border-radius: .65rem; box-shadow: 0 .25rem .8rem rgba(15,23,42,.06); }
.cts-psf--theme-bordered .cts-psf__item { background: transparent; border: 2px solid #cbd5e1; border-radius: .4rem; }
.cts-psf--theme-minimal .cts-psf__item { border: 0; border-bottom: 1px solid #cbd5e1; border-radius: 0; }
.cts-psf__item summary { cursor: pointer; font-weight: 800; padding: .95rem 1rem; }
.cts-psf__item[open] summary { border-bottom: 1px solid #dbe3ec; color: #1d4ed8; }
.cts-psf--theme-minimal .cts-psf__item[open] summary { border-bottom: 0; }
.cts-psf__answer { line-height: 1.65; padding: .9rem 1rem 1rem; }
.cts-psf__answer p:first-child { margin-top: 0; }
.cts-psf__answer p:last-child { margin-bottom: 0; }
.cts-psf__status { font-weight: 750; min-height: 1.5em; }
