 :root{
    --ink:#1c2430;
    --ink-soft:#5a6472;
    --line:#dde2e8;
    --line-strong:#b8c0cb;
    --accent:#2456a6;
    --accent-soft:#eaf0fb;
    --bg:#f6f7f9;
    --panel:#ffffff;
    --error:#b3261e;
    --error-bg:#fdecea;
    --ok:#1e7d47;
    --radius:10px;
    font-family:'Segoe UI', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  }

  .field
  {
    margin-bottom: 5px;
  }
 .field label{
    font-size:15px;
    font-weight:400;
    margin-bottom : 0px;
    color:var(--ink);
  }
   
  .field .hint{
    font-size:11.5px;
    color:var(--ink-soft);
    margin-top:5px;
  } 
  .field input, .field select{
    /* width:100%;
    padding:10px 12px; */
    font-size:14px;
    /* border:1px solid var(--line-strong);
    border-radius:8px;
    background:#fff; */
    color:var(--ink);
    /* outline:none; */
    transition:border-color .15s, box-shadow .15s;
  }
  .field input:focus, .field select:focus{
    border-color:var(--accent);
    box-shadow:0 0 0 3px var(--accent-soft);
  }
  .field.invalid input, .field.invalid select{
    border-color:var(--error);
  }
  .field.invalid .error{
    display:block;
    color:red;
  }
  .field.valid input{
    border-color:var(--ok);
  }
  .error{
    display:none;
    font-size:11.5px;
    color:var(--error);
    margin-top:5px;
  }
  .error.open{
    display:block;
  }
  .success{
    display:none;
    padding:20px 24px 24px;
    text-align:center;
  }
  .success.open{
    display:block;
  }
  .success .check{
    width:44px;height:44px;border-radius:50%;
    background:var(--ok);
    color:#fff;
    display:flex;align-items:center;justify-content:center;
    margin:0 auto 12px;
    font-size:22px;
  }
  .success h2{
    font-size:16px;
    margin:0 0 6px;
  }
  .success p{
    font-size:13px;
    color:var(--ink-soft);
    margin:0 0 4px;
  }
  .success .summary{
    text-align:left;
    margin-top:14px;
    background:var(--bg);
    border:1px solid var(--line);
    border-radius:8px;
    padding:12px 14px;
    font-size:12.5px;
    line-height:1.7;
  }
  .success .summary b{color:var(--ink-soft); font-weight:600;}
  .reset-link{
    display:inline-block;
    margin-top:14px;
    font-size:12.5px;
    color:var(--accent);
    cursor:pointer;
    text-decoration:underline;
  }
  .toggle-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 14px;
    background:var(--bg);
    border:1px solid var(--line);
    border-radius:8px;
  }
  .toggle-row .label-block .t{
    font-size:13.5px;
    font-weight:600;
  }
  .toggle-row .label-block .s{
    font-size:11.5px;
    color:var(--ink-soft);
    margin-top:2px;
  }
  .switch{
    position:relative;
    width:42px;
    height:24px;
    flex:0 0 auto;
  }
  .switch input{
    opacity:0;
    width:0;
    height:0;
  }
  .slider{
    position:absolute;
    inset:0;
    background:#c7ccd3;
    border-radius:999px;
    cursor:pointer;
    transition:.15s;
  }
  .slider::before{
    content:"";
    position:absolute;
    height:18px;
    width:18px;
    left:3px;
    top:3px;
    background:#fff;
    border-radius:50%;
    transition:.15s;
    box-shadow:0 1px 2px rgba(0,0,0,0.25);
  }
  .switch input:checked + .slider{
    background:var(--accent);
  }
  .switch input:checked + .slider::before{
    transform:translateX(18px);
  }
  .company-block{
    display:none;
    flex-direction:column;
    gap:14px;
    padding:14px;
    border:1px dashed var(--line-strong);
    border-radius:8px;
    background:#fbfbfc;
    margin-top:10px;
  }
  .company-block.open{
    display:flex;
  }

  .button_submit{
    margin-top:10px;
    padding:12px;
    border:none;
    border-radius:8px;
    background:var(--accent);
    color:#fff;
    font-size:14.5px;
    font-weight:600;
    cursor:pointer;
    transition:background .15s, opacity .15s;
  }
  .button_submit:disabled{
    background:#a9b6c9;
    cursor:not-allowed;
  }
  .button_submit:not(:disabled):hover{
    background:#1c4485;
  }
  /* .button_submit{
    margin-top:4px;
    padding:12px;
    text-transform: capitalize;
    border:none;
    border-radius:8px;
    background:var(--accent);
    color:#fff;
    font-size:14.5px;
    font-weight:600;
    cursor:pointer;
    transition:background .15s, opacity .15s;
  }
  .button_submit active{
    margin-top:4px;
    padding:12px;
    text-transform: capitalize;
    border:none;
    border-radius:8px;
    background:var(--accent);
    color:#fff;
    font-size:14.5px;
    font-weight:600;
    cursor:pointer;
    transition:background .15s, opacity .15s;
  } */
