.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:linear-gradient(135deg,#7C3AED,#9333EA);
    color:#fff;
    border:none;
    padding:18px;
    border-radius:12px;
    font-size:18px;
    font-weight:bold;
    cursor:pointer;
    box-shadow:0 12px 30px rgba(124,58,237,.35);
transition:.3s;

}

.kv-checkout button:hover{

    background:linear-gradient(135deg,#6D28D9,#7E22CE);
    transform:translateY(-2px);

box-shadow:0 16px 40px rgba(124,58,237,.45);

}

.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:#7C3AED;
    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:#7C3AED;

    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:#7C3AED;
    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;
}

/* ==========================
   SALES POPUP
========================== */

.kv-sales-popup{
    position:fixed;
    left:20px;
    bottom:20px;
    width:330px;
    background:rgba(255,255,255,.92);
    border:1px solid rgba(255,255,255,.5);
    border-radius:14px;
    display:flex;
    align-items:center;
    padding:14px;
    z-index:999999;
    box-shadow:
    0 12px 28px rgba(0,0,0,.10),
    0 24px 60px rgba(0,0,0,.14);
    transform:translateY(120%);
    opacity:0;
    transition:all .4s ease;
    font-family:inherit;
}

.kv-sales-popup.show{
    transform:translateY(0);
    opacity:1;

}

.kv-popup-icon{
    width:50px;
    height:50px;
    min-width:50px;
    border-radius:50%;
    background:#16a34a;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    color:#fff;
    margin-right:12px;
}

.kv-popup-title{
    font-size:15px;
    color:#222;
    margin-bottom:5px;
}

.kv-popup-product{
    font-size:14px;
    color:#555;
}

.kv-popup-time{
    margin-top:6px;
    font-size:12px;
    color:#999;
}

@media(max-width:768px){

.kv-sales-popup{
    left:12px;
    right:12px;
    bottom:20px;
    width:auto;
}
}

.kv-sales-popup::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:1px;
    background:rgba(255,255,255,.8);
}

/* PAYMENT STATUS */

.kv-paid{

    background:#d1fae5;
    color:#065f46;
    padding:5px 10px;
    border-radius:20px;
    font-weight:600;

}

.kv-cod{

    background:#fef3c7;
    color:#92400e;
    padding:5px 10px;
    border-radius:20px;
    font-weight:600;

}

.kv-failed{

    background:#fee2e2;
    color:#991b1b;
    padding:5px 10px;
    border-radius:20px;
    font-weight:600;

}

.kv-pending{

    background:#e5e7eb;
    color:#374151;
    padding:5px 10px;
    border-radius:20px;
    font-weight:600;

}

/* PARCEL STATUS */

.kv-processing{

background:#dbeafe;
color:#1d4ed8;
padding:5px 12px;
border-radius:20px;
font-weight:600;

}

.kv-ready{

background:#ede9fe;
color:#6d28d9;
padding:5px 12px;
border-radius:20px;
font-weight:600;

}

.kv-picked{

background:#ffedd5;
color:#c2410c;
padding:5px 12px;
border-radius:20px;
font-weight:600;

}

.kv-transit{

background:#fef3c7;
color:#92400e;
padding:5px 12px;
border-radius:20px;
font-weight:600;

}

.kv-delivered{

background:#dcfce7;
color:#166534;
padding:5px 12px;
border-radius:20px;
font-weight:600;

}

.kv-return{

background:#fee2e2;
color:#991b1b;
padding:5px 12px;
border-radius:20px;
font-weight:600;

}

.kv-cancel{

background:#e5e7eb;
color:#374151;
padding:5px 12px;
border-radius:20px;
font-weight:600;

}

.kv-popup-rating{
    margin-top:4px;
    font-size:12px;
    color:#f5b301;
    font-weight:600;
}

.kv-popup-rating span{
    color:#777;
}

/* Purple Focus */

.kv-checkout input:focus,
.kv-checkout textarea:focus,
.kv-checkout select:focus{

    outline:none;
    border:2px solid #7C3AED;
    box-shadow:0 0 0 4px rgba(124,58,237,.15);

}
 
 /* offer product- precentage offer */

.kv-discount-badge{
    display:inline-block;
    background:#ff4d4f;
    color:#fff;
    font-size:13px;
    font-weight:700;
    padding:6px 14px;
    border-radius:999px;
    text-transform:uppercase;
    animation: kvPulse 1.5s ease-in-out infinite;
}

@keyframes kvPulse{
    0%{
        transform:scale(1);
    }

    30%{
        transform:scale(1.15);
    }

    60%{
        transform:scale(0.95);
    }

    100%{
        transform:scale(1);
    }
}
.kv-badge{

    animation:hotPulse 1.8s infinite;
    transform-origin:center;

}

@keyframes hotPulse{

0%,100%{
transform:scale(1);
}

25%{
transform:scale(1.10);
}

50%{
transform:scale(0.96);
}

75%{
transform:scale(1.08);
}
}

