
.checkout-shell{
    padding:34px 0 54px;
    background:#f7f8fc;
}
.checkout-container{
    width:min(1180px,calc(100% - 28px));
    margin:0 auto;
}
.checkout-head{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:flex-start;
    margin-bottom:18px;
}
.checkout-head span{
    display:block;
    color:#5b5ce2;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.checkout-head h1{
    margin:4px 0 0;
    color:#24324a;
    font:800 30px/1.2 Poppins,Inter,sans-serif;
}
.checkout-head p{
    max-width:760px;
    margin:7px 0 0;
    color:#7a8799;
    font-size:12px;
    line-height:1.65;
}
.checkout-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:18px;
    align-items:start;
}
.checkout-card{
    border:1px solid #e2e7ef;
    border-radius:17px;
    background:#fff;
    box-shadow:0 8px 24px rgba(15,23,42,.035);
    overflow:hidden;
}
.checkout-card-head{
    min-height:62px;
    padding:14px 16px;
    border-bottom:1px solid #edf0f4;
    display:flex;
    align-items:center;
    gap:11px;
}
.checkout-card-head>span{
    width:38px;
    height:38px;
    border-radius:11px;
    background:#efedff;
    color:#5b5ce2;
    display:grid;
    place-items:center;
    font-size:17px;
}
.checkout-card-head strong{
    display:block;
    color:#2c394f;
    font-size:13px;
}
.checkout-card-head small{
    display:block;
    margin-top:2px;
    color:#909aab;
    font-size:9px;
}
.checkout-card-body{
    padding:16px;
}
.cart-item{
    padding:14px 0;
    border-bottom:1px solid #edf0f4;
    display:grid;
    grid-template-columns:54px minmax(0,1fr) auto auto;
    gap:12px;
    align-items:center;
}
.cart-item:last-child{
    border-bottom:0;
}
.cart-item-icon{
    width:54px;
    height:54px;
    border-radius:13px;
    background:linear-gradient(135deg,#efedff,#f7f8fd);
    color:#5b5ce2;
    display:grid;
    place-items:center;
    font-size:20px;
}
.cart-item strong{
    display:block;
    color:#2b394f;
    font-size:12.5px;
}
.cart-item small{
    display:block;
    margin-top:3px;
    color:#8b96a8;
    font-size:9.5px;
}
.cart-price{
    color:#26344a;
    font-size:13px;
    font-weight:900;
    white-space:nowrap;
}
.cart-remove{
    border:0;
    background:transparent;
    color:#b42318;
    font-size:17px;
}
.checkout-summary{
    position:sticky;
    top:92px;
}
.summary-row{
    min-height:37px;
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:center;
    color:#667085;
    font-size:11px;
}
.summary-row.total{
    margin-top:7px;
    padding-top:12px;
    border-top:1px solid #e7ebf1;
    color:#27344a;
    font-size:15px;
    font-weight:900;
}
.checkout-btn{
    min-height:46px;
    padding:0 15px;
    border:0;
    border-radius:11px;
    background:#5b5ce2;
    color:#fff;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    font-size:11px;
    font-weight:900;
}
.checkout-btn:hover{
    color:#fff;
    background:#4f50d9;
}
.checkout-btn.secondary{
    border:1px solid #dfe4ec;
    background:#fff;
    color:#536176;
}
.checkout-btn.secondary:hover{
    background:#f8fafc;
    color:#344054;
}
.checkout-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.checkout-form-grid .full{
    grid-column:1/-1;
}
.checkout-form-grid label{
    margin-bottom:5px;
    color:#667085;
    font-size:9.5px;
    font-weight:850;
}
.checkout-form-grid .form-control,
.checkout-form-grid .form-select{
    min-height:44px;
    border-color:#dfe4ec;
    font-size:11.5px;
}
.payment-choice{
    padding:12px;
    border:1px solid #e3e7ee;
    border-radius:12px;
    display:flex;
    gap:10px;
    align-items:flex-start;
    cursor:pointer;
}
.payment-choice input{
    margin-top:3px;
}
.payment-choice strong{
    display:block;
    color:#344054;
    font-size:11.5px;
}
.payment-choice small{
    display:block;
    margin-top:2px;
    color:#8994a6;
    font-size:9.5px;
    line-height:1.55;
}
.gateway-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
}
.gateway-option{
    min-height:58px;
    padding:8px;
    border:1px solid #e1e6ee;
    border-radius:11px;
    background:#fff;
    display:flex;
    align-items:center;
    gap:7px;
    cursor:pointer;
}
.gateway-option input{
    margin:0;
}
.gateway-option span{
    color:#46566d;
    font-size:10px;
    font-weight:800;
}
.order-status-box{
    padding:17px;
    border-radius:15px;
    background:#f7f8fc;
}
.order-status-box.success{
    background:#ecf9f0;
}
.order-status-box.warning{
    background:#fff7e8;
}
.order-status-box.failed{
    background:#fff1f0;
}
.order-line{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    padding:11px 0;
    border-bottom:1px solid #edf0f4;
}
.order-line:last-child{border-bottom:0}
.order-line strong{color:#344054;font-size:11.5px}
.order-line small{display:block;color:#8a95a7;font-size:9px;margin-top:2px}
.order-line b{color:#27344a;font-size:11.5px}
.offline-box{
    padding:13px;
    border:1px solid #e3e8ef;
    border-radius:12px;
    background:#fbfcfe;
    color:#637085;
    font-size:10.5px;
    line-height:1.75;
}
.checkout-empty{
    padding:50px 20px;
    text-align:center;
}
.checkout-empty i{
    display:block;
    color:#a4adbb;
    font-size:44px;
}
.checkout-empty h3{
    margin:12px 0 4px;
    color:#344054;
    font-size:17px;
}
.checkout-empty p{
    color:#8a95a7;
    font-size:11px;
}
@media(max-width:900px){
    .checkout-grid{grid-template-columns:1fr}
    .checkout-summary{position:static}
}
@media(max-width:640px){
    .checkout-container{width:min(100% - 18px,1180px)}
    .checkout-head{flex-direction:column}
    .checkout-head h1{font-size:25px}
    .cart-item{grid-template-columns:46px minmax(0,1fr) auto}
    .cart-item-icon{width:46px;height:46px}
    .cart-remove{grid-column:3}
    .checkout-form-grid{grid-template-columns:1fr}
    .checkout-form-grid .full{grid-column:auto}
    .gateway-grid{grid-template-columns:1fr}
}

.v19-card-buy-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    margin-top:10px;
}
.v19-card-buy-actions form{margin:0}
.v19-card-buy-btn{
    width:100%;
    min-height:36px;
    padding:0 9px;
    border:1px solid #5b5ce2;
    border-radius:9px;
    background:#5b5ce2;
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    font-size:9.5px;
    font-weight:850;
}
.v19-card-buy-btn.secondary{
    background:#fff;
    color:#5b5ce2;
}
