 .checkout-container {
     max-width: 1200px;
     margin: -40px auto 50px;
     padding: 0 15px;
     flex: 1;
 }

 .checkout-card {
     background: rgba(0, 0, 0, 0.9);
     border-radius: 16px;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
     overflow: hidden;
     margin-bottom: 30px;
     border: 1px solid rgba(255, 215, 0, 0.1);
     backdrop-filter: blur(5px);
 }

 .card-header {
     background: rgba(0, 0, 0, 0.7);
     color: #fff;
     padding: 18px 25px;
     font-size: 1.3rem;
     font-weight: 700;
     letter-spacing: 1px;
     border-bottom: 1px solid rgba(255, 215, 0, 0.1);
     display: flex;
     align-items: center;
     text-shadow: 0 0 8px rgba(255, 215, 0, 0.5);
 }

 .card-header i {
     margin-right: 12px;
     color: #fff;
     font-size: 1.4rem;
 }

 .card-body {
     padding: 25px;
 }

 .cart-item {
     display: flex;
     align-items: center;
     padding: 20px 0;
     border-bottom: 1px solid rgba(255, 255, 255, 0.1);
 }

 .cart-item:last-child {
     border-bottom: none;
 }

 .item-image {
     border-radius: 12px;
     overflow: hidden;
     margin-right: 20px;
     background: #1e293b;
     display: flex;
     align-items: center;
     justify-content: center;
     border: 2px solid rgba(255, 215, 0, 0.3);
     box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
     flex-shrink: 0;
 }

 .item-image img {
     max-width: 100%;
 }

 .item-details {
     flex: 1;
     min-width: 0;
 }

 .item-name {
     font-weight: 700;
     font-size: 1.2rem;
     margin-bottom: 5px;
     color: white;
     letter-spacing: 0.5px;
 }

 .item-game {
     font-size: 0.9rem;
     color: var(--gray);
     margin-bottom: 10px;
 }

 .item-price {
     font-weight: 700;
     color: #fff;
     font-size: 1.3rem;
     text-shadow: 0 0 8px rgba(255, 215, 0, 0.3);
 }

 .item-actions {
     display: flex;
     align-items: center;
     flex-shrink: 0;
 }

 .quantity-selector {
     display: flex;
     align-items: center;
     margin-right: 15px;
     background: rgba(0, 0, 0, 0.7);
     border-radius: 8px;
     padding: 5px;
     border: 1px solid rgba(255, 215, 0, 0.2);
 }

 .quantity-btn {
     width: 30px;
     height: 30px;
     background: rgba(255, 215, 0, 0.1);
     border: none;
     border-radius: 6px;
     font-size: 16px;
     cursor: pointer;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #fff;
     transition: all 0.3s;
 }

 .quantity-btn:hover {
     background: rgba(255, 215, 0, 0.3);
 }

 .quantity-input {
     width: 45px;
     height: 30px;
     text-align: center;
     background: transparent;
     border: 1px solid rgba(255, 255, 255, 0.1);
     border-radius: 6px;
     margin: 0 6px;
     font-weight: 700;
     color: white;
 }




 .summary-card {
     background: rgba(0, 0, 0, 0.9);
     border-radius: 16px;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
     padding: 25px;
     border: 1px solid rgba(255, 215, 0, 0.1);
     backdrop-filter: blur(5px);
 }

 .summary-row {
     display: flex;
     justify-content: space-between;
     padding: 10px 0;
     border-bottom: 1px solid rgba(255, 255, 255, 0.1);
     font-size: 1.05rem;
 }

 .summary-row.total {
     font-weight: 700;
     font-size: 1.35rem;
     border-bottom: none;
     padding-top: 18px;
     margin-top: 10px;
     color: #fff;
     text-shadow: 0 0 8px rgba(255, 215, 0, 0.3);
 }

 .discount-badge {
     background: #ffd900af;
     color: #ffffff;
     border-radius: 20px;
     padding: 2px 10px;
     font-size: 0.85rem;
     font-weight: 600;
     margin-left: 8px;
 }

 .payment-methods {
     margin-top: 25px;
 }

 .payment-title {
     font-size: 1.2rem;
     font-weight: 600;
     margin-bottom: 15px;
     color: #fff;
 }

 .payment-options {
     display: flex;
     flex-wrap: wrap;
     gap: 15px;
 }

 .payment-option {
     flex: 1;
     min-width: 150px;
     background: rgba(0, 0, 0, 0.7);
     border: 1px solid rgba(255, 255, 255, 0.1);
     border-radius: 12px;
     padding: 15px;
     cursor: pointer;
     transition: all 0.3s;
     text-align: center;
 }

 .payment-option:hover {
     border-color: #ffd90096;
     transform: translateY(-3px);
 }

 .payment-option.active {
     border-color: #ffd90096;
     background: rgba(255, 215, 0, 0.05);
     box-shadow: 0 0 15px rgba(255, 215, 0, 0.1);
 }

 .payment-icon {
     font-size: 2rem;
     color: #ffd900af;
     margin-bottom: 10px;
 }

 .payment-option p {
     font-size: 0.9rem;
     margin-bottom: 0;
 }

 .payment-methods input[type="radio"]:checked+img {
     filter: brightness(1.2);
     transform: scale(1.05);
 }

 .payment-methods input[type="radio"]:checked~span {
     font-weight: bold;
 }

 .payment-methods input[type="radio"]:checked~* {
     color: #ffd900af;
 }

 .payment-methods input[type="radio"]:checked {
     color: #ffd900af;
 }

 @media (max-width: 768px) {
     .card-header {
         font-size: 1.1rem;
         padding: 15px 20px;
     }

     .cart-item {
         flex-direction: column;
         align-items: flex-start;
     }

     .item-image {
         margin-bottom: 15px;
     }

     .item-actions {
         width: 100%;
         margin-top: 15px;
         justify-content: space-between;
     }

     .coupon-form {
         flex-direction: column;
     }

     .payment-option {
         min-width: calc(50% - 15px);
     }

 }

 @media (max-width: 576px) {

     .summary-row,
     .summary-row.total {
         font-size: 0.95rem;
     }

     .summary-row.total {
         font-size: 1.15rem;
     }

     .card-body {
         padding: 20px;
     }
 }

 .cart-sidebar {
     display: none !important;
 }


 .select2-container--default .coupon-select.select2-selection--single {
     flex: 1;
     background: rgb(0, 0, 0);
     border: 1px solid rgba(255, 255, 255, 0.1);
     border-radius: 8px;
     padding: 15px 20px;
     color: rgba(255, 217, 0, 0.664);
     font-size: 1rem;
     cursor: pointer;
     height: auto;
 }


 .select2-container--default .coupon-select .select2-selection__rendered {
     color: rgba(255, 217, 0, 0.664);
     line-height: 1.2rem;
 }

 .select2-container--default .coupon-select.select2-selection--single:focus,
 .select2-container--default .coupon-select.select2-selection--single:active {
     border-color: rgba(255, 217, 0, 0.664);
     /* box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.5); */
     outline: none;
 }

 .select2-container--default .coupon-select-dropdown .select2-results__option {
     background-color: rgb(0, 0, 0);
     color: rgba(255, 217, 0, 0.664);
 }

 .select2-container--default .select2-search--dropdown .select2-search__field {
     color: white;
     background-color: rgb(0, 0, 0);
 }


 .select2-container--default .select2-results__option--highlighted {
     background-color: rgb(0, 0, 0);
     color: rgba(255, 217, 0, 0.664);
 }

 .text-booster {
     color: #F47FFF;
     display: flex;
     align-items: center;
 }

 .discount-booster-icon {
     width: 22px;
     height: 22px;
     vertical-align: middle;
 }


 /* --- BOX CONTAINERS --- */
 .elite-box {
     background-color: #05050536;
     border: 1px solid rgba(255, 255, 255, 0.1);
     border-radius: 12px;
     padding: 10px;
     height: 100%;
     position: relative;
 }

 /* Highlight gold border on hover slightly */
 .elite-box:hover {
     border-color: #FFC107;
 }

 .box-title {
     font-size: 1.1rem;
     font-weight: 700;
     color: #fff;
     margin-bottom: 5px;
     display: flex;
     align-items: center;
     gap: 10px;
     letter-spacing: 0.5px;
 }

 .box-title i {
     font-size: 1.0rem;
 }

 /* --- PARTNER CARD DISPLAY --- */
 .partner-active-box {
     display: flex;
     align-items: center;
     gap: 15px;
     animation: fadeIn 0.5s ease;
 }

 .partner-logo-container {
     width: 50px;
     height: 50px;
     /* border-radius: 8px; Slightly rounded square like logo */
     overflow: hidden;
     /* border: 1px solid #333; */
     flex-shrink: 0;
 }

 .partner-logo-container img {
     width: 100%;
     height: 100%;
     object-fit: cover;
 }

 .partner-details {
     flex-grow: 1;
 }

 .partner-name {
     font-weight: 700;
     font-size: 1.1rem;
     color: #fff;
     line-height: 1.2;
     text-transform: uppercase;
 }

 .partner-status-text {
     font-size: 0.8rem;
     color: #aaa;
     display: flex;
     align-items: center;
     gap: 5px;
 }

 .partner-status-text i {
     font-size: 0.7rem;
 }


 /* --- INPUTS --- */
 .form-control-dark {
     background-color: #050505;
     border: 1px solid #333;
     color: #fff;
     padding: 12px 15px;
     font-size: 0.95rem;
 }

 .form-control-dark:focus {
     background-color: #050505;
     color: #fff;
 }

 .form-control-dark:disabled {
     background-color: #050505;
     color: #fff;

 }

 .btn-check-icon {
     background-color: rgba(25, 135, 84, 0.1);
     border: 1px solid #329b12;
     color: #329b12;
     display: flex;
     align-items: center;
     justify-content: center;
     width: 50px;
     transition: 0.3s;
 }

 .btn-check-icon:hover {
     background-color: #329b12;
     color: #fff;
 }

 .btn-remove-icon {
     background-color: rgba(135, 25, 25, 0.1);
     border: 1px solid #8f1212;
     color: #8f1212;
     display: flex;
     align-items: center;
     justify-content: center;
     width: 50px;
     transition: 0.3s;
 }

 .btn-remove-icon:hover {
     background-color: #8f1212;
     color: #fff;
 }

 .mt-custom-grid {
     margin-top: 10px;
 }




 .btn-checkout {
     background-color: rgba(25, 135, 84, 0.1);
     border: 1px solid #329b12;
     color: #329b12;
     display: flex;
     align-items: center;
     justify-content: center;
     width: 100%;
     transition: 0.3s;
 }

 .btn-checkout:hover {
     background-color: #329b12;
     color: #fff;
     font-weight: 700;
 }

 .btn-payment {
     background-color: rgba(25, 135, 84, 0.1);
     border: 1px solid #329b12;
     color: #329b12;
     display: flex;
     align-items: center;
     justify-content: center;
     width: 100%;
     transition: 0.3s;
 }

 .btn-payment:hover {
     background-color: #329b12;
     color: #fff;
     font-weight: 700;
 }

 /* Quantity Control (Dark Theme) */
 .qty-control {
     display: flex;
     align-items: center;
     background: #0a0a0a;
     border: 1px solid #333;
     border-radius: 6px;
     padding: 2px;
 }

 .qty-btn {
     background: transparent;
     border: none;
     color: #666;
     width: 30px;
     height: 30px;
     display: flex;
     align-items: center;
     justify-content: center;
     transition: 0.2s;
 }

 .qty-btn:hover {
     color: #fff;
     background: #222;
     border-radius: 4px;
 }

 .qty-val {
     width: 30px;
     background: transparent;
     border: none;
     color: #fff;
     text-align: center;
     font-weight: 700;
     font-size: 0.9rem;
 }