/* FIT FIX */
.fitfix-panel{max-width:1040px;margin:0 auto}
.fitfix-head{text-align:center;margin:0 auto 1.55rem;max-width:780px}
.fitfix-top-back{display:flex;align-items:center;justify-content:flex-start;width:100%;max-width:1040px;background:none;border:none;color:#3f3b35;font-size:13px;font-weight:850;padding:0;margin:0 auto 28px;line-height:1;transition:color .15s ease}
.fitfix-top-back:hover{color:#111}
.fitfix-top-back[hidden]{display:flex;visibility:hidden;pointer-events:none}
.fitfix-kicker{font-size:12px;font-weight:850;letter-spacing:0;color:#aaa;margin-bottom:.35rem}
.fitfix-title{font-family:var(--fd);font-size:30px;font-weight:850;line-height:1.04;letter-spacing:-.8px;margin-bottom:.5rem}
.fitfix-sub{font-size:14px;line-height:1.45;color:#77736c;margin:0 auto;max-width:600px}
.fitfix-stage{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:1rem;align-items:center;max-width:1040px;margin:0 auto}
.fitfix-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0;position:relative}
.fitfix-card{position:relative;border:1px solid rgba(10,10,10,.1);border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 18px 45px rgba(10,10,10,.055)}
.fitfix-card img{width:100%;aspect-ratio:2/3;object-fit:cover;object-position:center bottom;background:#ebe8e1;display:block}
.fitfix-vs{display:flex;align-items:center;justify-content:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px;z-index:5;border-radius:999px;background:#0a0a0a;color:#fff;border:4px solid #fff;box-shadow:0 12px 28px rgba(10,10,10,.18);font-size:12px;font-weight:900;letter-spacing:.06em;pointer-events:none}
.fitfix-badge{position:absolute;top:12px;left:12px;z-index:2;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(10,10,10,.72);backdrop-filter:blur(8px)}
.fitfix-card.bad .fitfix-badge{background:rgba(126,55,42,.78)}
.fitfix-card.good .fitfix-badge{background:rgba(28,142,74,.82)}
.fitfix-explain{display:grid;grid-template-columns:1fr;gap:10px;position:sticky;top:90px;align-self:center;border:1px solid rgba(10,10,10,.1);border-radius:20px;background:#fff;padding:12px;box-shadow:0 18px 45px rgba(10,10,10,.055)}
.fitfix-note{border:1px solid rgba(126,55,42,.16);border-radius:14px;background:#fffaf7;padding:13px 14px;text-align:left;box-shadow:none}
.fitfix-note+.fitfix-note{margin-top:0;padding-top:13px;border-top:1px solid rgba(28,142,74,.16)}
.fitfix-note.fix{background:#f7fbf7;border-color:rgba(28,142,74,.18)}
.fitfix-note-label{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#8b8178;margin-bottom:7px}
.fitfix-note-label::before{display:none}
.fitfix-note.fix .fitfix-note-label::before{background:var(--green)}
.fitfix-note-text{font-size:15px;line-height:1.32;color:#312f2b;font-weight:780;letter-spacing:-.1px}
.fitfix-actions{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;margin-top:2px;padding-top:0;border-top:0}
.fitfix-action-row{display:grid;grid-template-columns:1fr;gap:8px}
.fitfix-action-row.single{grid-template-columns:1fr}
.fitfix-actions .btn-secondary{min-height:46px}
.fitfix-actions #fitFixNextBtn:focus,.fitfix-actions #fitFixNextBtn:focus-visible{outline:none;box-shadow:none}
.fitfix-handoff{display:none;grid-column:1/-1;margin:0 0 2px;text-align:center;font-size:12px;line-height:1.35;color:#77736c;font-weight:700}
.fitfix-handoff.on{display:block}
.fitfix-share-btn{display:flex;align-items:center;justify-content:center}
.fitfix-share-modal{display:none}
.fitfix-share-modal.on{display:flex}
.fitfix-share-backdrop{position:fixed;inset:0;z-index:90;background:rgba(10,10,10,.52)}
.fitfix-share-sheet{position:fixed;left:50%;bottom:0;z-index:91;width:min(100%,430px);max-height:92svh;transform:translateX(-50%);border-radius:22px 22px 0 0;background:#f7f6f3;border:1px solid rgba(10,10,10,.12);box-shadow:0 -24px 70px rgba(10,10,10,.24);padding:14px 14px max(14px,env(safe-area-inset-bottom));overflow:auto}
.fitfix-share-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.fitfix-share-sheet-title{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#7a766f}
.fitfix-share-close{border:1px solid rgba(10,10,10,.12);background:#fff;color:#111;border-radius:999px;width:34px;height:34px;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center}
.fitfix-share-preview{display:block;width:100%;max-width:330px;margin:0 auto;border-radius:18px;background:#e9e5dc;box-shadow:0 20px 44px rgba(10,10,10,.18)}
.fitfix-share-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.fitfix-share-modal-actions .btn-secondary{min-height:44px}

/* FIT CHECK */
.fitcheck-panel{max-width:1040px;margin:0 auto}
.fitcheck-head{text-align:center;margin:0 auto 1.45rem;max-width:720px}
.fitcheck-kicker{font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#aaa;margin-bottom:.35rem}
.fitcheck-title{font-family:var(--fd);font-size:30px;font-weight:850;line-height:1.04;letter-spacing:-.8px;margin-bottom:.5rem}
.fitcheck-sub{display:none}
.fitcheck-stage{display:block;max-width:900px;margin:0 auto}
.fitcheck-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;position:relative}
.fitcheck-card{position:relative;border:1px solid rgba(10,10,10,.1);border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 18px 45px rgba(10,10,10,.055);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,opacity .18s ease}
.fitcheck-card:hover{transform:translateY(-4px);box-shadow:var(--shadow2);border-color:rgba(10,10,10,.18)}
.fitcheck-card img{width:100%;aspect-ratio:2/3;object-fit:cover;object-position:center bottom;background:#ebe8e1;display:block}
.fitcheck-badge{position:absolute;top:12px;left:12px;z-index:2;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(10,10,10,.72);backdrop-filter:blur(8px)}
.fitcheck-card.correct{border-color:rgba(28,142,74,.68);box-shadow:0 18px 45px rgba(28,142,74,.16)}
.fitcheck-card.wrong{border-color:rgba(126,55,42,.38)}
.fitcheck-card.wrong img{filter:saturate(.86)}
.fitcheck-card.correct .fitcheck-badge{background:rgba(28,142,74,.85)}
.fitcheck-card.wrong .fitcheck-badge{background:rgba(126,55,42,.82)}
.fitcheck-card.not-selected{opacity:.78}
.fitcheck-card.tap-registered{transform:scale(.985);box-shadow:0 18px 48px rgba(28,142,74,.18);border-color:rgba(28,142,74,.72)}
.fitcheck-vs{display:flex;align-items:center;justify-content:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px;z-index:5;border-radius:999px;background:#0a0a0a;color:#fff;border:4px solid #fff;box-shadow:0 12px 28px rgba(10,10,10,.18);font-size:12px;font-weight:900;letter-spacing:.06em;pointer-events:none}
.fitcheck-explain{display:none}
.fitcheck-result{border:1px solid rgba(10,10,10,.08);border-radius:14px;background:#fbfaf8;padding:14px;text-align:left}
.fitcheck-result-label{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#8b8178;margin-bottom:7px}
.fitcheck-result-text{font-family:var(--fd);font-size:20px;font-weight:850;line-height:1.05;letter-spacing:-.45px;color:#171513}
.fitcheck-note{border:1px solid rgba(28,142,74,.18);border-radius:14px;background:#f7fbf7;padding:13px 14px;text-align:left}
.fitcheck-note.secondary{border-color:rgba(126,55,42,.16);background:#fffaf7}
.fitcheck-note-label{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#8b8178;margin-bottom:7px}
.fitcheck-note-label::before{display:none}
.fitcheck-note.secondary .fitcheck-note-label::before{background:#b86a52}
.fitcheck-note-text{font-size:15px;line-height:1.32;color:#312f2b;font-weight:780;letter-spacing:-.1px}
.fitcheck-actions{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;margin-top:2px;padding-top:0;border-top:0}
.fitcheck-actions .btn-secondary{min-height:46px}
.fitcheck-actions .btn-secondary:disabled{opacity:.52;cursor:not-allowed;transform:none}
.fitcheck-gate-panel{display:none;max-width:560px;margin:0 auto;text-align:center;padding:4rem 1rem 4.5rem}
.fitcheck-gate-panel.on{display:block}
.fitcheck-gate-kicker{font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#aaa;margin-bottom:.45rem}
.fitcheck-gate-title{font-family:var(--fd);font-size:34px;font-weight:850;line-height:1.04;letter-spacing:-.9px;margin-bottom:.65rem}
.fitcheck-gate-sub{font-size:14px;line-height:1.45;color:#77736c;max-width:430px;margin:0 auto 1.3rem}
.fitcheck-gate-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.fitcheck-gate-actions .btn-secondary{min-height:46px;min-width:156px}
