:root{
      
      --accent: #d61f2c;
      --accent-dark: #a5141d;
      --accent-light: #fff1f2;

      
      --blue: var(--accent);
      --blue-dark: var(--accent-dark);
      --blue-light: var(--accent-light);

      --gray-bg: #fbf6f6;
      --gray-text: #555;
      --border-color: #eadde0;
      --radius: 8px;
      --shadow: 0 10px 30px rgba(0,0,0,.08);
      --max-width: 1180px;
    }

    *{ box-sizing:border-box; }
    body{
      margin:0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color:#1a1a1a;
      background:#ffffff;
      line-height:1.4;
    }
    img{ max-width:100%; display:block; }
    a{ text-decoration:none; color:inherit; }

    .container{
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0 16px;
    }

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding: 10px 22px;
      border-radius:999px;
      border:none;
      cursor:pointer;
      font-size:14px;
      font-weight:600;
      background: var(--blue);
      color:#fff;
      transition: background .2s ease, transform .1s ease, box-shadow .1s ease;
      box-shadow: 0 6px 15px rgba(214,31,44,.35);
      white-space: nowrap;
    }
    .btn:hover{
      background: var(--blue-dark);
      transform: translateY(-1px);
      box-shadow: 0 10px 25px rgba(214,31,44,.45);
    }
    .btn-outline{
      background: transparent;
      color: var(--blue);
      border: 1px solid var(--blue);
      box-shadow: none;
    }
    .btn-outline:hover{ background: var(--blue); color:#fff; }

    .section{ padding: 34px 0; }

    
    .header{
      position: sticky;
      top:0;
      z-index: 10000;
      background:#ffffff;
      border-bottom: 1px solid #efe3e6;
    }
    .header-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding: 12px 0;
      min-width:0;
    }
    .logo{
      display:flex;
      align-items:center;
      gap:10px;
      font-size:16px;
      font-weight:700;
      color: var(--blue-dark);
      text-transform: uppercase;
      white-space: nowrap;
      min-width:0;
    }
    .logo-img{
      width:46px;
      height:46px;
      border-radius:3px;
      object-fit:cover;
      flex: 0 0 auto;
    }
    .logo-imgr{
      width:130px;
      height:auto;
      border-radius:0;
      object-fit:cover;
      flex: 0 0 auto;
    }

    .header-right{
      display:flex;
      align-items:center;
      gap:10px;
      flex: 0 0 auto;
    }

    .lang-select{
      border: 1px solid var(--border-color);
      border-radius: 999px;
      padding: 8px 10px;
      font-size: 13px;
      background: #fff;
      cursor: pointer;
      outline: none;
    }
    .lang-select:focus{
      border-color: var(--blue);
      box-shadow: 0 0 0 3px rgba(214,31,44,.15);
    }

    
    @media (max-width: 768px){
      .header-inner{ gap: 10px; padding: 10px 0; }
      .logo-imgr{ width: 95px; }
      .logo-img{ width: 38px; height: 38px; }

      
      .logo span[data-i18n="brand.name"]{ display:none; }

      
      .btn-back{
        width:42px;
        height:42px;
        padding:0;
        border-radius:999px;
        font-size:0;    
        line-height:0;
      }
      .btn-back::before{
        content:"←";
        font-size:20px;
        line-height:1;
      }

      .lang-select{ padding: 6px 8px; font-size: 12px; }
    }

    
    .calc-card{
      background:#fff;
      border-radius:20px;
      padding: 24px 22px 26px;
      box-shadow: var(--shadow);
      border: 1px solid rgba(0,0,0,.04);
    }

    .calc-header-title{ font-size: 26px; font-weight:700; margin-bottom:6px; }
    .calc-header-sub{ font-size:14px; color: var(--gray-text); margin-bottom:18px; max-width:740px; }

    .calc-windows-container{
      display:flex;
      flex-direction:column;
      gap:18px;
      margin-top:12px;
    }

    .calc-window{
      border-radius:16px;
      border: 1px solid var(--border-color);
      padding: 12px 14px 18px;
      background: #fff5f5;
    }

    .calc-window-header{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      margin-bottom:10px;
    }
    .calc-window-title{ font-weight:600; font-size:15px; }

    .calc-window-remove{
      border:none;
      background:transparent;
      cursor:pointer;
      font-size:16px;
      line-height:1;
      opacity:.6;
      padding:4px;
    }
    .calc-window-remove:hover{ opacity:1; }

    .calc-add-window{ margin-top:14px; }

    .calc-label{ font-size:14px; font-weight:700; margin-bottom:8px; color: var(--blue-dark); }
    .calc-sash-label{ font-size:12px; color: var(--gray-text); margin-bottom:4px; }

    .calc-profile-row{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
    .calc-profile-option input{ display:none; }

    .calc-profile-card{
      min-width:170px;
      padding: 9px 14px;
      border-radius:999px;
      border: 1px solid var(--border-color);
      background:#fff;
      cursor:pointer;
      font-size:14px;
      display:flex;
      align-items:center;
      gap:8px;
      transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
    }
    .calc-profile-card::before{
      content:"";
      width:14px;
      height:14px;
      border-radius:50%;
      border: 2px solid var(--border-color);
      background:#fff;
      flex-shrink:0;
    }

    
    .calc-profile-option input:checked + .calc-profile-card{
      border-color: var(--blue);
      background: var(--blue-light);
      box-shadow: 0 6px 16px rgba(0,0,0,.06);
    }
    .calc-profile-option input:checked + .calc-profile-card::before{
      border-color: var(--blue);
      box-shadow: inset 0 0 0 4px rgba(214,31,44,.18);
      background: var(--blue);
    }

    .calc-format-row{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
    .calc-format-option input{ display:none; }

    .calc-format-card{
      width:86px;
      height:72px;
      border-radius:14px;
      border: 1px solid var(--border-color);
      background:#fff;
      display:flex;
      align-items:center;
      justify-content:center;
      cursor:pointer;
      transition: border-color .15s ease, box-shadow .15s ease, transform .1s ease, background .15s ease;
    }

    .calc-format-icon{
      width:48px;
      height:40px;
      border-radius:8px;
      border: 2px solid #c0c7dd;
      position:relative;
      overflow:hidden;
      background:#f6f7fc;
    }
    .calc-format-icon::before,
    .calc-format-icon::after{
      content:"";
      position:absolute;
      top:0;
      bottom:0;
      border-left:2px solid #c0c7dd;
    }
    .calc-format-option[data-cols="1"] .calc-format-icon::before,
    .calc-format-option[data-cols="1"] .calc-format-icon::after{ display:none; }
    .calc-format-option[data-cols="2"] .calc-format-icon::before{ left:50%; }
    .calc-format-option[data-cols="2"] .calc-format-icon::after{ display:none; }
    .calc-format-option[data-cols="3"] .calc-format-icon::before{ left:33.33%; }
    .calc-format-option[data-cols="3"] .calc-format-icon::after{ left:66.66%; }
    .calc-format-option[data-cols="4"] .calc-format-icon{
      background:
        linear-gradient(to right,
          transparent 0,      transparent 23%,
          #c0c7dd 23%,        #c0c7dd 26%,
          transparent 26%,    transparent 48%,
          #c0c7dd 48%,        #c0c7dd 51%,
          transparent 51%,    transparent 73%,
          #c0c7dd 73%,        #c0c7dd 76%,
          transparent 76%,    transparent 100%);
    }
    .calc-format-option[data-cols="4"] .calc-format-icon::before,
    .calc-format-option[data-cols="4"] .calc-format-icon::after{ display:none; }

    
    .calc-format-option input:checked + .calc-format-card{
      border-color: var(--blue);
      background: var(--blue-light);
      box-shadow: 0 6px 16px rgba(0,0,0,.06);
      transform: translateY(-1px);
    }

    .calc-layout{
      display:grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 2.2fr);
      gap:26px;
      margin-top:12px;
    }

    .calc-preview-window{
      margin: 0 auto;
      width:100%;
      max-width:520px;
      position:relative;
      padding: 16px 40px 46px 40px;
      background: #fff5f5;
      border-radius: 16px;
      border: 1px solid rgba(0,0,0,.05);
    }

    .calc-ruler{
      position:absolute;
      font-size:11px;
      color: var(--gray-text);
    }
    .calc-ruler--vertical{
      left:0;
      top:10px;
      bottom:28px;
      width:36px;
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      justify-content:center;
    }
    .calc-ruler--horizontal{
      left:40px;
      right:40px;
      bottom:6px;
      height:28px;
      display:flex;
      flex-direction:row;
      align-items:flex-end;
      justify-content:center;
    }
    .calc-ruler-line{ position:absolute; background:#b7bfd8; }
    .calc-ruler--vertical .calc-ruler-line{ width:2px; top:0; bottom:0; left:10px; }
    .calc-ruler--horizontal .calc-ruler-line{ height:2px; left:0; right:0; bottom:2px; }
    .calc-ruler-value{ font-weight:600; }
    .calc-ruler-unit{ opacity:.75; margin-left:2px; }
    .calc-ruler--vertical .calc-ruler-value,
    .calc-ruler--vertical .calc-ruler-unit{ margin-left:12px; }
    .calc-ruler--horizontal .calc-ruler-value,
    .calc-ruler--horizontal .calc-ruler-unit{ margin-bottom:6px; }

    .calc-preview-frame{
      width:100%;
      min-height:220px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:transparent;
      border:none;
      overflow:visible;
    }
    .calc-preview-frame svg{ display:none; height:200px; width:auto; }
    .calc-preview-frame[data-sashes="1"] svg[data-sashes="1"]{ display:block; }
    .calc-preview-frame[data-sashes="2"] svg[data-sashes="2"]{ display:block; }
    .calc-preview-frame[data-sashes="3"] svg[data-sashes="3"]{ display:block; }
    .calc-preview-frame[data-sashes="4"] svg[data-sashes="4"]{ display:block; }

    .calc-sashes-row{
      display:grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap:10px;
      margin-top:18px;
    }

    .input, select{
      width:100%;
      padding: 8px 10px;
      border-radius:999px;
      border: 1px solid var(--border-color);
      font-size:13px;
      outline:none;
      transition: border-color .15s ease, box-shadow .15s ease;
      background:#fff;
    }
    .input:focus, select:focus{
      border-color: var(--blue);
      box-shadow: 0 0 0 3px rgba(214,31,44,.15);
    }

    .calc-form-grid{
      display:grid;
      grid-template-columns: repeat(2, minmax(0,1fr));
      gap: 10px 14px;
      margin-bottom:18px;
    }
    .calc-field label{
      display:block;
      margin-bottom:4px;
      font-size:12px;
      color: var(--gray-text);
    }

    .calc-hint{ font-size:12px; color: var(--gray-text); margin-top:6px; }
    .calc-actions{ margin-top:16px; display:flex; justify-content:flex-end; }

    .calc-user-grid{
      display:grid;
      grid-template-columns: minmax(0,2.6fr) minmax(0,2.4fr);
      gap:24px;
    }
    .calc-user-fields{
      display:grid;
      grid-template-columns: minmax(0,1fr);
      gap:10px;
    }
    .calc-summary-box{
      border-radius:12px;
      border: 1px dashed var(--border-color);
      padding: 12px 14px;
      font-size:13px;
      color: var(--gray-text);
      background: #fff5f5;
    }
    .calc-summary-title{ font-weight:600; margin-bottom:6px; color:#222; }

    .calc-step{ display:none; }
    .calc-step.active{ display:block; }
    .calc-step-caption{ font-size:13px; color: var(--gray-text); margin-bottom:16px; }
    .calc-back-row{ margin-top:16px; display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }

    @media (max-width: 1024px){
      .calc-layout, .calc-user-grid{ grid-template-columns: minmax(0,1fr); }
    }
    @media (max-width: 768px){
      .calc-format-row{ gap:8px; }
      .calc-profile-card{ flex: 1 1 100%; min-width:0; }
      .calc-sashes-row{ grid-template-columns: minmax(0,1fr); }
      .calc-actions{ justify-content:center; }
      .calc-card{ padding: 20px 14px 22px; border-radius: 18px; }
    }
    
    .lang-select.is-hidden{ display:none !important; }
