/* SanoobFit picture questions (founder, 17 Oct 2026): the look of the shared piece in sf-pick.js, used by the sign-up,
   Nutrition and APEX PRO. The wheel and the Metric/Imperial switch moved here unchanged from onboarding.html; the photo
   cards are the sign-up's goal, activity and experience cards and its "areas to bring up" grid, for Nutrition and
   APEX PRO. Colours come from each page's own variables (--bg, --border, --accent and the rest). */

/* ---------- Metric/Imperial switch (moved from onboarding.html) ---------- */
.unit-toggle{display:inline-grid;grid-template-columns:1fr 1fr;gap:3px;background:var(--bg);border:1px solid var(--border);
  border-radius:11px;padding:3px;margin-bottom:16px}
.unit-toggle button{font-family:inherit;font-size:13px;font-weight:600;color:var(--muted);background:transparent;border:0;
  padding:8px 18px;border-radius:8px;cursor:pointer}
.unit-toggle button.on{background:var(--surface-2);color:var(--text)}

/* ---------- the wheel (moved from onboarding.html) ---------- */
.wheel{position:relative;height:180px;overflow:hidden;background:var(--bg);border:1px solid var(--border);border-radius:14px}
.wheel-list{height:100%;overflow-y:scroll;scroll-snap-type:y mandatory;scrollbar-width:none;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent);
          mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent)}
.wheel-list::-webkit-scrollbar{display:none}
.wheel-item{height:36px;scroll-snap-align:center;display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:17px;color:var(--muted);opacity:.45;transform:scale(.78);
  transition:transform .12s,color .12s,opacity .12s;will-change:transform}
.wheel-item.cur{color:var(--accent)}
.wheel-band{position:absolute;left:6px;right:6px;top:72px;height:36px;border-top:1px solid var(--border-strong);
  border-bottom:1px solid var(--border-strong);background:rgba(198,242,78,.07);border-radius:8px;pointer-events:none}
.wheel-pad{height:72px}
.wheelwrap{display:flex;align-items:center;gap:14px}
.wheelwrap .wheel{flex:1}
.unitlbl{color:var(--muted);font-size:14px;font-weight:600;min-width:26px;text-align:left}
@media(max-width:430px){
  .wheel{height:160px}
  .wheel-band{top:62px}
  .wheel-pad{height:62px}
}

/* ---------- photo cards (the sign-up's, for Nutrition and APEX PRO) ---------- */
.sfp-card{font-family:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border-strong);border-radius:13px;
  cursor:pointer;text-align:left;transition:.15s;-webkit-tap-highlight-color:transparent;margin:0;width:100%}
.sfp-card.on{background:rgba(198,242,78,.12);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 16px rgba(198,242,78,.22)}

