/* FASTRO / kalkulator — wyłącznie podstrona kalkulatora. */
.fc-section{padding:102px 0 118px;background:#f9f6f1;color:#191919}
.fc-section *,.fc-closer *{box-sizing:border-box}
.fc-intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:end;gap:55px;margin-bottom:49px}
.fc-kicker{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.17em;color:#a7671c;font-weight:800;text-transform:uppercase}
.fc-dot{display:inline-block;width:8px;height:8px;background:#f39222;border-radius:50%}
.fc-intro h2{font-size:clamp(38px,5vw,69px);line-height:1.1;letter-spacing:-.075em;font-weight:850;margin:18px 0 0}
.fc-intro h2 em{font-style:normal;color:#ed901d}
.fc-intro p{max-width:390px;font-size:14px;line-height:1.9;color:#726e67;margin:0}
.fc-builder{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(335px,.84fr);align-items:start;gap:30px}
.fc-form{background:#fff;border:1px solid #e9e4db;border-radius:16px;overflow:hidden}
.fc-fieldset{border:0;border-bottom:1px solid #eeebe5;margin:0;padding:38px 38px 40px;min-width:0}
.fc-fieldset:last-of-type{border-bottom:0}
.fc-fieldset legend{float:left;width:100%;display:flex;align-items:flex-start;gap:18px;padding:0 0 23px;margin:0;color:inherit}
.fc-fieldset legend:after{content:'';display:block;clear:both}
.fc-step{display:inline-grid;place-items:center;flex:0 0 42px;height:42px;border-radius:10px;background:#fff1de;color:#bf711b;font-weight:900;font-size:12px;letter-spacing:.05em}
.fc-fieldset legend span:last-child{display:block;padding-top:2px}
.fc-fieldset legend strong{display:block;font-size:19px;line-height:1.3;letter-spacing:-.035em;font-weight:850}
.fc-fieldset legend small{display:block;color:#827c74;font-size:12px;line-height:1.55;margin-top:6px;font-weight:500}
.fc-pick-grid{clear:both;display:grid;gap:12px}.fc-pick-grid--two,.fc-pick-grid--influence{grid-template-columns:repeat(2,minmax(0,1fr))}
.fc-choice{position:relative;display:flex;align-items:flex-start;gap:12px;padding:18px 14px 17px;min-height:99px;background:#fcfbf8;border:1px solid #e8e3dc;border-radius:11px;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s}
.fc-choice:has(input:checked){border-color:#f39222;background:#fff5e7;box-shadow:0 0 0 1px #f3922254}
.fc-choice input{position:absolute;opacity:0;width:1px;height:1px}
.fc-choice:has(input:focus-visible){outline:3px solid #f39222;outline-offset:3px}
.fc-choice-mark,.fc-check{width:18px;height:18px;flex:0 0 18px;border-radius:50%;border:1.7px solid #bdb8af;margin-top:2px;display:grid;place-items:center;background:#fff}
.fc-choice:has(input:checked) .fc-choice-mark{border-color:#e38c23}
.fc-choice:has(input:checked) .fc-choice-mark:after{content:'';width:9px;height:9px;background:#e38c23;border-radius:50%}
.fc-check{border-radius:5px}
.fc-choice:has(input:checked) .fc-check{border-color:#f39222;background:#f39222}
.fc-choice:has(input:checked) .fc-check:after{content:'✓';color:#fff;font-size:13px;font-weight:900}
.fc-choice strong,.fc-toggle-row strong{display:block;color:#27221f;font-size:13px;font-weight:800;line-height:1.45}
.fc-choice small,.fc-toggle-row small{display:block;color:#80796f;font-size:11px;line-height:1.5;margin-top:6px}
.fc-inline-hint{margin:14px 0 0;font-size:10px;color:#928578}
.fc-toggle-row{display:flex;justify-content:space-between;align-items:center;gap:17px;padding:22px 19px;border:1px solid #e9e3d8;background:#fcfbf8;border-radius:11px;cursor:pointer;position:relative}
.fc-toggle-row input{position:absolute;opacity:0;width:1px;height:1px;right:40px}
.fc-toggle-row:has(input:focus-visible){outline:3px solid #f39222;outline-offset:3px}
.fc-toggle-row:has(input:checked){border-color:#f39222;background:#fff5e7}
.fc-switch{width:49px;height:29px;flex:0 0 49px;border-radius:22px;background:#d8d2ca;position:relative;transition:background .2s}
.fc-switch:after{content:'';position:absolute;top:4px;left:4px;width:21px;height:21px;background:#fff;border-radius:50%;box-shadow:0 2px 5px #0002;transition:transform .2s}
.fc-toggle-row input:checked+.fc-switch{background:#e88a1e}.fc-toggle-row input:checked+.fc-switch:after{transform:translateX(20px)}
.fc-bottom-note{display:flex;align-items:flex-start;gap:14px;padding:25px 37px 30px;background:#fffaf3;border-top:1px solid #f3e6d4}
.fc-bottom-note p{font-size:11px;line-height:1.8;color:#887562;margin:0}.fc-spark{color:#e3902d;font-size:24px;line-height:1}
.fc-summary{position:sticky;top:110px;background:#1f1d1b;color:#fff;padding:35px 34px 32px;border-radius:16px;box-shadow:0 24px 50px #17120b10;max-height:calc(100vh - 120px);overflow-y:auto}
.fc-summary-kicker{color:#e9c5a1;font-size:10px;letter-spacing:.14em;font-weight:800;display:flex;align-items:center;gap:9px}
.fc-summary-light{background:#e99328;border-radius:50%;height:7px;width:7px}
.fc-summary h3{font-size:clamp(32px,3.4vw,49px);letter-spacing:-.07em;line-height:1.12;font-weight:850;margin:25px 0 30px}
.fc-summary-caption{margin:0 0 7px;color:#a9a29b;font-size:12px}
.fc-summary-price{font-size:clamp(28px,3.1vw,43px);letter-spacing:-.07em;font-weight:850;line-height:1.16;white-space:nowrap;margin:0;color:#ffb75d}
.fc-summary-price span{font-size:20px;letter-spacing:-.03em}
.fc-summary-divider{height:1px;background:#ffffff26;margin:27px 0}
.fc-summary-selected>span{color:#b2a8a0;letter-spacing:.12em;font-weight:800;font-size:10px}
.fc-summary-selected ul{list-style:none;padding:0;margin:17px 0 23px;display:grid;gap:13px}
.fc-summary-selected li{display:flex;gap:10px;align-items:baseline;font-size:12px;line-height:1.6;color:#f4f1ed}
.fc-summary-selected li:before{content:'✓';color:#ffb75d;font-weight:900;flex:0 0 10px}
.fc-summary-disclaimer{margin:0 0 22px;color:#bab0a7;font-size:10px;line-height:1.75}
.fc-summary-buttons{display:grid;gap:9px}.fc-copy,.fc-contact{min-height:44px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:8px;text-decoration:none;font-family:inherit;font-size:12px;font-weight:800;cursor:pointer}
.fc-copy{background:#383431;color:#fff;border:1px solid #524c45}.fc-contact{background:#f39222;color:#19110a;border:1px solid #f39222}
.fc-copy:hover{background:#514b45}.fc-contact:hover{background:#ffb154;color:#19110a}
.fc-copy:focus-visible,.fc-contact:focus-visible{outline:3px solid #ffb75d;outline-offset:3px}
.fc-copy-feedback{min-height:0;font-size:11px;color:#ffce96;margin:12px 0 0}
.fc-summary-mobile-head{display:none}
.fc-closer{padding:80px 0;background:#fff}.fc-closer-row{display:flex;align-items:center;justify-content:space-between;gap:35px}
.fc-closer h2{font-size:clamp(31px,4.2vw,51px);line-height:1.15;letter-spacing:-.07em;margin:18px 0 13px}.fc-closer p{font-size:14px;color:#726a60;line-height:1.8;margin:0}
.fc-teaser{padding:60px 0;background:#fff5e7}.fc-teaser-row{display:flex;align-items:center;justify-content:space-between;gap:30px}.fc-teaser h2{font-size:clamp(27px,3vw,42px);letter-spacing:-.055em;margin:9px 0}.fc-teaser p{max-width:620px;font-size:13px;line-height:1.75;margin:0;color:#665d52}
@media(max-width:1050px){.fc-builder{grid-template-columns:minmax(0,1fr) minmax(290px,.86fr);gap:18px}.fc-fieldset{padding:28px 23px 30px}.fc-summary{padding:28px 24px}.fc-choice{padding:16px 11px}.fc-summary-price{font-size:31px}}
@media(max-width:760px){
 .fc-section{padding:68px 0 95px}.fc-intro{grid-template-columns:1fr;gap:17px;margin-bottom:30px}.fc-intro h2{font-size:clamp(39px,9vw,55px)}.fc-intro p{font-size:13px}
 .fc-builder{display:block}.fc-fieldset{padding:25px 18px 27px}.fc-fieldset legend{gap:12px}.fc-step{flex-basis:36px;height:36px}.fc-fieldset legend strong{font-size:16px}
 .fc-choice{min-height:96px}.fc-bottom-note{padding:22px 19px 29px}
 .fc-summary{position:static;max-height:none;overflow:visible;margin-top:22px;border-radius:14px;padding:27px 25px}
 .fc-closer-row,.fc-teaser-row{align-items:flex-start;flex-direction:column}.fc-closer{padding:60px 0}.fc-teaser{padding:52px 0}
 .fc-ready .fc-section{padding-bottom:155px}
 .fc-ready .fc-summary{position:fixed;bottom:0;left:0;right:0;top:auto;margin:0;border-radius:18px 18px 0 0;box-shadow:0 -16px 35px #1113;padding:0 17px max(10px,env(safe-area-inset-bottom));z-index:80;max-height:min(80vh,770px);overflow-y:auto;transform:translateY(120%);visibility:hidden;pointer-events:none;transition:transform .24s ease,visibility .24s}
 .fc-ready .fc-summary.fc-visible{transform:translateY(0);visibility:visible;pointer-events:auto}
 .fc-ready .fc-summary-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;border:0;background:transparent;color:#fff;padding:16px 4px 12px;cursor:pointer;text-align:left;font-family:inherit}
 .fc-summary-mobile-head small{display:block;font-size:9px;color:#d6c1ad;letter-spacing:.1em;font-weight:800;margin-bottom:5px}
 .fc-summary-mobile-head strong{color:#ffb75d;letter-spacing:-.045em;font-size:clamp(21px,5vw,28px)}
 .fc-summary-mobile-arrow{font-size:24px;color:#ffb75d;transition:transform .2s}
 .fc-expanded .fc-summary-mobile-arrow{transform:rotate(180deg)}
 .fc-ready .fc-summary-details{display:none;padding:5px 4px 20px}
 .fc-ready .fc-expanded .fc-summary-details{display:block}
 .fc-ready .fc-summary h3{font-size:30px;margin:16px 0}.fc-ready .fc-summary-price{font-size:29px}.fc-ready .fc-summary-disclaimer{font-size:10px}
 .page-calculator .fastro-messenger{bottom:110px}
}
@media(max-width:460px){.fc-pick-grid--two,.fc-pick-grid--influence{grid-template-columns:1fr}.fc-choice{min-height:0;padding:14px 16px}.fc-summary-price{white-space:normal}.fc-fieldset legend small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.fc-section *{transition:none!important}}
