/* TOPFIT calculator 2026-09-13 — branded, mobile-first */
:root{--tf-bg:#07070d;--tf-panel:#0e0f19;--tf-panel2:#151321;--tf-text:#f8f7fb;--tf-muted:#b9b5c7;--tf-purple:#d633ff;--tf-pink:#ff4dff;--tf-blue:#00d4ff;--tf-line:rgba(214,51,255,.28);--tf-radius:24px}
body.tf-calculator-page{margin:0;background:radial-gradient(circle at 15% 5%,rgba(214,51,255,.10),transparent 26%),radial-gradient(circle at 88% 28%,rgba(0,212,255,.08),transparent 28%),var(--tf-bg);color:var(--tf-text);font-family:'PT Sans Caption',Arial,sans-serif;min-height:100vh}
body.tf-calculator-page *{box-sizing:border-box}
body.tf-calculator-page a{color:inherit}
.tf-calc-page{min-height:100vh;padding:34px 0 76px}.tf-calc-wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.tf-calc-crumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 24px;color:#8f8b9b;font-size:13px}.tf-calc-crumbs a{color:#d98dff;text-decoration:none}.tf-calc-crumbs span{opacity:.6}
.tf-calc-hero{position:relative;overflow:hidden;border:1px solid rgba(214,51,255,.22);background:linear-gradient(135deg,rgba(18,18,30,.95),rgba(9,10,18,.96));border-radius:30px;padding:38px 40px;margin-bottom:20px;box-shadow:0 24px 80px rgba(0,0,0,.34)}
.tf-calc-hero:after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;right:-120px;top:-180px;background:radial-gradient(circle,rgba(214,51,255,.24),rgba(0,212,255,.08) 42%,transparent 72%);pointer-events:none}.tf-calc-kicker{position:relative;z-index:1;color:#e777ff;font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:13px}.tf-calc-hero h1{position:relative;z-index:1;font-family:'Roboto Condensed','PT Sans Caption',sans-serif;font-size:clamp(38px,6vw,66px);line-height:.98;margin:12px 0 16px;color:#fff;max-width:830px}.tf-calc-hero p{position:relative;z-index:1;max-width:820px;margin:0;color:#d4d0dc;font-size:17px;line-height:1.7}.tf-calc-hero-badges{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap;margin-top:19px}.tf-calc-hero-badges span{border:1px solid rgba(0,212,255,.28);background:rgba(0,212,255,.055);color:#dff9ff;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}
.tf-calc-box{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:18px;align-items:start}.tf-form{background:linear-gradient(145deg,#11121b,#0b0c13);border:1px solid var(--tf-line);border-radius:26px;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:15px;box-shadow:0 22px 70px rgba(0,0,0,.26)}.tf-field{min-width:0}.tf-field.tf-full{grid-column:1/-1}.tf-field label,.tf-field legend{display:block;margin:0 0 8px;color:#f5f3fa;font-size:13px;font-weight:900;letter-spacing:.02em}.tf-fieldset{border:0;padding:0;margin:0;grid-column:1/-1}.tf-field input[type=number],.tf-field select{width:100%;height:51px;border:1px solid rgba(215,132,255,.26);border-radius:14px;background:#090a11;color:#fff;padding:0 14px;font:inherit;font-size:15px;outline:none;transition:.2s}.tf-field input[type=number]:focus,.tf-field select:focus{border-color:#d633ff;box-shadow:0 0 0 3px rgba(214,51,255,.12)}.tf-field select{appearance:auto;color-scheme:dark}.tf-segment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tf-segment.tf-goals{grid-template-columns:repeat(3,minmax(0,1fr))}.tf-segment label{margin:0;cursor:pointer}.tf-segment input{position:absolute;opacity:0;pointer-events:none}.tf-segment span{display:flex;min-height:49px;align-items:center;justify-content:center;text-align:center;padding:10px 9px;border:1px solid rgba(215,132,255,.24);border-radius:14px;background:#0a0b12;color:#c9c4d2;font-size:13px;font-weight:900;transition:.2s}.tf-segment input:checked+span{color:#fff;border-color:rgba(0,212,255,.7);background:linear-gradient(135deg,rgba(214,51,255,.30),rgba(0,212,255,.15));box-shadow:0 0 24px rgba(214,51,255,.15)}.tf-segment span:hover{border-color:rgba(214,51,255,.56)}
.tf-calc-btn{grid-column:1/-1;margin-top:2px;min-height:54px;border:0;border-radius:999px;padding:14px 22px;background:linear-gradient(90deg,#d633ff,#7759ff 54%,#00bfe9);color:#fff;font-family:'Roboto Condensed','PT Sans Caption',sans-serif;font-weight:900;font-size:17px;letter-spacing:.02em;cursor:pointer;box-shadow:0 10px 30px rgba(214,51,255,.25);transition:transform .18s ease,box-shadow .18s ease}.tf-calc-btn:hover{transform:translateY(-1px);box-shadow:0 14px 36px rgba(214,51,255,.32)}.tf-form-note{grid-column:1/-1;margin:-3px 4px 0;color:#817d8d;font-size:11px;line-height:1.5;text-align:center}
.tf-result{position:sticky;top:92px;overflow:hidden;background:linear-gradient(145deg,#171323,#0b0d17);border:1px solid rgba(0,212,255,.24);border-radius:26px;padding:24px;box-shadow:0 22px 70px rgba(0,0,0,.32)}.tf-result:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:3px;background:linear-gradient(90deg,#d633ff,#00d4ff)}.tf-result-kicker{color:#ab9fb8;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.tf-kcal{font-family:'Roboto Condensed','PT Sans Caption',sans-serif;font-size:clamp(48px,7vw,70px);font-weight:900;line-height:.92;color:#fff;margin:10px 0 20px}.tf-kcal span{display:block;margin-top:8px;color:#b4afc0;font-family:'PT Sans Caption',sans-serif;font-size:13px;font-weight:700}.tf-macros{display:grid;grid-template-columns:1fr 1fr;gap:9px}.tf-macro{min-height:90px;border:1px solid rgba(214,51,255,.18);border-radius:16px;padding:13px;background:rgba(255,255,255,.025);color:#c9c5d0;font-size:12px;font-weight:800}.tf-macro .ico{display:block;font-size:18px;margin-bottom:7px}.tf-macro b{display:block;color:#fff;font-size:23px;line-height:1.15;margin-top:3px}.tf-detail{margin-top:15px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tf-detail div{border-radius:12px;background:rgba(255,255,255,.025);padding:10px}.tf-detail small{display:block;color:#8f8999;font-size:10px;margin-bottom:5px}.tf-detail b{color:#fff;font-size:14px}
.tf-content{max-width:960px;margin:42px auto 0}.tf-content h2{font-family:'Roboto Condensed','PT Sans Caption',sans-serif;font-size:clamp(28px,4vw,42px);color:#fff;margin:40px 0 14px}.tf-content h3{color:#f0a1ff;margin-top:0}.tf-content p,.tf-content li{font-size:15px;line-height:1.78;color:#d7d2dc}.tf-content a{color:#ef9fff;font-weight:900;text-decoration:none}.tf-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tf-card{background:#0e1018;border:1px solid rgba(214,51,255,.19);border-radius:18px;padding:18px}.tf-card p{font-size:14px;margin-bottom:10px}.tf-cta{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(119,40,155,.26),rgba(0,148,182,.11));border:1px solid rgba(214,51,255,.42);border-radius:24px;padding:25px;margin:32px 0}.tf-cta h2{margin:0 0 10px}.tf-cta-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}.tf-cta-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:10px 16px;border-radius:999px;background:linear-gradient(90deg,#d633ff,#7759ff);color:#fff;text-decoration:none;font-size:13px}.tf-cta-actions a.alt{background:transparent;border:1px solid rgba(220,112,255,.58)}.tf-faq details{background:#0e1018;border:1px solid rgba(214,51,255,.17);border-radius:15px;padding:15px 17px;margin:9px 0}.tf-faq summary{font-weight:900;cursor:pointer;color:#fff}.tf-disclaimer{margin-top:24px!important;font-size:12px!important;color:#8e8997!important;border-left:3px solid #7b3d91;padding-left:13px}
.tf-home-calc{max-width:1120px;margin:34px auto;padding:0 22px}.tf-home-calc-in{position:relative;overflow:hidden;background:linear-gradient(135deg,#11121d,#171126 55%,#0c1620);border:1px solid rgba(214,51,255,.34);border-radius:26px;padding:28px 30px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;box-shadow:0 18px 60px rgba(0,0,0,.28)}.tf-home-calc-in:before{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:110px;top:-140px;background:radial-gradient(circle,rgba(214,51,255,.32),transparent 70%)}.tf-home-calc-copy{position:relative;z-index:1}.tf-home-calc small{display:block;color:#e676ff;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.tf-home-calc h2{margin:7px 0 8px;color:#fff;font-family:'Roboto Condensed','PT Sans Caption',sans-serif;font-size:clamp(29px,4vw,43px);line-height:1.05}.tf-home-calc p{margin:0;color:#cfc9d6;line-height:1.65;font-size:14px}.tf-home-calc-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.tf-home-calc-tags span{border:1px solid rgba(0,212,255,.25);border-radius:999px;padding:6px 9px;color:#daf8ff;background:rgba(0,212,255,.05);font-size:11px;font-weight:800}.tf-home-calc>a,.tf-home-calc-in>a{position:relative;z-index:1;white-space:nowrap;background:linear-gradient(90deg,#d633ff,#7759ff);color:#fff!important;padding:14px 20px;border-radius:999px;text-decoration:none!important;font-weight:900;font-size:13px;box-shadow:0 8px 25px rgba(214,51,255,.24)}
@media(max-width:900px){.tf-calc-box{grid-template-columns:1fr}.tf-result{position:static}.tf-calc-hero{padding:30px 26px}.tf-home-calc-in{grid-template-columns:1fr}.tf-home-calc-in>a{justify-self:start}.tf-cards{grid-template-columns:1fr}}
@media(max-width:640px){.tf-calc-page{padding:20px 0 94px}.tf-calc-wrap{padding:0 14px}.tf-calc-crumbs{margin-bottom:14px}.tf-calc-hero{border-radius:22px;padding:24px 18px}.tf-calc-hero h1{font-size:39px}.tf-calc-hero p{font-size:14px;line-height:1.65}.tf-calc-box{gap:12px}.tf-form,.tf-result{padding:16px;border-radius:20px}.tf-form{grid-template-columns:1fr;gap:13px}.tf-field.tf-full,.tf-fieldset,.tf-calc-btn,.tf-form-note{grid-column:auto}.tf-segment.tf-goals{grid-template-columns:1fr}.tf-segment.tf-goals span{min-height:44px}.tf-kcal{font-size:54px}.tf-macros{grid-template-columns:1fr 1fr}.tf-detail{grid-template-columns:1fr}.tf-cards{grid-template-columns:1fr}.tf-content{margin-top:30px}.tf-content h2{font-size:30px}.tf-cta{padding:18px}.tf-cta-actions{display:grid}.tf-home-calc{padding:0 14px;margin:26px auto}.tf-home-calc-in{padding:22px 18px;border-radius:21px}.tf-home-calc-in>a{display:flex;width:100%;text-align:center;justify-content:center}.tf-home-calc h2{font-size:31px}}

/* V3 goal-weight journey */
.tf-goal-weight{grid-column:1/-1;border:1px solid rgba(0,212,255,.18);background:linear-gradient(135deg,rgba(214,51,255,.07),rgba(0,212,255,.045));border-radius:18px;padding:16px}
.tf-goal-weight[hidden]{display:none!important}
.tf-goal-weight-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.tf-goal-weight-head b{display:block;color:#fff;font-size:14px}.tf-goal-weight-head small{display:block;color:#9791a2;font-size:11px;line-height:1.45;margin-top:4px}
.tf-goal-weight-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:12px;align-items:end}
.tf-quick-goals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.tf-quick-goals button{min-height:51px;border:1px solid rgba(214,51,255,.26);border-radius:14px;background:#0a0b12;color:#d8d2df;font:900 13px 'PT Sans Caption',sans-serif;cursor:pointer;transition:.18s}
.tf-quick-goals button:hover,.tf-quick-goals button.is-active{border-color:rgba(0,212,255,.72);background:linear-gradient(135deg,rgba(214,51,255,.26),rgba(0,212,255,.13));color:#fff}
.tf-goal-journey{margin-top:15px;border-top:1px solid rgba(255,255,255,.08);padding-top:15px}
.tf-goal-journey[hidden]{display:none!important}
.tf-journey-title{color:#e889ff;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.tf-journey-main{font-family:'Roboto Condensed','PT Sans Caption',sans-serif;color:#fff;font-size:22px;font-weight:900;margin:7px 0 11px;line-height:1.15}
.tf-journey-main span{color:#79e7ff}
.tf-journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.tf-journey-grid>div{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:10px;min-width:0}
.tf-journey-grid small{display:block;color:#8f8999;font-size:9px;line-height:1.35;margin-bottom:5px;text-transform:uppercase;letter-spacing:.04em}
.tf-journey-grid b{display:block;color:#fff;font-size:13px;line-height:1.35}
.tf-target-macros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px}
.tf-target-macros span{display:block;background:rgba(0,212,255,.045);border:1px solid rgba(0,212,255,.12);border-radius:10px;padding:8px 6px;color:#bfefff;font-size:10px;text-align:center;line-height:1.35}
.tf-target-macros b{display:block;color:#fff;font-size:13px;margin-top:2px}
.tf-journey-note{margin:10px 0 0;color:#a8a2b1;font-size:11px;line-height:1.55}
@media(max-width:640px){.tf-goal-weight-grid{grid-template-columns:1fr}.tf-quick-goals{grid-template-columns:repeat(3,1fr)}.tf-journey-grid{grid-template-columns:1fr 1fr}.tf-journey-grid>div:last-child{grid-column:1/-1}.tf-target-macros{grid-template-columns:1fr 1fr}}