/* goal cards (18 Oct 2026): the whole photo across the top, nothing cut off, the words underneath */
.sfp-goals{display:grid;gap:10px}
.sfp-goal{position:relative;overflow:hidden;padding:0;display:flex;flex-direction:column;align-items:stretch}
.sfp-goal .sfp-gi{display:block;width:100%;aspect-ratio:594/208;background-size:contain;background-position:center;background-repeat:no-repeat;background-color:#151515}
.sfp-goal .sfp-gt{display:block;padding:9px 12px 11px}
.sfp-goals.sfp-two{grid-template-columns:1fr 1fr;gap:8px}
.sfp-goals.sfp-two .sfp-gt{padding:7px 9px 9px}.sfp-goals.sfp-two .t{font-size:13.5px}.sfp-goals.sfp-two .d{font-size:11.5px;margin-top:2px;line-height:1.3}
.sfp-card .t{display:block;font-weight:700;font-size:15px;line-height:1.25}
.sfp-card .d{display:block;font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.45;font-weight:500}
.sfp-card .t .apx-ic{vertical-align:middle;margin:-2px 6px 0 0}

/* activity and experience cards: a photo on top, the words below, a tick when chosen */
.sfp-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sfp-thumb{position:relative;padding:0;overflow:hidden}
.sfp-thumb .sfp-ti{display:block;width:100%;aspect-ratio:2.3/1;background-size:contain;background-position:center;background-repeat:no-repeat;background-color:#151515}
.sfp-thumb .t{padding:6px 8px;font-size:12px;line-height:1.2}
.sfp-thumb .subt{display:block;font-size:9.5px;font-weight:500;color:var(--muted);margin-top:1px}
.sfp-thumb.on{background:var(--bg);box-shadow:none}
.sfp-thumb .sfp-ck{position:absolute;top:6px;right:6px;width:18px;height:18px;border-radius:50%;background:var(--accent);color:#0a0a0a;
  display:none;align-items:center;justify-content:center;font-size:11px;font-weight:900;z-index:2}
.sfp-thumb.on .sfp-ck{display:flex}

/* three across (APEX PRO's three training levels and its body-part photos) */
.sfp-thumbs.sfp-3,.sfp-bps.sfp-3{grid-template-columns:repeat(3,1fr)}
.sfp-thumbs.sfp-3 .sfp-ti{aspect-ratio:1.7/1}

/* body-part cards: the whole photo is the card (it carries its own label), dimmed until chosen */
.sfp-bps{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sfp-bp{position:relative;padding:0;overflow:hidden;border-radius:14px;aspect-ratio:4/3;background:#151515}
.sfp-bp .sfp-bi{position:absolute;inset:0;background-size:contain;background-repeat:no-repeat;background-position:center;
  filter:grayscale(30%) brightness(.72);transition:filter .18s ease}
.sfp-bp::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top, rgba(0,0,0,.25) 0%, rgba(0,0,0,.05) 40%, rgba(0,0,0,0) 100%);transition:background .18s ease}
.sfp-bp.on{background:#151515;box-shadow:0 0 0 1px var(--accent),0 0 14px rgba(198,242,78,.28)}
.sfp-bp.on .sfp-bi{filter:none}
.sfp-bp.on::after{background:transparent}

/* ---------- answer tiles (founder, 18 Oct 2026): every question screen's answers as big tiles, sized to the phone ----------
   Laid out by SFPick.tiles: --sfq-cols columns that fill the width. The value each tile sends is unchanged. */
.sfq-grid{display:grid!important;grid-template-columns:repeat(var(--sfq-cols,2),minmax(0,1fr));gap:8px!important;width:100%}
.sfq-grid > .sfq-tile{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  width:auto;min-width:0;min-height:56px!important;margin:0!important;padding:10px 10px!important;border-radius:14px!important;
  border:1px solid var(--border-strong)!important;background:var(--surface-2,#1a1e24)!important;color:var(--text)!important;
  font-size:14.5px!important;font-weight:700!important;line-height:1.25;text-align:center;white-space:normal;box-shadow:none;
  -webkit-tap-highlight-color:transparent;cursor:pointer}
.sfq-grid > .sfq-tile .apx-ic{margin:0 0 2px!important}
.sfq-grid:not(.sfq-num) > .sfq-tile{flex-direction:row;gap:8px}
.sfq-c3 > .sfq-tile{flex-direction:column!important;gap:4px!important;padding:8px 4px!important;font-size:13.5px!important} /* three across: the icon above the word */
.sfq-c1 > .sfq-tile{justify-content:flex-start;text-align:left;padding:8px 10px 8px 14px!important;min-height:50px!important}
.sfq-grid > .sfq-tile.on,.sfq-grid > .sfq-tile.sel{background:rgba(198,242,78,.14)!important;border-color:var(--accent)!important;
  box-shadow:0 0 0 1px var(--accent)!important;color:var(--text)!important}
.sfq-num > .sfq-tile{min-height:64px!important}
.sfq-odd > .sfq-tile.sfq-last{grid-column:1/-1}
/* an answer the page hides (women-only answers for a man, for example) stays hidden */
.sfq-grid > .sfq-tile[style*="display: none"],.sfq-grid > .sfq-tile[style*="display:none"],.sfq-grid > .sfq-tile[hidden]{display:none!important}
.sfq-tile .sfq-n{font-family:"Archivo",inherit;font-weight:800;font-size:26px;line-height:1}
.sfq-tile .sfq-e{font-size:18px;line-height:1}
.sfq-tile .sfq-u{font-size:11px;font-weight:600;color:var(--muted);text-transform:lowercase;letter-spacing:.02em;line-height:1.1}
.sfq-tile.on .sfq-u,.sfq-tile.sel .sfq-u{color:var(--text);opacity:.8}
@media (max-width:360px){.sfq-tile .sfq-n{font-size:22px}.sfq-grid > .sfq-tile{font-size:13.5px!important}}

/* photo answers as full-width rows (18 Oct 2026): the whole photo on the left, a big label on the right; two across
   (photo on top) only when a short screen needs it (sfp-two) */
.sfp-thumbs.sfp-rows{grid-template-columns:1fr;gap:8px}
.sfp-rows > .sfp-thumb{display:grid;grid-template-columns:46% 1fr;align-items:center;min-height:84px}
.sfp-rows > .sfp-thumb .sfp-ti{aspect-ratio:1.6/1;height:100%;background-size:contain}
.sfp-rows > .sfp-thumb .t{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;padding:8px 12px!important;font-size:16px!important;white-space:normal!important;text-align:left!important;overflow:visible!important}
.sfp-rows > .sfp-thumb .t .subt{display:block;font-size:11.5px}
.sfp-thumbs.sfp-rows.sfp-two{grid-template-columns:1fr 1fr}
.sfp-rows.sfp-two > .sfp-thumb{display:block;min-height:0}.sfp-rows.sfp-two > .sfp-thumb .sfp-ti{height:auto}
.sfp-rows.sfp-two > .sfp-thumb .t{font-size:13.5px!important;padding:6px 8px!important}
