/* fsheet.css — the phone filter engine's look (see assets/js/fsheet.js).
   Desktop: .fs-wrap is display:contents and the button/sheet never show, so a page
   looks exactly as it did. Phones (≤767px): pinned Filter button + faded chip row +
   bottom sheet. Site palette: navy #0A132B, red #E31937/#C11430, ivory #FBFAF7. */
.fs-wrap{display:contents}
.fs-btn,.fs-sheet{display:none}

@media(max-width:767px){
  /* flex:1 + width:100% — inside a flex bar (blog catnav) the wrapper would otherwise
     shrink to its content, and the contained row has no content width */
  .fs-wrap{display:flex;align-items:center;min-width:0;max-width:100%;width:100%;flex:1 1 auto}
  .fs-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;height:38px;min-height:0!important;padding:0 13px 0 11px;margin:0 8px 0 0;
    border-radius:999px;border:1px solid #0A132B;background:#fff;color:#0A132B;font:600 13px/1 'DM Sans',system-ui,sans-serif;cursor:pointer;
    -webkit-tap-highlight-color:transparent;transition:transform .15s}
  .fs-btn:active{transform:scale(.95)}
  .fs-btn svg{width:17px;height:17px}
  .fs-btn.is-on{background:#0A132B;color:#fff}
  .fs-badge{font-style:normal;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#E31937;color:#fff;font:700 10.5px/18px 'JetBrains Mono',ui-monospace,monospace;text-align:center}
  .fs-badge[hidden]{display:none}
  .fs-wrap>.fs-row{flex:1 1 auto!important;min-width:0!important;width:auto!important;max-width:none!important;margin-left:0!important;margin-right:0!important;
    flex-wrap:nowrap!important;overflow-x:auto!important;scrollbar-width:none;-webkit-overflow-scrolling:touch;
    justify-content:flex-start!important;   /* a centred row that scrolls would clip its first chip */
    contain:inline-size;                    /* a nowrap row must not widen its grid/flex parent (FAQ went 817px wide) */
    margin-top:0!important;margin-bottom:0!important;   /* fsheet.js moves the row's margins onto .fs-wrap */
    display:flex!important;gap:8px;
    -webkit-mask-image:linear-gradient(90deg,#000 0,#000 80%,transparent);mask-image:linear-gradient(90deg,#000 0,#000 80%,transparent)}
  .fs-wrap>.fs-row::-webkit-scrollbar{display:none}
  .fs-wrap>.fs-row>*{flex-shrink:0}

  .fs-sheet{position:fixed;inset:0;z-index:1400;display:flex;align-items:flex-end;color:#0A132B;font-family:'DM Sans',system-ui,sans-serif}
  .fs-sheet[hidden]{display:none}
  .fs-bg{position:absolute;inset:0;background:rgba(10,19,43,.45);opacity:0;transition:opacity .28s}
  .fs-sheet.on .fs-bg{opacity:1}
  .fs-in{position:relative;width:100%;max-height:86vh;display:flex;flex-direction:column;background:#FBFAF7;border-radius:22px 22px 0 0;
    transform:translateY(100%);transition:transform .34s cubic-bezier(.2,.8,.2,1);box-shadow:0 -20px 50px -20px rgba(10,19,43,.45)!important;
    padding-bottom:env(safe-area-inset-bottom,0px)}
  .fs-sheet.on .fs-in{transform:none}
  .fs-in.is-drag{transition:none}
  .fs-grab{width:40px;height:5px;border-radius:3px;background:rgba(10,19,43,.18);margin:10px auto 2px;flex-shrink:0}
  .fs-hd{display:flex;align-items:center;justify-content:space-between;padding:6px 16px 10px;flex-shrink:0;touch-action:none}
  .fs-hd h2{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:21px;line-height:1.2;margin:0;color:#0A132B}
  .fs-x{width:36px;height:36px;min-height:0!important;padding:0;border-radius:50%;border:1px solid #E7E1D6;background:#fff;color:#0A132B;font-size:22px;line-height:1;cursor:pointer}
  .fs-body{overflow-y:auto;overscroll-behavior:contain;padding:0 16px 12px;-webkit-overflow-scrolling:touch}
  .fs-q{display:flex;align-items:center;gap:10px;height:48px;padding:0 14px;background:#fff;border:1.5px solid #E7E1D6;border-radius:14px;margin:0 0 16px}
  .fs-q:focus-within{border-color:#E31937}
  .fs-q svg{width:19px;height:19px;color:#667085;flex-shrink:0}
  .fs-q input{flex:1;min-width:0;height:100%!important;border:0!important;outline:0;background:none!important;box-shadow:none!important;padding:0!important;margin:0!important;
    font:16px/1 'DM Sans',system-ui,sans-serif!important;color:#0A132B}
  .fs-q input::-webkit-search-cancel-button{-webkit-appearance:none}
  .fs-lbl{font:700 10.5px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:1.6px;text-transform:uppercase;color:#667085;margin:0 0 8px}
  .fs-list+.fs-lbl{margin-top:18px}
  .fs-list{display:flex;flex-direction:column;background:#fff;border:1px solid #E7E1D6;border-radius:16px;overflow:hidden}
  .fs-opt{display:flex;align-items:center;gap:12px;width:100%;min-height:52px!important;padding:8px 14px;margin:0;border:0;border-top:1px solid #F0EBE1;border-radius:0;background:none;
    text-align:left;font:500 14.5px/1.3 'DM Sans',system-ui,sans-serif;color:#0A132B;cursor:pointer;transition:background .15s}
  .fs-opt:first-child{border-top:0}
  .fs-opt b{flex:0 0 44px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#F4EEE0;border:1px solid #E6DAC0;
    font:700 9.5px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.6px;color:#B7831F}
  .fs-opt span{flex:1;min-width:0}
  .fs-opt em{font:600 12px/1 'JetBrains Mono',ui-monospace,monospace;font-style:normal;color:#667085}
  .fs-opt::after{content:'';flex:0 0 20px;height:20px;border-radius:50%;border:1.5px solid #CBD2DC;box-sizing:border-box;transition:border .15s}
  .fs-opt.is-on{background:rgba(227,25,55,.05)}
  .fs-opt.is-on span{font-weight:700}
  .fs-opt.is-on::after{border:6px solid #E31937}
  .fs-opt.is-on b{background:#0A132B;border-color:#0A132B;color:#fff}
  .fs-opt.is-zero{opacity:.4}
  .fs-opt:active{background:rgba(10,19,43,.05)}
  .fs-ft{display:flex;gap:10px;padding:12px 16px 14px;border-top:1px solid #E7E1D6;background:#FBFAF7;flex-shrink:0}
  .fs-clr{flex:0 0 auto;height:48px;min-height:0!important;padding:0 18px;border-radius:12px;border:1px solid #E7E1D6;background:#fff;color:#0A132B;font:600 14.5px/1 'DM Sans',system-ui,sans-serif;cursor:pointer}
  .fs-go{flex:1;height:48px;min-height:0!important;border-radius:12px;border:0;background:linear-gradient(145deg,#F0304C,#C11430);color:#fff;font:700 15px/1 'DM Sans',system-ui,sans-serif;cursor:pointer}
  html.fs-lock,html.fs-lock body{overflow:hidden}
  /* scroll arrows / "All N topics" toggles on some strips: a thumb swipes, and the
     sheet already lists every item */
  .tbx-catnav-more,.tbx-catnav-arw,.tcx-topics-prev,.tcx-topics-next{display:none!important}
}
@media(prefers-reduced-motion:reduce){.fs-in,.fs-bg{transition:none}}