/* ==========================================
   COMPACT CHECKOUT - MOBILE FRIENDLY
========================================== */

/* Checkout container */
.kv-checkout{
    padding:22px !important;
}

/* Main title */
.kv-checkout h2{
    font-size:30px !important;
    margin-bottom:20px !important;
}

/* Section headings */
.kv-checkout h3{
    font-size:22px !important;
    margin-top:20px !important;
    margin-bottom:12px !important;
}

/* Labels */
.kv-checkout label:not(.kv-radio){
    margin-top:12px !important;
    margin-bottom:6px !important;
}

/* Input */
.kv-checkout input:not([type="radio"]),
.kv-checkout textarea{
    padding:12px 14px !important;
}

/* Normal input height */
.kv-checkout input:not([type="radio"]){
    min-height:52px !important;
}

/* Address */
.kv-checkout textarea{
    min-height:85px !important;
}

/* Package + payment cards */
.kv-radio{
    padding:12px !important;
    margin-bottom:9px !important;
}

/* Package text */
.kv-left span{
    font-size:16px !important;
}

/* Package price */
.kv-radio strong,
.kv-package strong{
    font-size:18px !important;
}

/* Package section */
.kv-package{
    margin:14px 0 !important;
}

/* Shipping */
.kv-shipping{
    padding:13px !important;
    margin-bottom:14px !important;
}

/* Payment */
.kv-payment{
    margin:14px 0 !important;
}

/* Separators */
.kv-checkout hr{
    margin:18px 0 !important;
}

/* Total */
#grand_total{
    font-size:28px !important;
    margin:6px 0 18px !important;
}

/* Submit button - keep it comfortable */
.kv-checkout button{
    margin-top:18px !important;
    padding:16px !important;
}
/* =========================================
   COLOR SELECTION
========================================= */

.kv-color-selection {
    margin-top: 25px;
}

.kv-color-description {
    margin-bottom: 15px;
    color: #666;
}
/* =========================================================
   COLOR SELECTION - CLEAN COMPACT UI
   ========================================================= */

.kv-color-options {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 15px;
}

.kv-color-option {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;
    min-height: 58px;

    padding: 10px 14px;

    background: #fff;
    border: 1px solid #e3e3e3;
    border-radius: 10px;

    box-sizing: border-box;
}

/* Checkbox + nama warna */
.kv-color-option label {
    display: flex;
    align-items: center;
    gap: 9px;

    margin: 0;
    padding: 0;

    flex: 1;
    min-height: 38px;

    cursor: pointer;
}

/* Checkbox */
.kv-color-option label input[type="checkbox"] {
    width: 18px;
    height: 18px;

    margin: 0;
    padding: 0;

    flex-shrink: 0;

    accent-color: #ff5722;
}

/* Nama warna */
.kv-color-option label span {
    display: block;

    font-size: 15px;
    line-height: 1.2;
    font-weight: 600;

    color: #333;
}

/* Quantity */
.kv-color-option .kv-color-qty {
    width: 58px !important;
    height: 38px !important;

    margin: 0 !important;
    padding: 0 6px !important;

    text-align: center;

    font-size: 15px;
    font-weight: 600;

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

    background: #fff;

    box-sizing: border-box;
}

/* Disabled quantity */
.kv-color-option .kv-color-qty:disabled {
    background: #f5f5f5;
    color: #aaa;
    border-color: #e5e5e5;

    cursor: not-allowed;
}

/* Jumlah warna */
.kv-color-total {
    margin-top: 10px;

    padding: 11px 14px;

    background: #f7f7f7;
    border-radius: 9px;

    font-size: 14px;
    color: #444;
}

.kv-color-total strong {
    font-weight: 700;
}

/* FORCE CLEAN COLOR ROW */

.kv-color-options .kv-color-option {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;

    min-height: 56px !important;
    height: 56px !important;

    padding: 8px 14px !important;
    margin: 0 !important;

    box-sizing: border-box !important;
}

/* Checkbox + nama mesti SEBARIS */
.kv-color-options .kv-color-option label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 9px !important;

    flex: 1 !important;
}

/* Checkbox */
.kv-color-options .kv-color-option label input[type="checkbox"] {
    display: block !important;

    width: 18px !important;
    height: 18px !important;

    margin: 0 !important;
    padding: 0 !important;

    flex: 0 0 18px !important;
}

/* Nama warna */
.kv-color-options .kv-color-option label span {
    display: inline-block !important;

    margin: 0 !important;
    padding: 0 !important;

    line-height: 1 !important;

    font-size: 15px !important;
    font-weight: 600 !important;
}

/* Quantity */
.kv-color-options .kv-color-option .kv-color-qty {
    display: block !important;

    width: 58px !important;
    height: 38px !important;

    margin: 0 !important;
    padding: 0 !important;

    flex: 0 0 58px !important;

    text-align: center !important;
    box-sizing: border-box !important;
}