:root{
  --fc-orange:#ff5e14;
  --fc-orange-dark:#df4d08;
  --fc-dark:#171a17;
  --fc-text:#1f242e;
  --fc-muted:#727a73;
  --fc-line:#dfe3dc;
  --fc-soft:#f4f5f2;
  --fc-white:#fff;
}

.fc-page{background:#fff;color:var(--fc-text)}
.fc-container{width:min(1280px,calc(100% - 60px));margin:0 auto}
.fc-hero{padding:112px 0 22px;background:#fff}
.fc-breadcrumbs{display:flex;gap:9px;align-items:center;margin-bottom:13px;color:#8a918a;font-size:13px}
.fc-breadcrumbs a{color:#555d56;text-decoration:none}
.fc-hero h1{margin:0;font-size:clamp(34px,4vw,48px);line-height:1.05;letter-spacing:-.035em}
.fc-kicker{margin:0 0 8px;color:var(--fc-orange);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}

.fc-calculator{padding:28px 0 82px;background:linear-gradient(#f4f5f2,#fff)}
.fc-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px;align-items:start}
.fc-workspace,.fc-summary{border-radius:14px;box-shadow:0 26px 75px rgba(23,26,23,.08)}
.fc-workspace{padding:32px;border:1px solid var(--fc-line);background:#fff}
.fc-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:27px}
.fc-panel-head h2{margin:0;font-size:32px;line-height:1.12}
.fc-reset{padding:8px;border:0;background:transparent;color:var(--fc-muted);font-weight:800;cursor:pointer;white-space:nowrap}
.fc-reset:hover{color:var(--fc-orange)}

.fc-segments{margin:0}
.fc-segment{margin:0;padding:0;border:0;background:transparent}
.fc-segment-head{display:none}
.fc-segment-body{padding:0}
.fc-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:21px}
.fc-type-button{min-height:84px;padding:12px 8px;border:1px solid var(--fc-line);border-radius:8px;background:#fafbf9;color:var(--fc-text);font-size:12px;font-weight:900;cursor:pointer;transition:.2s}
.fc-type-button i{display:block;margin-bottom:8px;color:var(--fc-orange);font-size:21px}
.fc-type-button:hover{border-color:#bcc3ba;background:#fff}
.fc-type-button.is-active{border-color:var(--fc-dark);background:var(--fc-dark);color:#fff}
.fc-type-button.is-active i{color:var(--fc-orange)}

.fc-fields,.fc-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fc-options{margin-top:14px;padding-top:18px;border-top:1px solid var(--fc-line)}
.fc-field,.fc-fields label{display:block;min-width:0;margin:0}
.fc-field>span,.fc-fields label>span{display:block;margin-bottom:7px;color:#343a34;font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.fc-field input,.fc-field select,.fc-fields input,.fc-fields select{width:100%;height:51px;padding:0 13px;border:1px solid #d6dbd4;border-radius:7px;background:#fff;color:var(--fc-text);outline:0;transition:.2s}
.fc-field input:focus,.fc-field select:focus,.fc-fields input:focus,.fc-fields select:focus{border-color:var(--fc-orange);box-shadow:0 0 0 3px rgba(255,94,20,.08)}
.fc-inline-check,.fc-switch-field{display:flex!important;align-items:center;gap:10px;min-height:51px;padding:0 13px;border:1px solid #d6dbd4;border-radius:7px;background:#fff;cursor:pointer}
.fc-inline-check input{width:18px!important;height:18px!important;margin:0;accent-color:var(--fc-orange)}
.fc-inline-check span{margin:0!important;font-size:13px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important}
.fc-switch-field input{position:absolute;opacity:0}
.fc-switch{position:relative;width:40px;height:22px;border-radius:20px;background:#d9ddd7;transition:.2s}
.fc-switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:.2s}
.fc-switch-field input:checked+.fc-switch{background:var(--fc-orange)}
.fc-switch-field input:checked+.fc-switch:after{transform:translateX(18px)}
.fc-switch-field b{font-size:13px}
.fc-package-note{grid-column:1/-1;padding:15px 17px;border-radius:8px;background:var(--fc-soft)}
.fc-package-note strong{display:block;font-size:14px}
.fc-package-note span{display:block;margin-top:4px;color:var(--fc-muted);font-size:12px;line-height:1.5}

.fc-summary{position:sticky;top:102px;padding:22px;background:var(--fc-dark);color:#fff}
.fc-summary-label{color:#aeb6ae;font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.fc-total{display:block;margin:6px 0 15px;color:#fff;font-size:42px;line-height:1;letter-spacing:-.04em}
.fc-meter-price{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-4px 0 14px;padding:9px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.fc-meter-price span{color:#929b92;font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.fc-meter-price b{color:#fff;font-size:13px;line-height:1.2}
.fc-result-params{margin-bottom:16px;border-top:1px solid rgba(255,255,255,.11);border-bottom:1px solid rgba(255,255,255,.11)}
.fc-result-params>div{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10px;align-items:start;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.fc-result-params>div:last-child{border-bottom:0}
.fc-result-params span{color:#929b92;font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.fc-result-params b{color:#fff;font-size:13px;line-height:1.35;text-align:right}
.fc-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 20px;border:1px solid var(--fc-orange);border-radius:6px;background:var(--fc-orange);color:#fff!important;font-weight:900;text-decoration:none;cursor:pointer;transition:.22s}
.fc-button:hover{border-color:var(--fc-orange-dark);background:var(--fc-orange-dark);color:#fff!important;transform:translateY(-1px)}
.fc-button--full{width:100%}
.fc-summary-lead{margin-top:15px;padding-top:15px;border-top:1px solid rgba(255,255,255,.12)}
.fc-summary-lead[hidden]{display:none!important}
.fc-form-grid{display:grid;gap:11px}
.fc-form label>span{display:block;margin-bottom:6px;color:#d3d8d3;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.fc-form label>span small{font-size:10px;font-weight:500;letter-spacing:0;text-transform:none}
.fc-form input[type="text"],.fc-form input[type="tel"]{width:100%;height:48px;padding:0 13px;border:1px solid rgba(255,255,255,.18);border-radius:7px;background:#fff;color:var(--fc-text);outline:0}
.fc-form input:focus{border-color:var(--fc-orange);box-shadow:0 0 0 3px rgba(255,94,20,.12)}
.fc-form .lead-consent{color:#b7beb7;font-size:11px;line-height:1.4}
.fc-form .lead-consent a{color:#ff9c6e}
.fc-form-message{margin-top:11px;font-size:12px}
.fc-disclaimer{margin:11px 0 0;color:#858e85;font-size:10px;line-height:1.5}

@media(max-width:1050px){
  .fc-layout{grid-template-columns:minmax(0,1fr) 330px}
  .fc-type-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .fc-container{width:min(100% - 40px,1280px)}
  .fc-hero{padding-top:105px}
  .fc-layout{grid-template-columns:1fr}
  .fc-summary{position:relative;top:auto}
}
@media(max-width:575px){
  .fc-container{width:min(100% - 28px,1280px)}
  .fc-hero{padding:94px 0 17px}
  .fc-hero h1{font-size:34px}
  .fc-calculator{padding:20px 0 60px}
  .fc-workspace,.fc-summary{padding:22px 18px}
  .fc-panel-head{display:block;margin-bottom:22px}
  .fc-panel-head h2{font-size:26px}
  .fc-reset{margin-top:10px;padding-left:0}
  .fc-type-grid{grid-template-columns:repeat(2,1fr)}
  .fc-fields,.fc-options{grid-template-columns:1fr}
  .fc-package-note{grid-column:auto}
  .fc-total{font-size:43px}
}

/* Схема ограждения из правого окна расширенного калькулятора */
.fc-visual{margin:0 0 14px}
.fc-visual-line{display:flex;height:46px;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:7px;background:#0e100e}
.fc-visual-segment{position:relative;display:flex;flex:1;min-width:38px;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:900;text-align:center;overflow:hidden}
.fc-visual-segment:before{content:"";position:absolute;inset:0;opacity:.38}
.fc-visual-segment span{position:relative;z-index:1;padding:5px;text-shadow:0 1px 4px rgba(0,0,0,.65)}
.fc-visual-segment--proflist:before{background:repeating-linear-gradient(90deg,#ff5e14 0 8px,#c33d00 8px 11px)}
.fc-visual-segment--shtaketnik:before{background:repeating-linear-gradient(90deg,#8bc34a 0 6px,transparent 6px 11px)}
.fc-visual-segment--d3:before{background:repeating-linear-gradient(0deg,transparent 0 8px,#86a9a0 8px 9px),repeating-linear-gradient(90deg,transparent 0 12px,#86a9a0 12px 13px)}
.fc-visual-segment--rabitsa:before{background:repeating-linear-gradient(45deg,transparent 0 7px,#9ba19b 7px 8px),repeating-linear-gradient(-45deg,transparent 0 7px,#9ba19b 7px 8px)}
.fc-visual-openings{display:flex;flex-wrap:wrap;gap:5px 10px;align-items:center;margin-top:6px;color:#aeb6ae;font-size:10px}
.fc-visual-openings i{margin-right:4px;color:var(--fc-orange)}

/* hidden должен работать даже у flex-полей */
.fc-field[hidden],.fc-switch-field[hidden]{display:none!important}


/* v3: compact result card and only selected optional parameters */
@media(max-width:575px){
  .fc-summary{padding:20px 18px}
  .fc-result-params>div{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px}
  .fc-result-params b{font-size:12px}
  .fc-visual-line{height:42px}
}


/* v4: denser mobile layout without reducing tap targets below 44px */
@media(max-width:575px){
  .fc-container{width:min(100% - 20px,1280px)}
  .fc-hero{padding:88px 0 12px}
  .fc-breadcrumbs{margin-bottom:9px;font-size:12px}
  .fc-hero h1{font-size:31px;line-height:1.04}
  .fc-calculator{padding:14px 0 46px}
  .fc-layout{gap:14px}
  .fc-workspace,.fc-summary{padding:18px 14px;border-radius:11px}
  .fc-panel-head{margin-bottom:16px}
  .fc-panel-head h2{font-size:24px}
  .fc-reset{margin-top:7px;padding:3px 0;font-size:12px}

  .fc-type-grid{gap:7px;margin-bottom:14px}
  .fc-type-button{min-height:70px;padding:9px 6px;font-size:11px}
  .fc-type-button i{margin-bottom:6px;font-size:19px}

  .fc-fields,.fc-options{gap:10px}
  .fc-options{margin-top:10px;padding-top:13px}
  .fc-field>span,.fc-fields label>span{margin-bottom:5px;font-size:10px}
  .fc-field input,.fc-field select,.fc-fields input,.fc-fields select{height:46px;padding:0 11px;font-size:14px}
  .fc-inline-check,.fc-switch-field{min-height:46px;padding:0 11px}
  .fc-inline-check span,.fc-switch-field b{font-size:12px!important}
  .fc-package-note{padding:12px 13px}
  .fc-package-note strong{font-size:13px}
  .fc-package-note span{margin-top:3px;font-size:11px;line-height:1.4}

  .fc-summary-label{font-size:10px}
  .fc-total{margin:5px 0 11px;font-size:38px}
  .fc-visual{margin-bottom:10px}
  .fc-visual-line{height:38px}
  .fc-visual-openings{margin-top:4px;font-size:9px}
  .fc-result-params{margin-bottom:12px}
  .fc-result-params>div{gap:7px;padding:6px 0}
  .fc-result-params span{font-size:9px}
  .fc-result-params b{font-size:11px;line-height:1.3}
  .fc-button{min-height:46px;padding:0 16px;font-size:13px}

  .fc-summary-lead{margin-top:12px;padding-top:12px}
  .fc-form-grid{gap:8px}
  .fc-form label>span{margin-bottom:4px;font-size:10px}
  .fc-form input[type="text"],.fc-form input[type="tel"]{height:44px;padding:0 11px;font-size:14px}
  .fc-form .lead-consent{margin:10px 0;font-size:10px;line-height:1.32}
  .fc-form-message{margin-top:8px;font-size:11px}
  .fc-disclaimer{margin-top:8px;font-size:9px;line-height:1.4}
}


/* v5: yes/no options use the same switch pattern as automation */
.fc-switch-field{position:relative;user-select:none}
.fc-switch-field:focus-within{border-color:var(--fc-orange);box-shadow:0 0 0 3px rgba(255,94,20,.08)}
.fc-switch-field input:focus-visible+.fc-switch{outline:2px solid var(--fc-orange);outline-offset:3px}
.fc-switch-field b{line-height:1.25}

@media(max-width:575px){.fc-meter-price{margin:-2px 0 10px;padding:7px 0}.fc-meter-price span{font-size:9px}.fc-meter-price b{font-size:12px}}

/* Блок записи на замер после калькулятора */
.fm-measure{padding:92px 0 100px;background:#f5f6f3;color:#1f2420}
.fm-measure__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);gap:64px;align-items:start}
.fm-measure__kicker{margin:0 0 13px;color:#ff5e14;font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.fm-measure h2{max-width:650px;margin:0;font-size:clamp(34px,4.2vw,54px);line-height:1.06;letter-spacing:-.035em}
.fm-measure__lead{max-width:690px;margin:22px 0 0;color:#687069;font-size:17px;line-height:1.72}
.fm-measure__note{margin:24px 0 0;padding:18px 20px;border-left:4px solid #ff5e14;background:#fff;color:#5f675f;font-size:14px;line-height:1.6}
.fm-measure__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px}
.fm-measure__small{color:#747c74;font-size:12px;line-height:1.45}
.fm-measure__cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fm-measure__card{padding:27px;border:1px solid #dde1da;border-radius:10px;background:#fff;box-shadow:0 18px 45px rgba(23,26,23,.05)}
.fm-measure__card i{display:grid;width:46px;height:46px;place-items:center;border-radius:50%;background:rgba(255,94,20,.11);color:#ff5e14;font-size:20px}
.fm-measure__card h3{margin:20px 0 14px;font-size:21px}
.fm-measure__card ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.fm-measure__card li{position:relative;padding-left:19px;color:#626a62;font-size:14px;line-height:1.5}
.fm-measure__card li:before{content:'•';position:absolute;left:0;color:#ff5e14;font-weight:900}
.fm-measure__form-wrap{grid-column:1/-1;margin-top:2px;padding:24px;border-radius:10px;background:#171a17;color:#fff}
.fm-measure__form-wrap[hidden]{display:none!important}
.fm-measure__form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.fm-measure__form-head strong{display:block;font-size:21px}
.fm-measure__form-head span{display:block;margin-top:5px;color:#aeb5ae;font-size:12px;line-height:1.45}
.fm-measure__form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fm-measure__form label>span{display:block;margin-bottom:6px;color:#d5dad5;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.fm-measure__form label small{font-size:10px;font-weight:600;letter-spacing:0;text-transform:none}
.fm-measure__form input[type='text'],.fm-measure__form input[type='tel']{width:100%;height:48px;border:1px solid rgba(255,255,255,.16);border-radius:6px;background:#fff;color:#171a17;padding:0 13px;outline:0}
.fm-measure__form input:focus{border-color:#ff5e14;box-shadow:0 0 0 3px rgba(255,94,20,.12)}
.fm-measure__form .lead-consent{margin:14px 0 13px;color:#b8bfb8;font-size:11px}
.fm-measure__form .lead-consent a{color:#ff9c6e}
.fm-measure__form-message{margin-top:10px;font-size:13px}
@media(max-width:991px){.fm-measure{padding:76px 0 82px}.fm-measure__grid{grid-template-columns:1fr;gap:36px}.fm-measure__cards{max-width:760px}}
@media(max-width:575px){.fm-measure{padding:58px 0 64px}.fm-measure__grid{gap:28px}.fm-measure h2{font-size:35px}.fm-measure__lead{font-size:15px}.fm-measure__cards{grid-template-columns:1fr}.fm-measure__card{padding:22px}.fm-measure__form-wrap{padding:20px 17px}.fm-measure__form-grid{grid-template-columns:1fr}.fm-measure__actions .fc-button{width:100%}.fm-measure__small{width:100%}}

/* v6: category pages use the full calculator with a fixed fence type */
.pf-hero-grid.pf-hero-grid--single{grid-template-columns:minmax(0,860px);justify-content:start}
.fc-calculator--category{padding:64px 0 82px;background:linear-gradient(180deg,#eef0eb 0%,#f7f8f5 42%,#fff 100%)}
.fc-fixed-type{display:grid;grid-template-columns:42px auto;grid-template-rows:auto auto;column-gap:12px;align-items:center;margin-bottom:20px;padding:13px 15px;border:1px solid var(--fc-line);border-radius:8px;background:#fafbf9}
.fc-fixed-type i{grid-row:1/3;display:grid;width:42px;height:42px;place-items:center;border-radius:7px;background:var(--fc-dark);color:var(--fc-orange);font-size:19px}
.fc-fixed-type span{align-self:end;color:var(--fc-muted);font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.fc-fixed-type strong{align-self:start;color:var(--fc-text);font-size:15px;line-height:1.2}
@media(max-width:991px){.pf-hero-grid.pf-hero-grid--single{grid-template-columns:1fr}.fc-calculator--category{padding-top:42px}}
@media(max-width:575px){.fc-calculator--category{padding:28px 0 52px}.fc-fixed-type{margin-bottom:13px;padding:10px 11px}.fc-fixed-type i{width:38px;height:38px;font-size:17px}}
