/* Fastener SEO Pages — mobile-first, builds on fff.css. Two-column layout
   with a sticky left sidebar (TOC + recommended), mirroring the product page. */

.fsp-page{max-width:1180px;margin:0 auto;padding:0 16px}
.fsp-layout{display:grid;grid-template-columns:260px 1fr;gap:32px;margin-top:14px;align-items:start}
.fsp-side{position:sticky;top:84px;display:flex;flex-direction:column;gap:18px;font-size:13.5px}
.fsp-side-title{margin:0 0 6px;font-size:12px;font-weight:700;color:var(--fff-muted);text-transform:uppercase;letter-spacing:.5px}
.fsp-toc,.fsp-side-panel{background:#fff;border:1px solid var(--fff-line);border-radius:10px;padding:12px 14px;box-shadow:0 1px 2px rgba(15,28,46,.04)}
.fsp-toc-list,.fsp-side-list{list-style:none;margin:0;padding:0;line-height:1.85}
.fsp-toc-list a,.fsp-side-list a{color:var(--fff-primary);text-decoration:none;font-weight:600;display:block;border-radius:5px;padding:3px 8px;margin:0 -8px}
.fsp-toc-list a:hover,.fsp-side-list a:hover{background:var(--fff-bg);text-decoration:none}
.fsp-side-list{font-weight:500;line-height:1.6}
.fsp-side-list li{padding:3px 0;border-bottom:1px dashed var(--fff-line)}
.fsp-side-list li:last-child{border-bottom:0}
.fsp-side-list a{font-weight:500;padding:2px 6px;margin:0 -6px;font-size:13px}

.fsp-main{min-width:0}
.fsp-head{margin:6px 0 18px}
.fsp-body{margin-bottom:24px}
.fsp-body h2{margin-top:28px;font-size:22px;color:var(--fff-primary)}
.fsp-body h3{margin-top:18px;font-size:17px}
.fsp-body p{line-height:1.65}
.fsp-body table.fff-spec-table th[scope=row]{background:var(--fff-bg);text-align:left;white-space:normal;width:38%}
.fsp-note{font-size:13px;color:var(--fff-muted);font-style:italic;margin-top:8px;padding:8px 12px;background:var(--fff-bg);border-left:3px solid var(--fff-line);border-radius:4px}

.fsp-quote{margin:28px 0;padding:20px 24px;background:linear-gradient(180deg,#f8fafd,#fff);border:1px solid var(--fff-primary);border-radius:10px}
.fsp-quote h2{margin-top:0;color:var(--fff-primary)}
.fsp-quote-help{margin:0 0 14px;font-size:14px;color:var(--fff-muted);line-height:1.55}
.fsp-spec-table{margin:24px 0}
.fsp-spec-table h2{margin-top:0}

.fsp-links{margin-top:30px;padding-top:20px;border-top:1px solid var(--fff-line)}
.fsp-links h3{font-size:15px;margin:16px 0 6px}
.fsp-parent{font-weight:600}
.fsp-links .fff-related-links{columns:2;column-gap:28px;list-style:disc;padding-left:20px}

.fff-faq-item.is-generic summary{color:var(--fff-muted);font-weight:500}

@media(max-width:980px){
  .fsp-layout{grid-template-columns:1fr;gap:18px}
  .fsp-side{position:static;flex-direction:row;flex-wrap:wrap;gap:10px}
  .fsp-side > *{flex:1 1 220px}
  .fsp-side-title{font-size:11px}
}
@media(max-width:600px){
  .fsp-page{padding:0 12px}
  .fsp-links .fff-related-links{columns:1}
  .fsp-body h2{font-size:19px}
  .fsp-quote{padding:16px 18px}
}
