.kv-checkout{

    max-width:700px;
    margin:auto;
    background:#ffffff;
    padding:30px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.kv-checkout h2{

    font-size:36px;
    margin-bottom:30px;
    font-weight:700;

}

.kv-checkout label:not(.kv-radio){

    display:block;
    margin-bottom:8px;
    margin-top:20px;
    font-weight:600;

}

.kv-checkout input:not([type="radio"]),
.kv-checkout textarea{

    width:100%;
    padding:15px;
    border:1px solid #ddd;
    border-radius:12px;
    font-size:16px;
    box-sizing:border-box;

}

.kv-checkout textarea{

    min-height:120px;

}

.kv-checkout button{

    width:100%;
    margin-top:25px;
    background:#ff6b00;
    color:white;
    border:none;
    padding:18px;
    border-radius:12px;
    font-size:18px;
    font-weight:bold;
    cursor:pointer;

}

.kv-checkout button:hover{

    background:#e45c00;

}

.kv-checkout select{

    width:100%;
    padding:15px;
    border:1px solid #ddd;
    border-radius:12px;
    font-size:16px;
    box-sizing:border-box;
    background:#fff;

}

.kv-package{

    margin:20px 0;

}

.kv-radio{

    display:flex;
    justify-content:space-between;
    align-items:center;

    border:1px solid #ddd;
    border-radius:12px;

    padding:15px;

    margin-bottom:15px;

    cursor:pointer;

    width:100%;
    box-sizing:border-box;

}

.kv-left{

    display:flex;
    align-items:center;
    gap:12px;

    flex:1;
    min-width:0;

}

.kv-left input{

    margin:0;

    width:auto;

}

.kv-left span{

    font-size:18px;

    font-weight:600;

}

.kv-radio strong{

    color:#ff6b00;
    font-size:20px;

    white-space:nowrap;
    margin-left:auto;
    flex-shrink:0;

}

.kv-summary{

    margin:25px 0;

}

.kv-row{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin:12px 0;

    font-size:17px;

}

.kv-row.total{

    font-size:22px;

    font-weight:bold;

}

.kv-row.total strong{

    color:#ff6b00;

}
.kv-shipping{

display:flex;

justify-content:space-between;

align-items:center;

padding:18px;

border:1px solid #ddd;

border-radius:12px;

margin-bottom:20px;

}

.kv-payment{

margin:20px 0;

}

#grand_total{

    font-size:30px;
    font-weight:700;
    color:#ff6b00;

    margin:8px 0 25px;

}

/* PACKAGE */

.kv-package .kv-radio{

    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;

    border:1px solid #ddd;
    border-radius:12px;
    padding:15px;
    margin-bottom:15px;

}

.kv-package .kv-left{

    display:flex !important;
    align-items:center !important;
    gap:12px;
    flex:1;

}

.kv-package input[type="radio"]{

    width:auto !important;
    flex:none !important;
    margin:0 !important;

}

.kv-package strong{

    margin-left:auto;
    color:#ff6b00;
    font-size:20px;
}

.kv-error{
    display:block;
    color:#dc2626;
    font-size:13px;
    margin-top:5px;
    min-height:18px;
}

.kv-invalid{
    border:2px solid #dc2626 !important;
}

.kv-valid{
    border:2px solid #22c55e !important;
}
