#rassch.ozon-house-calc .lp-container_ins{overflow:visible}
#rassch.ozon-house-calc .check,
#rassch.ozon-house-calc .check label{overflow:visible}
#rassch.ozon-house-calc .kviz_form{display:none!important;padding-bottom:20px}
#rassch.ozon-house-calc .kviz_form.active{display:block!important}
#rassch.ozon-house-calc .calc-privacy{margin-top:14px;text-align:left}
#rassch.ozon-house-calc .calc-privacy._error,
#rassch.ozon-house-calc .calc-privacy input._error{outline:2px solid #c0392b}
#rassch.ozon-house-calc .title{line-height:1.05;letter-spacing:.02em}
#rassch.ozon-house-calc .title_2{max-width:820px}

    .lp1 .lp-container{max-width:1005px;width:100%;margin:52px auto 0;position:relative;z-index:7;padding:0}
    .lp1 .lp-container_block{padding:14px;border-radius:16px;box-shadow:0 0 27px -2px rgba(150,150,150,.2);background:#fff}
    .lp1 .lp-container_ins{
      border-radius:14px;overflow:visible;padding:35px 80px 40px;
      background:url(../images/bg_quiz.jpg) no-repeat 100% 100%,#fff;position:relative;z-index:3;
      box-shadow:0 0 17px -2px rgba(150,150,150,.2);
    }
    .lp1 .title{font-size:48px;font-weight:bold;color:#3f3d3d;text-align:center;font-family:'Bebas Neue',sans-serif;line-height:1}
    .lp1 .title_2{font-size:20px;font-weight:500;color:#3f3d3d;text-align:center;max-width:675px;width:100%;margin:60px auto 0;line-height:1.2}
    .lp1 .lp_1_img_tree{position:absolute;left:-118px;top:40px;z-index:1;width:100%;max-width:358px;pointer-events:none}
    .lp1 .lp_1_img_paper{position:absolute;right:-180px;top:0;z-index:1;width:100%;max-width:420px;pointer-events:none;opacity:.9}

    .lp1 .form_black{width:100%;box-shadow:none}
    .lp1 .kviz_form{display:none;padding-bottom:20px}
    .lp1 .kviz_form.active{display:block}
    .lp1 .tit{text-align:left;margin:40px 0 45px;font-size:32px;font-weight:bold;color:#3f3d3d;font-family:'Bebas Neue',sans-serif;letter-spacing:.3px}
    .lp1 .tit-dims{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
    .calc-area-live{font-family:'Lato',sans-serif;font-size:18px;font-weight:600;color:#6baa21;letter-spacing:0;white-space:nowrap}
    .calc-area-live b{font-size:24px;font-weight:700}
    .lp1 .radio_but{margin-bottom:5px;font-size:18px;text-align:left}
    .lp1 .column{display:inline-block;width:47%;vertical-align:top;padding-right:20px}
    .lp1 .col-q{font-size:16px;font-weight:700;color:#3f3d3d;margin-bottom:18px;text-align:left}
    .lp1 .line{text-align:left;max-width:560px;width:100%;margin:0 auto}

    .lp1 .step_line .step{font-size:14px;font-weight:500;color:#767070;float:left;width:18%;padding-top:18px}
    .lp1 .line_progress_right{padding-top:25px;float:left;width:82%;padding-left:10px}
    .lp1 .step_line .line_progress{background:#d5ecb5;border-radius:40px;height:13px;width:100%;box-shadow:inset 0 7px 5px -4px rgba(138,138,138,.1)}
    .lp1 .step_line .line_progress .yellow_line{background:#6baa21;border-radius:40px;height:13px}
    .lp1 .kviz_form_1 .yellow_line{width:11%}
    .lp1 .kviz_form_2 .yellow_line{width:22%}
    .lp1 .kviz_form_3 .yellow_line{width:33%}
    .lp1 .kviz_form_4 .yellow_line{width:44%}
    .lp1 .kviz_form_5 .yellow_line{width:55%}
    .lp1 .kviz_form_6 .yellow_line{width:66%}
    .lp1 .kviz_form_7 .yellow_line{width:77%}
    .lp1 .kviz_form_8 .yellow_line{width:88%}
    .lp1 .kviz_form_9 .yellow_line{width:100%}
    .lp1 .kviz_form_delivery .yellow_line{width:100%}

    .btn_gold{
      background:linear-gradient(to right,rgba(255,218,96,1) 0%,rgba(247,229,150,1) 100%);
      box-shadow:0 9px 12px -8px rgba(240,207,102,.75);
      display:inline-block;border-radius:10px;width:100%;padding:11px 15px 10px;position:relative;border:none;
      letter-spacing:.3px;color:#635449;font-weight:bold;line-height:1.4;font-size:14px;text-align:center;
      font-family:'Lato',sans-serif;cursor:pointer;text-transform:none
    }
    .btn_gold:hover{opacity:.85}
    .lp1 .form_all .btn_gold{max-width:140px;vertical-align:top}
    .lp1 .btn_wrap{margin-top:30px;display:inline-block;width:100%;max-width:560px}
    .lp1 .btn_wrap .btn_next span{position:relative;font-size:14px;padding-right:15px}
    .lp1 .btn_wrap .btn_next span:before{content:"";position:absolute;right:-10px;top:50%;margin-top:-6px;width:19px;height:9px;background:url(../images/arrow_btn_right.png) no-repeat 0 0;background-size:100%}
    .lp1 .btn_wrap .btn_prev{margin-right:10px;background:#f4eabe;background-image:none}
    .lp1 .btn_wrap .btn_prev span{position:relative;padding-left:15px}
    .lp1 .btn_wrap .btn_prev span:before{content:"";position:absolute;left:-10px;top:50%;margin-top:-6px;width:19px;height:9px;background:url(../images/arrow_btn_left.png) no-repeat 0 0;background-size:100%}
    .lp1 .btn_wrap .btn_get_smeta,.lp1 .btn_wrap .btn_download_kp,.lp1 .btn_wrap .order_btn,.lp1 .btn_wrap .btn_stub_send{max-width:260px}
    .lp1 .btn_wrap .btn_download_kp{background:#e8f5d8;background-image:none}

    .lp1 .catalo_tit{font-size:20px;max-width:520px;width:100%;margin:20px 0;line-height:1.3;color:#484545;font-weight:500}
    .lp1 .form_all .form-text{padding:18px 15px;font-size:14px;font-weight:500;border:solid 1px #f7f7f7;background:#f2f2f2;width:100%;border-radius:10px;margin-bottom:10px;font-family:inherit;color:#3f3d3d}

    .lp_check .form_all .check{margin-bottom:30px;position:relative;overflow:visible}
    .lp_check .form_all .check input[type="checkbox"],
    .lp_check .form_all .check input[type="radio"]{position:absolute;left:-9999px}
    .lp_check .form_all .check input + label{
      display:block;position:relative;padding-left:50px;padding-top:4px;padding-bottom:4px;vertical-align:middle;
      line-height:1.3;font-size:18px;cursor:pointer;color:#343232;text-align:left;font-weight:500;
      min-height:36px;height:auto;overflow:visible;box-sizing:border-box
    }
    /* !important — иначе style.css (:checked/:not(:checked)) оставляет top:15px и галочка/точка уезжают вниз */
    .lp_check .form_all .check input[type="checkbox"]:checked + label:before,
    .lp_check .form_all .check input[type="checkbox"]:not(:checked) + label:before,
    .lp_check .form_all .check input[type="radio"]:checked + label:before,
    .lp_check .form_all .check input[type="radio"]:not(:checked) + label:before{
      content:"";position:absolute;left:0;top:1px!important;margin-top:0!important;width:32px;height:32px;
      background-color:#fff;border:solid 1px #fafafa;box-sizing:border-box;
      box-shadow:inset 7px 7px 14px -6px rgba(213,213,213,.6)
    }
    .lp_check .form_all .check input[type="checkbox"]:checked + label:before,
    .lp_check .form_all .check input[type="checkbox"]:not(:checked) + label:before{border-radius:5px;background:#f3f3f3}
    .lp_check .form_all .check input[type="radio"]:checked + label:before,
    .lp_check .form_all .check input[type="radio"]:not(:checked) + label:before{border-radius:100%}
    .lp_check .form_all .check input[type="checkbox"]:checked + label:after,
    .lp_check .form_all .check input[type="checkbox"]:not(:checked) + label:after{
      content:"";position:absolute;left:10px;top:1px!important;margin-top:11px!important;width:12px;height:6px;border-radius:1px;
      border-left:3px solid #489d3b;border-bottom:3px solid #489d3b;
      transform:rotate(-45deg);-webkit-transform:rotate(-45deg);opacity:0;transition:opacity .2s ease;
      box-sizing:content-box;pointer-events:none
    }
    .lp_check .form_all .check input[type="radio"]:checked + label:after,
    .lp_check .form_all .check input[type="radio"]:not(:checked) + label:after{
      content:"";position:absolute;left:10px;top:1px!important;margin-top:10px!important;width:12px;height:12px;border-radius:100%;
      background:#a0cf6a;box-shadow:2px 2px 5px 0 rgba(95,121,31,.36);opacity:0;transition:opacity .2s ease
    }
    .lp_check .form_all .check input[type="checkbox"]:not(:checked) + label:after,
    .lp_check .form_all .check input[type="radio"]:not(:checked) + label:after{opacity:0}
    .lp_check .form_all .check input[type="checkbox"]:checked + label:after,
    .lp_check .form_all .check input[type="radio"]:checked + label:after{opacity:1}

    .calc-select-label{display:block;font-size:14px;color:#767070;margin-bottom:8px;font-weight:500}
    .calc-select,.calc-input{
      width:100%;max-width:220px;padding:14px;font-size:16px;border:solid 1px #f7f7f7;border-radius:10px;
      background:#f2f2f2;color:#3f3d3d;font-family:inherit;margin-bottom:18px
    }
    .dims-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:8px}
    .dims-row .dims-field{flex:1;min-width:140px;position:relative}
    .dims-row .dims-x{
      font-size:22px;font-weight:700;color:#767070;flex-shrink:0;
      height:48px;display:flex;align-items:center;padding-bottom:0;line-height:1
    }
    .dims-hint{font-size:13px;color:#8a8585;margin-bottom:18px}
    .calc-terrace-label{margin-top:28px}
    .dim-combo{position:relative;max-width:100%}
    .dim-combo .calc-input{max-width:100%;margin-bottom:0;padding-right:42px}
    .dim-combo .dim-toggle{
      position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;background:transparent;
      cursor:pointer;border-radius:6px
    }
    .dim-combo .dim-toggle:after{
      content:"";display:block;margin:0 auto;width:0;height:0;
      border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid #767070
    }
    .dim-dropdown{
      display:none;position:absolute;left:0;right:0;top:calc(100% + 4px);max-height:220px;overflow:auto;z-index:20;
      background:#fff;border:1px solid #e8e8e8;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12)
    }
    .dim-dropdown.open{display:block}
    .dim-dropdown button{
      display:block;width:100%;text-align:left;border:0;background:#fff;padding:10px 14px;font-size:15px;cursor:pointer;font-family:inherit;color:#3f3d3d
    }
    .dim-dropdown button:hover,.dim-dropdown button.is-active{background:#f3f8ea}

    /* карточки комплектации */
    .opt-card{
      display:block;background:#fff;border-radius:12px;padding:14px 14px 12px;margin-bottom:10px;
      border:1px solid #f0f0f0;cursor:pointer;position:relative
    }
    .opt-cards{background:#f5f5f5;border-radius:14px;padding:12px;max-width:560px}
    .opt-card .check{margin-bottom:0}
    .opt-card .check input + label{height:auto;padding-top:2px;padding-bottom:2px;font-size:16px;font-weight:700}
    .opt-card .opt-sub{display:block;padding-left:50px;font-size:13px;color:#9a9a9a;margin-top:-2px;margin-bottom:4px}
    .opt-card .opt-price{
      display:block;padding-left:50px;font-size:22px;font-weight:700;color:#1a1a1a;
      letter-spacing:-.3px;line-height:1.1;margin-top:2px
    }
    .opt-card.is-on{border-color:#c8e6a0;box-shadow:0 0 0 1px #c8e6a0}

    /* компактные опции отделки в стиле квиза */
    .compact-opt{margin-bottom:14px !important;overflow:visible !important}
    .compact-opt input + label{height:auto !important;min-height:36px !important;padding-top:8px !important;padding-bottom:8px !important;overflow:visible !important}
    .opt-price-inline{
      display:inline-block;margin-left:8px;font-size:15px;font-weight:700;color:#6baa21;white-space:nowrap
    }

    .calc-result{max-width:560px;margin:0 auto;text-align:center}
    .kviz_form_9 .calc-result{padding-top:48px}
    .calc-result__text{font-family:'Bebas Neue',sans-serif;font-size:28px;font-weight:bold;line-height:1.35;letter-spacing:.3px}
    .calc-result__price{font-family:'Bebas Neue',sans-serif;font-size:42px;font-weight:bold;margin-top:18px;letter-spacing:.5px}
    .calc-result__note{margin-top:16px;font-size:13px;color:#8a8585;text-align:center}

    .lp1 .kviz_form_3 .line,
    .lp1 .kviz_form_4 .line{max-width:100%}
    .lp1 .kviz_form_3 .column,
    .lp1 .kviz_form_4 .column{width:49%;padding-right:12px}

    .opts-balanced{
      display:grid;grid-template-columns:1fr 1fr;column-gap:28px;row-gap:0;
      max-width:100%;width:100%;overflow:visible;
      background:rgba(255,255,255,.82);border-radius:12px;padding:16px 18px 8px
    }
    .opts-balanced .check{
      display:block;width:100%;vertical-align:top;overflow:visible
    }
    .kviz_form_3 .tit,
    .kviz_form_4 .tit{
      background:rgba(255,255,255,.82);display:inline-block;padding:8px 14px;border-radius:10px
    }
    .delivery-fields{display:none;margin-top:16px}
    .delivery-fields.active{display:block}
    .lp1 .btn_wrap .btn_gold{-webkit-appearance:none;appearance:none}

    #kp-overlay{
      position:fixed;inset:0;z-index:500;background:#f5f5f5;
      display:flex;flex-direction:column;
      width:100%;max-width:100vw;height:100%;height:100dvh;
      overflow:hidden;box-sizing:border-box;
      zoom:1!important;-webkit-text-size-adjust:100%
    }
    #kp-overlay[hidden]{display:none!important}
    .kp-overlay__bar{
      flex:0 0 auto;display:flex;gap:8px;flex-wrap:wrap;
      padding:12px 14px;padding-top:calc(12px + env(safe-area-inset-top, 0px));
      border-bottom:1px solid #ddd;background:#fff;
      position:relative;z-index:5;box-shadow:0 1px 0 rgba(0,0,0,.06)
    }
    .kp-overlay__bar button,.kp-overlay__link,
    .kp-overlay__actions a,.kp-overlay__actions button{
      flex:1 1 30%;min-width:0;min-height:52px;border:0;border-radius:8px;
      font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;
      box-sizing:border-box;padding:0 12px
    }
    .kp-overlay__print{background:#6baa21;color:#fff}
    .kp-overlay__open{background:#3f7d0d;color:#fff}
    .kp-overlay__share{background:#2f6b0a;color:#fff}
    .kp-overlay__link{
      text-decoration:none;display:flex;align-items:center;justify-content:center;
      text-align:center;background:#1f6b1a;color:#fff
    }
    .kp-overlay__tip{flex:1 0 100%;font-size:14px;line-height:1.45;color:#333;padding:6px 2px 2px}
    .kp-overlay__close{background:#eee;color:#333;flex:0 1 28%}
    .kp-overlay__panel{
      flex:1 1 auto;min-height:0;display:flex;flex-direction:column;
      align-items:center;justify-content:center;padding:24px 20px;
      padding-bottom:calc(24px + env(safe-area-inset-bottom, 0px));
      text-align:center;color:#333;font-family:inherit;z-index:4;background:#f5f5f5;
      overflow:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box
    }
    .kp-overlay__panel[hidden]{display:none!important}
    .kp-overlay__panel-title{font-size:22px;font-weight:700;margin:0 0 10px}
    .kp-overlay__panel-text{font-size:15px;line-height:1.45;margin:0;max-width:340px;color:#555}
    .kp-overlay__actions{
      display:flex;flex-direction:column;gap:10px;
      width:100%;max-width:340px;margin-top:22px
    }
    .kp-overlay__actions a,.kp-overlay__actions button{
      flex:none;width:100%;display:flex;align-items:center;justify-content:center
    }
    .kp-overlay__actions .kp-overlay__close{background:#eee;color:#333}
    .kp-overlay__actions .kp-overlay__tip{
      flex:none;text-align:left;padding:8px 2px 0;font-size:13px;color:#444
    }
    .kp-overlay--pdf .kp-overlay__frame{background:#525659}
    .kp-overlay__frame{
      flex:1 1 auto;min-height:0;width:100%;max-width:100%;
      border:0;background:#fff;overflow:auto;-webkit-overflow-scrolling:touch
    }
    #kp-overlay.kp-overlay--busy .kp-overlay__bar{display:none}
    /* opacity < 1 на Android даёт пустой html2canvas — iframe непрозрачный, но под панелью */
    #kp-overlay.kp-overlay--busy .kp-overlay__frame{
      position:absolute;left:0;top:0;width:1200px;height:1800px;
      opacity:1;visibility:visible;pointer-events:none;flex:none;z-index:0
    }
    #kp-overlay.kp-overlay--busy .kp-overlay__panel{
      position:relative;z-index:4;background:#f5f5f5
    }
    #kp-overlay.kp-overlay--capturing .kp-overlay__frame{
      opacity:1!important;visibility:visible!important;z-index:1
    }
    #kp-overlay.kp-overlay--capturing .kp-overlay__panel{
      z-index:10;background:#f5f5f5
    }
    #kp-overlay.kp-overlay--ready{overflow:auto;-webkit-overflow-scrolling:touch}
    #kp-overlay.kp-overlay--ready .kp-overlay__bar{display:none!important}
    #kp-overlay.kp-overlay--ready .kp-overlay__frame{display:none!important}
    #kp-overlay.kp-overlay--ready .kp-overlay__panel{
      display:flex;flex:1;min-height:100%;justify-content:center
    }
    body.kp-overlay-open{overflow:hidden;overscroll-behavior:none}
    body.kp-overlay-open:not(.kp-overlay-ready){touch-action:none}
    body.kp-overlay-ready{touch-action:pan-y}
    @media (max-width:900px){
      .kp-overlay__bar button,.kp-overlay__link,
      .kp-overlay__actions a,.kp-overlay__actions button{font-size:16px;min-height:52px}
    }
    .stub-ok{display:none;margin-top:16px;padding:14px;background:#e8f5d8;border-radius:10px;color:#3f3d3d;font-size:15px}
    .foot-note{text-align:center;margin-top:24px;font-size:13px;color:#999}

    html{-webkit-text-size-adjust:100%}
    img,svg,video{max-width:100%;height:auto}

    @media (max-width:1000px){
      .lp1 .lp_1_img_tree,.lp1 .lp_1_img_paper{display:none}
      .lp1 .lp-container_ins{padding:25px 30px 20px;background-size:280px}
      .lp1 .title{font-size:34px}
      .lp1 .title_2{font-size:16px;margin-top:28px}
      .lp1 .tit{font-size:22px;margin:25px 0 30px}
      .calc-area-live{font-size:16px}
      .calc-area-live b{font-size:20px}
      .lp1 .kviz_form_3 .column,
      .lp1 .kviz_form_4 .column,
      .lp1 .column{width:100%;padding-right:0;display:block}
      .opts-balanced{grid-template-columns:1fr;padding:12px 14px 4px}
      .lp1 .step_line .step{width:100%;float:none;margin-bottom:10px;padding-top:0}
      .lp1 .line_progress_right{float:none;width:100%;padding:2px 0 0}
      .lp_check .form_all .check{margin-bottom:20px}
      .lp1 .btn_wrap .btn_gold{max-width:100%;margin-bottom:8px}
      .calc-result__price{font-size:34px}
      .opt-card .opt-price{font-size:24px}
    }

    @media (max-width:768px){
      .lp1{padding:18px 0 24px}
      .lp1 .lp-container{margin-top:20px}
      .lp1 .lp-container_block{padding:8px;border-radius:12px}
      .lp1 .lp-container_ins{
        padding:18px 16px 22px;border-radius:12px;
        background:url(../images/bg_quiz.jpg) no-repeat 100% 100%,#fff;background-size:220px
      }
      .lp1 .title{font-size:28px;line-height:1.1}
      .lp1 .tit{font-size:20px;margin:18px 0 22px;line-height:1.2}
      .lp1 .radio_but{font-size:16px}
      .lp_check .form_all .check input + label{
        display:block;height:auto;min-height:36px;padding-top:4px;padding-bottom:4px;padding-left:48px;
        font-size:16px;line-height:1.35;overflow:visible
      }
      .lp1 .btn_wrap{margin-top:22px;max-width:100%;display:flex;flex-direction:column;gap:8px}
      .lp1 .btn_wrap .btn_gold{max-width:100%;margin:0}
      .lp1 .btn_wrap .btn_prev{margin-right:0}
      .lp1 .line{max-width:100%}
      .dims-row{flex-direction:column;align-items:stretch;gap:10px}
      .dims-row .dims-x{height:auto;justify-content:center;padding:0}
      .dims-row .dims-field{min-width:0}
      .calc-select,.calc-input{max-width:100%;font-size:16px}
      .calc-result__text{font-size:22px}
      .calc-result__price{font-size:30px}
      .kviz_form_9 .calc-result{padding-top:16px}
      .opt-price-inline{display:block;margin-left:48px;margin-top:4px;white-space:normal}
      .form_all .form-text{font-size:16px;padding:16px 14px}
    }

    @media (max-width:480px){
      .wrap{padding:0 10px}
      .lp1 .lp-container_ins{padding:14px 12px 18px;background-size:160px}
      .lp1 .title{font-size:24px}
      .lp1 .tit{font-size:18px;margin:14px 0 18px}
      .lp1 .step_line .step{font-size:13px}
      .lp1 .step_line .line_progress,
      .lp1 .step_line .line_progress .yellow_line{height:10px}
      .lp_check .form_all .check input + label{font-size:15px;padding-left:44px}
      .lp_check .form_all .check input[type="checkbox"]:checked + label:before,
      .lp_check .form_all .check input[type="checkbox"]:not(:checked) + label:before,
      .lp_check .form_all .check input[type="radio"]:checked + label:before,
      .lp_check .form_all .check input[type="radio"]:not(:checked) + label:before{width:28px;height:28px;top:1px!important}
      .lp_check .form_all .check input[type="checkbox"]:checked + label:after,
      .lp_check .form_all .check input[type="checkbox"]:not(:checked) + label:after{left:8px;width:10px;height:5px;top:1px!important;margin-top:10px!important}
      .lp_check .form_all .check input[type="radio"]:checked + label:after,
      .lp_check .form_all .check input[type="radio"]:not(:checked) + label:after{left:9px;width:10px;height:10px;top:1px!important;margin-top:9px!important}
      .calc-result__price{font-size:26px}
    }
  