/* Vitala 2.0 - exercise logging and verified general reference photography. */
.v2-ex-page{max-width:980px;margin:auto;padding:12px 0 45px}
.v2-ex-page-head{margin:10px 0 24px;display:grid;justify-items:start;gap:12px}
.v2-ex-page-head h1{font-size:clamp(27px,5vw,37px);letter-spacing:-.04em;margin:0}
.v2-ex-page-head p{color:#555b60;margin:0;font-size:15px;line-height:1.55}
.v2-ex-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.v2-ex-choice{background:#fff;border:1px solid #dedee1;border-radius:17px;padding:19px 16px;display:flex;flex-direction:column;align-items:start;gap:7px;min-width:0;min-height:100px;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}
.v2-ex-choice strong{font-size:16px;line-height:1.25;color:#1b1c1d}
.v2-ex-choice span{font-size:13px;color:#666b71;line-height:1.55}
.v2-ex-choice.is-selected,.v2-ex-choice:focus-visible{border:2px solid #aa2435;background:#fff9f9;outline-offset:2px}
.v2-ex-secondary{display:flex;gap:10px;margin-top:19px;flex-wrap:wrap}
.v2-ex-flow{display:grid;gap:16px;min-width:0;max-width:100%;width:100%}
.v2-ex-flow *{box-sizing:border-box}
.v2-ex-head{display:grid;gap:7px}
.v2-ex-head>span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:#9d2738}
.v2-ex-head h3{font-size:clamp(23px,5vw,30px);letter-spacing:-.035em;margin:0}
.v2-ex-about{margin:0;color:#51565b;line-height:1.6;font-size:15px}
.v2-ex-photo{margin:0;border-radius:15px;overflow:hidden;background:#f4f4f4;border:1px solid #e8e8e9}
.v2-ex-photo img{width:100%;height:185px;display:block;object-fit:cover}
.v2-ex-photo figcaption{font-size:10px;color:#60666a;padding:7px 12px}
.v2-ex-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:17px}
.v2-ex-fields>label,.v2-ex-strength label{display:flex;flex-direction:column;gap:9px;font-size:14px;font-weight:730;min-width:0;color:#303336}
.v2-ex-fields input{width:100%;min-width:0;min-height:54px;border:1px solid #d9dbdc;border-radius:13px;padding:10px 13px;background:white;color:#161719;font-size:17px}
.v2-ex-fields fieldset{border:0;margin:0;padding:0;min-width:0}
.v2-ex-fields legend{font-size:14px;font-weight:730;margin-bottom:10px}
.v2-ex-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.v2-ex-levels button{min-height:51px;padding:10px 7px;border:1px solid #dadbdd;background:#fff;border-radius:12px;font-size:14px;font-weight:750;cursor:pointer}
.v2-ex-levels button.selected{background:#1d1d1f;color:white;border-color:#1d1d1f}
.v2-ex-strength{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.v2-ex-strength label:last-child{grid-column:1/-1}
.v2-ex-review{border-radius:18px;padding:23px 20px;background:#f6f6f5;border:1px solid #e9e9e8;display:grid;gap:11px;min-width:0}
.v2-ex-review>strong:first-child{font-size:22px;letter-spacing:-.02em}
.v2-ex-review p{margin:0;line-height:1.6;color:#4d5055;font-size:14px}
.v2-ex-review .v2-ex-calories{font-size:34px;letter-spacing:-.04em;color:#1c1d1f}
.v2-ex-calories small{display:block;font-size:12px;color:#555a60;font-weight:550;letter-spacing:0}
.v2-ex-foot{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
.v2-ex-foot button{width:100%;min-width:0;min-height:52px;border-radius:14px;font-size:15px;font-weight:800;white-space:normal}
.modal:has(.v2-ex-flow){width:min(580px,calc(100vw - 20px));max-width:580px;box-sizing:border-box;overflow-y:auto;max-height:calc(100dvh - 30px);padding:clamp(16px,4vw,26px)}
.modal:has(.v2-ex-flow)>.modal-head{min-width:0}
@media(max-width:640px){.v2-ex-page{padding:0 0 45px}.v2-ex-choice-grid{grid-template-columns:1fr;gap:9px}.v2-ex-choice{min-height:76px;padding:13px 15px}.v2-ex-choice span{font-size:12px}.v2-ex-flow>.v2-ex-choice-grid{max-height:49dvh;overflow-y:auto}.v2-ex-photo img{height:160px}.v2-ex-head h3{font-size:23px}.v2-ex-foot{gap:9px}}
@media(prefers-reduced-motion:reduce){.v2-ex-choice{transition:none}}
