/* ============================================================
   Partner Finder (2 October 2026) -- the site page and the app share
   this file and wnp-partner-finder.js.

   Tokens only: the site's own green, dark green, brick, sage, sand, ink
   and muted (see .design-sync/conventions.md). Each falls back to its
   value so the app, which has its own stylesheet, draws the same thing.
   Poppins. No emoji -- SVG line icons. Mobile first: cards, not tables;
   48px targets; sheets that fill a phone.
   ============================================================ */
.pf{--pf-green:var(--green,#0F6939);--pf-green-dark:var(--green-dark,#0A4A28);
  --pf-brick:var(--brick,#931B24);--pf-sage:var(--sage,#EFF3EE);--pf-sand:var(--sand,#FBF8F3);
  --pf-ink:var(--ink,#232620);--pf-muted:var(--muted,#5B6259);--pf-line:rgba(35,38,32,.12);
  font-family:'Poppins',sans-serif;color:var(--pf-ink);max-width:760px;margin:0 auto;}
.pf *{box-sizing:border-box;}
.pf h2{font-size:22px;font-weight:700;margin:0 0 4px;line-height:1.2;}
.pf h3{font-size:16px;font-weight:700;margin:0 0 10px;}
.pf p{margin:0 0 10px;line-height:1.55;font-size:15px;}
.pf-muted{color:var(--pf-muted);font-size:14px;}
.pf-sec{margin:22px 0;}
.pf-sec-h{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--pf-muted);margin:0 0 10px;}

.pf-card{background:#fff;border:1px solid var(--pf-line);border-radius:14px;padding:16px;margin:0 0 12px;}
.pf-card-sage{background:var(--pf-sage);border-color:transparent;}
.pf-card-hi{border:2px solid var(--pf-green);}
.pf-row{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;}
.pf-grow{flex:1 1 200px;min-width:0;}

.pf-event-name{font-size:18px;font-weight:700;margin:0 0 2px;}
.pf-meta{font-size:14px;color:var(--pf-muted);margin:0 0 8px;}
.pf-chips{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 0;}
.pf-chip{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;
  padding:4px 10px;border-radius:999px;background:var(--pf-sage);color:var(--pf-green-dark);}
.pf-chip-ext{background:var(--pf-sand);color:var(--pf-brick);}
.pf-counts{display:flex;gap:18px;flex-wrap:wrap;margin:10px 0 0;}
.pf-count b{display:block;font-size:22px;color:var(--pf-green);line-height:1.1;}
.pf-count span{font-size:13px;color:var(--pf-muted);}

.pf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;
  padding:0 20px;border-radius:10px;font:600 15px 'Poppins',sans-serif;cursor:pointer;
  border:2px solid var(--pf-green);background:var(--pf-green);color:#fff;text-decoration:none;}
.pf-btn:hover{background:var(--pf-green-dark);border-color:var(--pf-green-dark);}
.pf-btn-ghost{background:#fff;color:var(--pf-green);}
.pf-btn-ghost:hover{background:var(--pf-sage);color:var(--pf-green-dark);}
.pf-btn-quiet{background:transparent;border-color:transparent;color:var(--pf-green);padding:0 10px;}
.pf-btn-quiet:hover{background:var(--pf-sage);border-color:transparent;}
.pf-btn-red{background:var(--pf-brick);border-color:var(--pf-brick);}
.pf-btn-red:hover{background:var(--pf-brick);opacity:.92;}
.pf-btn[disabled]{opacity:.55;cursor:default;}
.pf-btn-wide{width:100%;}
.pf-btns{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 0;}
.pf-btns .pf-btn{flex:1 1 140px;}
.pf :focus-visible{outline:3px solid var(--pf-brick);outline-offset:2px;}

.pf-player-name{font-size:17px;font-weight:700;}
.pf-player-rating{font-size:14px;font-weight:600;color:var(--pf-green-dark);}
.pf-facts{font-size:14px;color:var(--pf-muted);margin:4px 0 0;}
.pf-note{font-size:14px;font-style:italic;margin:8px 0 0;color:var(--pf-ink);}
.pf-match{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;
  color:var(--pf-green-dark);background:var(--pf-sage);border-radius:999px;padding:4px 10px;margin:8px 0 0;}
.pf-reasons{list-style:none;padding:0;margin:6px 0 0;}
.pf-reasons li{display:flex;gap:6px;align-items:flex-start;font-size:13.5px;margin:2px 0;}
.pf-reasons svg,.pf-match svg{flex:0 0 auto;margin-top:2px;}
.pf-msg{background:var(--pf-sand);border-radius:10px;padding:10px 12px;font-size:14px;margin:10px 0 0;}

.pf-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0 0 12px;}
.pf-field{display:block;margin:0 0 16px;}
.pf-field>span,.pf-legend{display:block;font-size:14px;font-weight:600;margin:0 0 6px;}
.pf select,.pf textarea,.pf input[type=text]{width:100%;min-height:48px;border:1.5px solid var(--pf-line);
  border-radius:10px;padding:10px 12px;font:16px 'Poppins',sans-serif;color:var(--pf-ink);background:#fff;}
.pf textarea{min-height:90px;resize:vertical;}
.pf fieldset{border:0;padding:0;margin:0 0 16px;}
.pf-options{display:flex;gap:8px;flex-wrap:wrap;}
.pf-opt{position:relative;}
.pf-opt input{position:absolute;opacity:0;width:1px;height:1px;}
.pf-opt span{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;
  border:1.5px solid var(--pf-line);font-size:14.5px;cursor:pointer;background:#fff;}
.pf-opt input:checked+span{border-color:var(--pf-green);background:var(--pf-sage);color:var(--pf-green-dark);font-weight:600;}
.pf-opt input:focus-visible+span{outline:3px solid var(--pf-brick);outline-offset:2px;}
.pf-check{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.45;margin:0 0 12px;cursor:pointer;}
.pf-check input{width:22px;height:22px;flex:0 0 auto;margin-top:1px;accent-color:var(--pf-green);}
.pf-counter{font-size:12.5px;color:var(--pf-muted);text-align:right;margin-top:4px;}
.pf-err{color:var(--pf-brick);font-size:14px;font-weight:600;margin:10px 0 0;}
.pf-ok{color:var(--pf-green-dark);font-size:14px;font-weight:600;margin:10px 0 0;}

.pf-empty{text-align:center;padding:26px 16px;}
.pf-empty h3{margin-bottom:6px;}
.pf-partnered{text-align:center;}
.pf-partnered .pf-big{font-size:24px;font-weight:800;color:var(--pf-green);margin:4px 0;}
.pf-steps{list-style:none;padding:0;margin:12px 0 0;text-align:left;}
.pf-steps li{display:flex;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--pf-line);font-size:15px;}

/* Above the site's floating Ask Pickle and Feedback buttons (9001 and
   up), which otherwise sat on the Send button on a phone. */
.pf-sheet-back{position:fixed;inset:0;z-index:2147483000;background:rgba(35,38,32,.45);display:flex;
  align-items:flex-end;justify-content:center;}
.pf-sheet{background:#fff;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;border-radius:18px 18px 0 0;
  padding:20px 18px calc(20px + env(safe-area-inset-bottom));font-family:'Poppins',sans-serif;color:var(--pf-ink);}
@media (min-width:700px){
  .pf-sheet-back{align-items:center;}
  .pf-sheet{border-radius:18px;}
}
.pf-sheet-top{display:flex;justify-content:space-between;align-items:center;margin:0 0 12px;}
.pf-sheet-top h3{margin:0;font-size:19px;}
.pf-x{min-width:44px;min-height:44px;border:0;background:transparent;border-radius:10px;cursor:pointer;color:var(--pf-ink);}
.pf-x:hover{background:var(--pf-sage);}
.pf-loading{padding:30px;text-align:center;color:var(--pf-muted);}
