*{
    box-sizing:border-box;
}

.a7-pay-page{
    min-height:calc(100vh - 104px);
    padding:38px 24px 80px;
    background:#f6f7f9;
    color:#20252b;
    font-family:Arial,sans-serif;
}

.a7-pay-container{
    width:100%;
    max-width:1410px;
    margin:0 auto;
}

.a7-pay-title{
    margin:0 0 24px;
    font-size:38px;
    line-height:1.15;
    font-weight:700;
    letter-spacing:-1px;
}

.a7-pay-card{
    width:100%;
    max-width:520px;
    margin:0 auto;
    padding:36px;
    border:1px solid #e5e8ec;
    border-radius:26px;
    background:#fff;
    box-shadow:0 16px 50px rgba(31,42,55,.07);
}

.a7-pay-form{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.a7-pay-field{
    width:100%;
}

.a7-pay-input{
    display:block;
    width:100%;
    height:58px;
    padding:0 18px;
    border:1px solid #d9dee5;
    border-radius:14px;
    outline:none;
    background:#fff;
    color:#20252b;
    font:500 17px/1 Arial,sans-serif;
    text-align:center;
    transition:border-color .15s ease,box-shadow .15s ease;
}

.a7-pay-input:focus{
    border-color:#8da6c7;
    box-shadow:0 0 0 4px rgba(60,105,165,.08);
}

.a7-pay-status{
    min-height:20px;
    margin-top:-7px;
    color:#7c858f;
    font-size:13px;
    line-height:1.45;
    text-align:center;
}

.a7-pay-client{
    display:grid;
    grid-template-columns:1fr 90px 120px;
    gap:12px;
    padding:16px;
    border-radius:16px;
    background:#f6f7f9;
}

.a7-pay-client div{
    min-width:0;
}

.a7-pay-client span{
    display:block;
    margin-bottom:5px;
    color:#8a929c;
    font-size:11px;
    line-height:1;
}

.a7-pay-client strong{
    display:block;
    overflow:hidden;
    color:#252a30;
    font-size:14px;
    line-height:1.3;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.a7-pay-total{
    padding:17px 18px;
    border-radius:16px;
    background:#f6f7f9;
    color:#6f7882;
    font-size:14px;
    line-height:1.5;
    text-align:center;
}

.a7-pay-total__main{
    margin-top:3px;
    color:#252a30;
    font-size:18px;
}

.a7-pay-total__main strong{
    font-size:21px;
}

.a7-pay-agreement{
    display:flex;
    align-items:flex-start;
    gap:11px;
    color:#737c86;
    font-size:12px;
    line-height:1.45;
    cursor:pointer;
}

.a7-pay-agreement input{
    width:17px;
    height:17px;
    margin:1px 0 0;
    flex:0 0 auto;
}

.a7-pay-agreement a{
    color:#496c98;
}

.a7-pay-button{
    width:100%;
    height:58px;
    border:0;
    border-radius:14px;
    background:#356da8;
    color:#fff;
    font:600 17px/1 Arial,sans-serif;
    cursor:pointer;
    transition:opacity .15s ease,transform .15s ease;
}

.a7-pay-button:hover:not(:disabled){
    transform:translateY(-1px);
}

.a7-pay-button:disabled{
    opacity:.42;
    cursor:not-allowed;
}

.a7-pay-message{
    padding:14px 16px;
    border-radius:14px;
    font-size:13px;
    line-height:1.5;
    text-align:center;
}

.a7-pay-message--error{
    background:#fff1f1;
    color:#a53232;
}

.a7-pay-message--warning{
    background:#fff7e8;
    color:#8a5d16;
}

.a7-pay-card--emergency{
    max-width:700px;
}

.a7-pay-emergency-text{
    font-size:16px;
    line-height:1.6;
}

.a7-pay-divider{
    height:1px;
    margin:28px 0;
    background:#e7e9ed;
}

.a7-pay-check{
    max-width:420px;
    margin:0 auto;
}

.a7-pay-check__title{
    margin-bottom:15px;
    color:#59616a;
    font-size:14px;
    line-height:1.45;
    text-align:center;
}

.a7-pay-check-result{
    min-height:24px;
    margin-top:14px;
    color:#5d6670;
    font-size:14px;
    line-height:1.5;
    text-align:center;
}

@media(max-width:700px){

    .a7-pay-page{
        min-height:calc(100vh - 82px);
        padding:26px 16px 50px;
    }

    .a7-pay-title{
        margin-bottom:30px;
        font-size:30px;
    }

    .a7-pay-card{
        padding:26px 20px;
        border-radius:22px;
    }

    .a7-pay-client{
        grid-template-columns:1fr 70px;
    }

    .a7-pay-client div:first-child{
        grid-column:1 / -1;
    }
}

/* Unified A7 primary button */
.a7-pay-button{
    background:#168ff0!important;
    box-shadow:0 8px 22px rgba(22,143,240,.18);
}

.a7-pay-button:hover:not(:disabled){
    background:#087ed8!important;
}

.a7-pay-button:disabled{
    background:#168ff0!important;
    opacity:.32!important;
    box-shadow:none!important;
    cursor:default!important;
    transform:none!important;
}


/* A7 RENT v68 — unified mobile page heading rhythm */
@media(max-width:700px){
  .a7-pay-page{
    padding:20px 20px 50px!important;
  }
  .a7-pay-container{
    width:100%!important;
    max-width:100%!important;
    margin:0 auto!important;
  }
  .a7-pay-title{
    margin:0 0 22px!important;
    padding:0!important;
    font-size:28px!important;
    line-height:1.15!important;
    font-weight:700!important;
    letter-spacing:-.5px!important;
  }
}

/* A7 internal desktop rhythm v69 */
@media (min-width:761px){
  .a7-pay-page{min-height:0!important;padding-top:86px!important;}
}