.overlay{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(20,26,34,0.55);
    align-items:center;
    justify-content:center;
    padding:16px;
    z-index:50;
  }
  .overlay.open{
    display:flex;
  }
  .otp-modal{
    width:100%;
    max-width:380px;
    background:#fff;
    border-radius:14px;
    padding:28px 26px 26px;
    position:relative;
    box-shadow:0 20px 50px rgba(10,20,40,0.25);
    animation:pop .15s ease-out;
  }
  @keyframes pop{
    from{ transform:scale(.97); opacity:0; }
    to{ transform:scale(1); opacity:1; }
  }
  .otp-close{
    position:absolute;
    top:14px;
    right:14px;
    width:28px;
    height:28px;
    border:none;
    background:transparent;
    color:#8a93a1;
    font-size:18px;
    cursor:pointer;
    border-radius:6px;
  }
  .otp-close:hover{
    background:#f1f2f4;
  }
  .otp-icon{
    width:56px;
    height:56px;
    border-radius:50%;
    background:var(--accent);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    margin:0 auto 16px;
  }
  .otp-modal h2{
    text-align:center;
    color:var(--accent);
    font-size:19px;
    margin:0 0 8px;
  }
  .otp-modal .sub{
    text-align:center;
    font-size:13px;
    color:var(--ink-soft);
    margin:0 0 18px;
    line-height:1.5;
  }
  .otp-sent-box{
    background:var(--accent-soft);
    border-radius:8px;
    padding:10px 12px;
    text-align:center;
    font-size:13px;
    color:var(--ink-soft);
    margin-bottom:6px;
  }
  .otp-sent-box .num{
    font-weight:700;
    color:var(--accent);
    font-size:14.5px;
  }
  .otp-change{
    display:block;
    text-align:center;
    font-size:12px;
    color:var(--accent);
    text-decoration:underline;
    cursor:pointer;
    margin-bottom:18px;
    background:none;
    border:none;
    padding:2px;
  }
  .otp-edit-row{
    display:none;
    gap:8px;
    margin-bottom:18px;
  }
  .otp-edit-row.open{
    display:flex;
  }
  .otp-edit-row input{
    flex:1;
    padding:9px 10px;
    border:1px solid var(--line-strong);
    border-radius:8px;
    font-size:13.5px;
  }
  .otp-edit-row button{
    padding:9px 14px;
    border:none;
    border-radius:8px;
    background:var(--accent);
    color:#fff;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
    height:40px;
  }
  .otp-label{
    font-size:13px;
    font-weight:600;
    margin-bottom:8px;
  }
  .otp-boxes{
    display:flex;
    gap:8px;
    margin-bottom:6px;
  }
  .otp-boxes input{
    width:100%;
    aspect-ratio:1;
    text-align:center;
    font-size:19px;
    border:1px solid var(--line-strong);
    border-radius:8px;
    outline:none;
    color:var(--ink);
    transition:border-color .15s, box-shadow .15s;
  }
  .otp-boxes input::placeholder{
    color:#c3c9d1;
    font-weight:400;
  }
  .otp-boxes input:focus{
    border-color:var(--accent);
    box-shadow:0 0 0 3px var(--accent-soft);
  }
  .otp-boxes.error input{
    border-color:var(--error);
    animation:shake .3s;
  }
  @keyframes shake{
    0%,100%{ transform:translateX(0); }
    25%{ transform:translateX(-4px); }
    75%{ transform:translateX(4px); }
  }
  .otp-error-msg{
    display:none;
    font-size:12px;
    color:var(--error);
    margin:2px 0 14px;
  }
  .otp-error-msg.show{
    display:block;
  }
  .otp-verify-btn{
    width:100%;
    padding:12px;
    border:none;
    border-radius:8px;
    background:var(--accent);
    color:#fff;
    font-size:14.5px;
    font-weight:600;
    cursor:pointer;
    margin-top:8px;
  }
  .otp-verify-btn:disabled{
    background:#a9b6c9;
    cursor:not-allowed;
  }
  .otp-resend-row{
    text-align:center;
    margin-top:16px;
    font-size:12.5px;
    color:var(--ink-soft);
  }
  .otp-resend-link{
    color:var(--accent);
    font-weight:600;
    text-decoration:underline;
    cursor:pointer;
  }
  .otp-resend-link.disabled{
    color:#a9b3c0;
    text-decoration:none;
    cursor:default;
  }
  .otp-hint-demo{
    text-align:center;
    font-size:11px;
    color:#a9b3c0;
    margin-top:14px;
  }
.title-wrap {
    margin-top: 11px;
    border-bottom: 1px solid #d8d3d3;
    padding: 10px 0px;
    margin-bottom: 10px;
}
.cart-bottom-title{

    font-size: 20px;
    color: #021c50;
}
.modal-content .modal-body {
    padding: 0px 29px 29px !important;
}