.psfaq-demo, .psfaq-category-preview { --psfaq-blue: #005b91; --psfaq-ink: #15384b; --psfaq-line: #dce7ec; color: var(--psfaq-ink); }
.entry-content > .psfaq-demo { max-width: 1240px; margin: 0 auto; padding: 110px 28px 40px; }
.psfaq-demo *, .psfaq-category-preview * { box-sizing: border-box; }
.psfaq-demo a, .psfaq-category-preview a { text-decoration: none; }
.psfaq-intro { max-width: 800px; margin-bottom: 28px; }
.psfaq-demo .psfaq-intro h1 { font: 600 40px/1.15 "Barlow Condensed", sans-serif; color: var(--psfaq-ink); margin: 0 0 8px; }
.psfaq-intro > p:last-child { font-size: 17px; line-height: 1.5; color: #546b78; }
.psfaq-models { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 28px; }
.psfaq-models > a { display: flex; flex-direction: column; padding: 20px; color: var(--psfaq-ink); border: 1px solid var(--psfaq-line); border-radius: 6px; background: #fff; transition: border-color .15s, background .15s; }
.psfaq-models > a:hover { border-color: #85aabb; background: #f8fbfc; }
.psfaq-models > a[aria-current] { border: 2px solid var(--psfaq-blue); padding: 19px; background: #f4f8fa; }
.psfaq-model-number { color: var(--psfaq-blue); }
.psfaq-models strong { font-size: 18px; line-height: 1.3; margin-bottom: 8px; }
.psfaq-models a > span:last-child { font-size: 15px; line-height: 1.5; color: #526977; }
.psfaq-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; padding: 20px 0; border-top: 1px solid var(--psfaq-line); border-bottom: 1px solid var(--psfaq-line); margin-bottom: 32px; }
.psfaq-toolbar form { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 0; }
.psfaq-toolbar label { margin: 0; font-size: 14px; font-weight: 600; }
.psfaq-toolbar select { width: auto; min-width: 175px; height: 42px; border: 1px solid #bdcfd8; border-radius: 6px; color: var(--psfaq-ink); padding: 8px 30px 8px 12px; background-color: #fff; }
.psfaq-demo .psfaq-button { display: inline-flex; justify-content: center; align-items: center; padding: 12px 18px; background: var(--psfaq-blue); border: 0; border-radius: 6px; color: #fff; font: 600 14px/1.3 "Barlow", sans-serif; text-transform: none; letter-spacing: 0; cursor: pointer; text-decoration: none !important; }
.psfaq-demo .psfaq-button:hover { background: #084970; }
.psfaq-text-link { color: var(--psfaq-blue); font-weight: 600; font-size: 14px; }
.psfaq-workspace { display: grid; grid-template-columns: minmax(0, 250px) minmax(0, 1fr); gap: 32px; align-items: start; }
.psfaq-explainer { padding: 8px 0; }
.psfaq-demo .psfaq-explainer h2 { font: 600 18px/1.4 "Barlow", sans-serif; color: var(--psfaq-ink); margin: 0 0 10px; }
.psfaq-explainer p { font-size: 15px; line-height: 1.65; color: #526977; }
.psfaq-explainer .psfaq-button { margin-top: 4px; }
.psfaq-explainer .psfaq-note { font-size: 12px; line-height: 1.6; margin-top: 8px; }
.psfaq-status { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; border-top: 1px solid var(--psfaq-line); margin-top: 22px; padding-top: 18px; font-size: 14px; line-height: 1.5; }
.psfaq-status > span { color: #526977; font-size: 13px; }
.psfaq-status a { color: var(--psfaq-blue); text-decoration: underline; }
.psfaq-preview { border: 1px solid var(--psfaq-line); border-radius: 6px; background: #fff; overflow: hidden; }
.psfaq-preview-label { display: flex; justify-content: space-between; gap: 15px; padding: 14px 25px; background: #f6f9fa; border-bottom: 1px solid var(--psfaq-line); font-size: 12px; color: #647c8a; }
.psfaq-faq { padding: 32px; }
.psfaq-faq h2 { font: 600 32px/1.16 "Barlow Condensed", sans-serif; color: var(--psfaq-ink); margin: 0 0 24px; text-transform: none; }
.psfaq-item { margin: 0; border-top: 1px solid var(--psfaq-line); }
.psfaq-item:last-child { border-bottom: 1px solid var(--psfaq-line); }
.psfaq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 20px 0; font: 600 16px/1.45 "Barlow", sans-serif; color: var(--psfaq-ink); cursor: pointer; list-style: none; }
.psfaq-item summary::-webkit-details-marker { display: none; }
.psfaq-item summary::marker { content: ""; }
.psfaq-plus { flex: 0 0 25px; width: 25px; height: 25px; border: 1px solid #cbdce5; border-radius: 50%; position: relative; }
.psfaq-plus::before, .psfaq-plus::after { content: ""; background: var(--psfaq-blue); position: absolute; left: 7px; top: 11px; width: 9px; height: 1px; }
.psfaq-plus::after { transform: rotate(90deg); }
.psfaq-item[open] .psfaq-plus::after { transform: none; }
.psfaq-answer { padding: 0 38px 20px 0; color: #526977; font-size: 16px; line-height: 1.7; overflow-wrap: anywhere; }
.psfaq-answer p { margin: 0 0 12px; }
.psfaq-answer p:last-child { margin-bottom: 0; }
.psfaq-answer a { color: var(--psfaq-blue); text-decoration: underline; }
.psfaq-footnote { margin: 28px 0 0; padding-top: 16px; border-top: 1px solid var(--psfaq-line); color: #526977; font-size: 13px; line-height: 1.6; }
.psfaq-empty { color: #526977; font-size: 16px; line-height: 1.6; }
.psfaq-category-preview { clear: both; margin: 40px auto; scroll-margin-top: 170px; }
.psfaq-category-preview > .psfaq-faq { max-width: 860px; margin: 24px auto; padding: 28px; border: 1px solid var(--psfaq-line); border-radius: 12px; background: #fff; }
.psfaq-demo-banner { padding: 20px 24px; border: 1px solid #c8dde7; border-radius: 8px; background: #eff7fa; font-size: 14px; }
.psfaq-demo-banner nav { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 10px 0; }
.psfaq-demo-banner a { color: var(--psfaq-blue); }
.psfaq-demo-banner a[aria-current] { font-weight: 700; text-decoration: underline; }
.psfaq-demo a:focus-visible, .psfaq-demo button:focus-visible, .psfaq-demo select:focus-visible, .psfaq-faq summary:focus-visible, .psfaq-demo-banner a:focus-visible { outline: 3px solid #d39c31; outline-offset: 4px; }
@media (max-width: 800px) {
	.entry-content > .psfaq-demo { padding: 96px 18px 32px; }
	.psfaq-models { grid-template-columns: 1fr; gap: 10px; }
	.psfaq-models > a { padding: 18px; }
	.psfaq-models > a[aria-current] { padding: 17px; }
	.psfaq-workspace { grid-template-columns: 1fr; gap: 24px; }
	.psfaq-explainer { padding: 0; }
	.psfaq-faq { padding: 24px 20px; }
	.psfaq-faq h2 { font-size: 28px; }
	.psfaq-preview-label { padding: 12px 20px; }
	.psfaq-answer { padding-right: 0; }
	.psfaq-toolbar label { flex-basis: 100%; }
}
