.onboarding-hero{padding-bottom:10px}
.onboarding-panel{max-width:900px;margin:4px auto 50px;padding:24px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#151915,#0d100d)}
.onboarding-panel form{display:grid;gap:21px}
.visual-onboarding{max-width:940px;overflow:hidden;padding:28px 32px;background:radial-gradient(circle at 50% -10%,rgba(231,200,117,.11),transparent 42%),linear-gradient(145deg,#151915,#0d100d)}
.visual-onboarding form{gap:18px}
.setup-progress-row{display:grid;grid-template-columns:auto minmax(100px,1fr);gap:16px;align-items:center;color:#abb2aa;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.setup-progress-row b{color:#f2d58e;font-size:14px}
.setup-progress-track{height:5px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.08)}
.setup-progress-track i{display:block;width:14.285%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b9903d,#f0d88f);box-shadow:0 0 18px rgba(231,200,117,.34);transition:width .35s ease}
.setup-step{min-height:335px;animation:setup-enter .32s ease both}
.setup-step[hidden]{display:none}
.setup-step h2{max-width:680px;margin:10px auto 24px;color:#f5f4ed;font-size:clamp(24px,4vw,38px);line-height:1.2;text-align:center}
.setup-section-label{margin:22px 0 10px;color:#d7dbd4;font-size:13px;font-weight:800;letter-spacing:.04em}
.setup-visual-grid{display:grid;gap:14px;margin:auto}
.gender-visual-grid{grid-template-columns:repeat(2,minmax(0,260px));justify-content:center;max-width:560px}
.body-visual-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:820px}
.setup-visual-choice{position:relative;display:grid;overflow:hidden;min-width:0;border:1px solid rgba(255,255,255,.11);border-radius:20px;background:linear-gradient(180deg,#161b16,#0b0e0b);cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s}
.setup-visual-choice:hover{transform:translateY(-3px);border-color:rgba(231,200,117,.38)}
.setup-visual-choice input,.setup-choice input{position:absolute;opacity:0;pointer-events:none}
.setup-athlete{display:block;height:255px;background-image:linear-gradient(180deg,transparent 55%,rgba(8,10,8,.75)),url('/assets/intake-athletes.webp');background-repeat:no-repeat;background-size:400% 200%;background-position:var(--athlete-x) var(--athlete-y);filter:saturate(.88) contrast(1.04);animation:athlete-breathe 3.6s ease-in-out infinite;transform-origin:50% 90%}
.body-visual-grid .setup-athlete{height:235px}
#profile-form[data-gender="female"] .body-visual-grid .setup-athlete{--athlete-y:100%!important}
.setup-visual-choice strong{position:relative;z-index:1;display:block;margin-top:-28px;padding:16px 12px 18px;color:#e9ece6;font-size:16px;text-align:center}
.setup-visual-choice>i,.setup-choice>i{position:absolute;top:12px;right:12px;display:grid;width:27px;height:27px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:#111511;color:transparent;font-style:normal;transition:.2s}
html[dir="rtl"] .setup-visual-choice>i,html[dir="rtl"] .setup-choice>i{right:auto;left:12px}
.setup-visual-choice:has(input:checked),.setup-choice:has(input:checked){border-color:#e7c875;background:linear-gradient(145deg,rgba(80,65,31,.58),#10130f);box-shadow:0 0 0 1px rgba(231,200,117,.18),0 16px 36px rgba(0,0,0,.28)}
.setup-visual-choice:has(input:checked)>i,.setup-choice:has(input:checked)>i{border-color:#e7c875;background:#e7c875;color:#15130c}
.setup-visual-choice:has(input:focus-visible),.setup-choice:has(input:focus-visible){outline:3px solid rgba(231,200,117,.32);outline-offset:3px}
.setup-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.setup-choice-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:600px}
.setup-choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.setup-choice{position:relative;display:grid;min-height:112px;padding:19px 15px;place-items:center;gap:8px;border:1px solid rgba(255,255,255,.11);border-radius:15px;background:#0b0e0b;color:#d8ddd6;text-align:center;cursor:pointer;transition:border-color .2s,transform .2s,background .2s}
.setup-choice:hover{transform:translateY(-2px);border-color:rgba(231,200,117,.38)}
.setup-choice-icon{display:grid;width:30px;height:30px;place-items:center;color:#e7c875}
.setup-choice-icon:empty{display:none}
.setup-choice-icon svg{width:26px;height:26px}
.setup-choice strong{font-size:14px;line-height:1.35}
.measurement-grid{max-width:680px;margin:36px auto 0}
.setup-actions{display:grid;grid-template-columns:minmax(110px,.34fr) minmax(190px,1fr);gap:12px;max-width:600px;width:100%;margin:auto}
.setup-actions button{min-height:54px;border-radius:12px;font:inherit;font-weight:800;cursor:pointer}
.setup-actions button[hidden]{display:none!important}
.setup-prev{border:1px solid rgba(255,255,255,.13);background:#101410;color:#c9cec7}
.setup-actions .profile-submit{grid-column:auto}
@keyframes setup-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes athlete-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.018)}}
.onboarding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.onboarding-field{display:grid;gap:7px;min-width:0;color:#e3e6df;font-size:14px;font-weight:700}
.onboarding-field span{display:block}
.onboarding-field input,.onboarding-field select{width:100%;min-height:52px;padding:11px 13px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#0b0e0b;color:#fff;font:inherit}
.onboarding-field input:focus,.onboarding-field select:focus{border-color:var(--gold)}
.focus-fields{min-width:0;margin:0;padding:0;border:0}
.focus-fields legend{margin-bottom:10px;color:#e3e6df;font-size:14px;font-weight:750}
.focus-fields>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.focus-fields label{position:relative;display:grid;place-items:center;min-height:54px;padding:8px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#0b0e0b;color:#bbc2b9;text-align:center;cursor:pointer}
.focus-fields input{position:absolute;opacity:0;pointer-events:none}
.focus-fields label:has(input:checked){border-color:rgba(231,200,117,.65);background:#2c2515;color:#f3d991}
.visual-focus-fields{max-width:680px;margin:auto}
.visual-focus-fields>div.focus-body-stage{position:relative;display:block;width:min(100%,540px);height:430px;margin:auto;border:1px solid rgba(231,200,117,.18);border-radius:22px;background:radial-gradient(circle at 50% 42%,rgba(231,200,117,.1),transparent 44%),#080b09;overflow:hidden}
.focus-body-figure{position:absolute;inset:10px 50% 10px auto;width:248px;transform:translateX(50%);background-image:url('/assets/focus-male-v2.webp');background-repeat:no-repeat;background-size:contain;background-position:center bottom;filter:saturate(.82) contrast(1.07);transition:filter .25s}
#profile-form[data-gender="female"] .focus-body-figure{background-image:url('/assets/focus-female-v2.webp')}
.focus-body-stage:has(input:checked) .focus-body-figure{filter:saturate(1) contrast(1.08) drop-shadow(0 0 18px rgba(231,200,117,.2))}
.muscle-zone{position:absolute;z-index:1;display:block;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;filter:drop-shadow(0 0 8px rgba(255,196,54,.95));mix-blend-mode:screen}
.muscle-zone:before,.muscle-zone:after{position:absolute;content:"";background:radial-gradient(ellipse at center,rgba(255,219,112,.92) 0,rgba(230,162,32,.72) 48%,rgba(190,105,10,.2) 72%,transparent 76%);border:1px solid rgba(255,226,143,.8);box-shadow:inset 0 0 10px rgba(255,246,207,.65),0 0 16px rgba(229,168,43,.7)}
.muscle-chest{top:19.5%;left:29%;width:42%;height:12%}.muscle-chest:before{inset:0;border-radius:48% 48% 44% 44%}
.muscle-arms{top:22%;left:8%;width:84%;height:31%}.muscle-arms:before,.muscle-arms:after{top:0;width:13%;height:100%;border-radius:60% 45% 60% 48%}.muscle-arms:before{left:0;transform:rotate(8deg)}.muscle-arms:after{right:0;transform:rotate(-8deg)}
.muscle-belly{top:31%;left:36%;width:28%;height:21%}.muscle-belly:before{inset:0;border-radius:40% 40% 48% 48%}
.muscle-legs{top:53%;left:27%;width:46%;height:39%}.muscle-legs:before,.muscle-legs:after{top:0;width:30%;height:100%;border-radius:42% 42% 55% 55%}.muscle-legs:before{left:0}.muscle-legs:after{right:0}
.focus-body-stage:has(input[value="chest"]:checked) .muscle-chest,.focus-body-stage:has(input[value="arms"]:checked) .muscle-arms,.focus-body-stage:has(input[value="belly"]:checked) .muscle-belly,.focus-body-stage:has(input[value="legs"]:checked) .muscle-legs,.visual-focus-fields:has(.focus-full input:checked) .muscle-zone{opacity:1;transform:scale(1.03)}
.focus-fields .focus-hotspot{position:absolute;display:flex;align-items:center;justify-content:space-between;gap:10px;width:135px;min-height:48px;padding:9px 11px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(17,21,17,.94);font-size:13px;font-weight:800;cursor:pointer;z-index:2}
.focus-hotspot i,.focus-full i{display:grid;width:21px;height:21px;place-items:center;border:1px solid rgba(255,255,255,.17);border-radius:50%;color:transparent;font-size:11px;font-style:normal}
.focus-hotspot:has(input:checked) i,.focus-full:has(input:checked) i{border-color:var(--gold);background:var(--gold);color:#17130a}
.focus-hotspot:after{position:absolute;width:48px;height:1px;background:rgba(231,200,117,.35);content:""}
.focus-chest{top:20%;right:17px}.focus-chest:after,.focus-belly:after{right:100%}
.focus-arms{top:35%;left:17px}.focus-arms:after,.focus-legs:after{left:100%}
.focus-belly{top:49%;right:17px}.focus-legs{top:70%;left:17px}
.focus-fields .focus-full{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;width:min(100%,520px);min-height:50px;margin:10px auto 0;padding:10px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:#0b0e0b;color:#c8cec6;font-weight:800;cursor:pointer}
.focus-fields .focus-full input{position:absolute;opacity:0;pointer-events:none}
.setup-consent{display:grid;grid-template-columns:22px minmax(0,1fr);gap:11px;align-items:start;padding:15px;border:1px solid rgba(231,200,117,.2);border-radius:13px;background:#211c12;color:#d3d7d0;font-size:13px;line-height:1.6}
.setup-consent input{width:20px;height:20px;margin-top:1px;accent-color:var(--gold)}
.profile-error{min-height:20px;margin:0;color:var(--danger);font-size:13px}
.profile-submit{width:100%;min-height:55px}
.checkout-panel{max-width:660px}
.checkout-summary{display:grid;grid-template-columns:1fr auto;gap:7px 18px;padding:18px;border:1px solid rgba(231,200,117,.3);border-radius:15px;background:#211c11}
.checkout-summary span{color:#bfc5bd;font-size:13px}
.checkout-summary strong{color:#f2d58e;font-size:16px}
.checkout-summary small{grid-column:1/-1;color:#9ea69d;line-height:1.55}
.checkout-consents{display:grid;gap:10px}
.checkout-consents .setup-consent{margin:0}
.checkout-secure{margin:0;color:#8f978e;font-size:12px;text-align:center}
.setup-back{justify-self:start;border:0;background:transparent;color:#b7beb5;font-size:13px}
html[dir="rtl"] .onboarding-field,html[dir="rtl"] .focus-fields legend{font-family:Cairo,Arial,sans-serif}
@media(max-width:760px){
  .onboarding-panel{margin-bottom:20px;padding:18px;border-radius:17px}
  .visual-onboarding{padding:20px 14px}
  .setup-step{min-height:330px}
  .setup-step h2{margin:8px auto 20px;font-size:26px}
  .gender-visual-grid,.body-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .setup-athlete,.body-visual-grid .setup-athlete{height:210px}
  .setup-choice-grid,.setup-choice-grid.three,.water-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .setup-choice{min-height:92px;padding:15px 8px}
  .setup-actions{grid-template-columns:100px minmax(0,1fr)}
  .onboarding-grid{grid-template-columns:1fr}
  .focus-fields>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .visual-focus-fields>div.focus-body-stage{height:410px}
  .focus-body-figure{width:218px}
  .focus-fields .focus-hotspot{width:112px;min-height:44px;padding:7px 9px;font-size:12px}
  .focus-hotspot:after{width:25px}
  .focus-chest,.focus-belly{right:7px}.focus-arms,.focus-legs{left:7px}
  .checkout-summary{grid-template-columns:1fr}
  .checkout-summary small{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){.setup-athlete,.setup-step{animation:none}.setup-progress-track i,.setup-visual-choice,.setup-choice{transition:none}}
