﻿ .title-header {
     background: #fff;
     padding: 20px 0;
     border-bottom: 1px solid #eee;
     margin-bottom: 20px;
}
 .title-header .title {
     font-size: 24px;
     font-weight: 700;
     color: #333;
     margin: 0;
}
 .title-header .count {
     color: #777;
     margin-left: 2px;
     font-weight: 400;
}
 .selection-card {
     background: #fff;
     border: 1px solid #eee;
     border-radius: 8px;
     padding: 15px 20px;
     margin-bottom: 15px;
     display: flex;
     align-items: center;
     justify-content: space-between;
     cursor: pointer;
     transition: box-shadow 0.2s, border-color 0.2s;
}
 .selection-card:hover {
     box-shadow: 0 2px 8px rgba(0,0,0,0.05);
     border-color: #ccc;
}
 .card-content {
     display: flex;
     align-items: center;
     flex-grow: 1;
     margin-right: 0px;
}
.card-content .card-icon {
     font-size: 24px;
     color: #000;
     margin-right: 15px;
     flex-shrink: 0;
     width: 30px;
     text-align: center;
}
 .card-content .card-title {
     font-size: 14px;
     font-weight: 700;
     color: #333;
     display: block;
     margin-bottom: 2px;
}
.card-content  .card-detail {
     font-size: 12px;
     color: #777;
     display: block;
     max-width: 400px;
     white-space: normal;
     overflow: hidden;
     text-overflow: ellipsis;
}
.btn-change {
     font-size: 18px;
     color: #555;
     background: none;
     border: none;
     padding: 5px;
     cursor: pointer;
     flex-shrink: 0;
     transition: color 0.2s;
}
 .btn-change:hover {
     color: #000;
}
 .basket-item {
     background: #fff;
     border: 1px solid #eee;
     border-radius: 8px;
     padding: 20px;
     margin-bottom: 15px;
     display: flex;
     flex-wrap: wrap;
     position: relative;
     transition: box-shadow 0.2s;
}
 .basket-item:hover {
     box-shadow: 0 5px 15px rgba(0,0,0,0.03);
}

.item-img {
     width: 100px;
     height: 100px;
     object-fit: contain;
     border: 1px solid #f0f0f0;
     border-radius: 4px;
     margin-right: 20px;
}
 .item-details {
     flex: 1;
     min-width: 200px;
     width: 100%;
}
 .item-title {
     font-size: 14px;
     font-weight: 600;
     color: #333;
     margin-bottom: 5px;
     line-height: 1.4;
     padding-right: 35px;
     display: block;
}
 .item-variant {
     font-size: 12px;
     color: #777;
     margin-bottom: 10px;
     display: block;
}
 .item-actions {
     display: flex;
     align-items: center;
     justify-content: space-between;
     margin-top: 5px;
     border-top: 1px solid #f9f9f9;
     padding-top: 5px;
     width: 100%;
}
 .qty-control {
     display: flex;
     align-items: center;
     border: 1px solid #e0e0e0;
     border-radius: 20px;
     padding: 2px 10px;
     background: #fff;
}
 .qty-btn {
     background: none;
     border: none;
     font-size: 18px;
     color: #555;
     cursor: pointer;
     width: 24px;
     height: 24px;
     display: flex;
     align-items: center;
     justify-content: center;
     padding: 0;
}
 .qty-input {
     width: 30px;
     text-align: center;
     border: none;
     font-size: 14px;
     font-weight: 600;
     color: #333;
     outline: none;
}
 .item-price {
     font-size: 18px;
     font-weight: 800;
     color: #000;
}
 .item-price-old {
     font-size: 12px;
     color: #999;
     text-decoration: line-through;
     margin-right: 5px;
}
 .btn-remove {
     color: #999;
     font-size: 20px;
     cursor: pointer;
     position: absolute;
     top: 20px;
     right: 28px;
     transition: color 0.2s;
}
 .btn-remove:hover {
     color: #d32f2f;
}
 .item-note-trigger {
     font-size: 13px;
     color: #000;
     cursor: pointer;
     font-weight: 600;
     display: inline-block;
}
 .item-note-trigger:hover {
     text-decoration: underline;
}
 .item-note-trigger i {
     margin-right: 5px;
}
 .item-note-display-wrapper {
     display: flex;
     align-items: flex-start;
     margin-bottom: 10px;
     cursor: pointer;
     word-break: break-word;
}
 .item-note-display {
     font-size: 13px;
     color: #555;
     font-style: italic;
     background: #f5f7fb;
     padding: 8px;
     border-left: 3px solid #000000;
     flex-grow: 1;
     margin-bottom: 0;
     transition: background 0.2s;
}
 .item-note-display:hover {
     background: #f0f0f0;
}
 .edit-note-btn {
     background: transparent;
     border: none;
     color: #999;
     font-size: 18px;
     cursor: pointer;
     margin-left: 15px;
     padding: 5px;
     transition: color 0.2s;
}
 .edit-note-btn:hover {
     color: #000;
}
 .item-note-hidden-container {
     display: none;
}
/* --- Basket Summary Sidebar --- */
 .basket-summary {
     background: #fff;
     border: 1px solid #eee;
     border-radius: 8px;
     padding: 20px;
     position: sticky;
     top: 20px;
}
 .summary-title {
     font-size: 16px;
     font-weight: 700;
     color: #333;
     margin-bottom: 20px;
}
/* Coupon Code Section */
 .coupon-section {
     margin-bottom: 20px;
     padding-bottom: 20px;
     border-bottom: 1px solid #eee;
}
 .coupon-title {
     font-size: 13px;
     font-weight: 600;
     color: #333;
     margin-bottom: 8px;
     display: block;
}
 .coupon-input-group {
     display: flex;
}
.coupon-input-group .btn {
    border-top-left-radius: 0px;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 0px;
    max-width: 90px;
}
 .coupon-input {
     flex: 1;
     border: 1px solid #ddd;
     border-right: none;
     border-top-left-radius: 4px;
     border-bottom-left-radius: 4px;
     padding: 8px 12px;
     font-size: 13px;
     outline: none;
}
 .coupon-input:focus {
     border-color: #000;
}
 .btn-apply-coupon {
     background: #000;
     color: #fff;
     border: 1px solid #000;
     border-top-right-radius: 4px;
     border-bottom-right-radius: 4px;
     padding: 0 15px;
     font-size: 13px;
     font-weight: 600;
     cursor: pointer;
     transition: all 0.2s;
}
 .btn-apply-coupon:hover {
     background: #333;
     border-color: #333;
}
 .summary-row {
     display: flex;
     justify-content: space-between;
     margin-bottom: 12px;
     font-size: 14px;
     color: #555;
}
 .summary-row.total {
     border-top: 1px solid #eee;
     padding-top: 15px;
     margin-top: 15px;
     font-weight: 700;
     font-size: 18px;
     color: #000;
}
 .summary-row.discount {
     color: #27ae60;
}
/* Contract Checkbox Style */
 .contract-checkbox {
     margin-top: 10px;
     display: flex;
     align-items: center;
     font-size: 12px;
     color: #555;
     line-height: 1.4;
     align-content: center;
}
 .contract-checkbox input {
     margin-right: 8px;
     accent-color: #000;
     width: 16px;
     height: 16px;
     cursor: pointer;
     transform: scale(1.5);
}
 .contract-checkbox a {
     text-decoration: underline !important;
     color: #333;
     font-weight: 600;
}
 .contract-error {
     display: none;
     color: #d32f2f;
     font-size: 12px;
     margin-top: 5px;
     font-weight: 600;
}
 .btn-checkout, .btn-checkout:hover {
     display: block;
     background: #000;
     color: #fff;
     width: 100%;
     padding: 15px;
     border-radius: 6px;
     font-weight: 700;
     font-size: 15px;
     text-transform: uppercase;
     border: none;
     margin-top: 15px;
     transition: all 0.2s;
     text-align: center;
}
 .btn-checkout:hover {
     background: #333;
     box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}
/* Modal List Item Style (Address & Payment) */
 .list-selection-item {
     border: 1px solid #eee;
     border-radius: 8px;
     padding: 15px;
     margin-bottom: 10px;
     cursor: pointer;
     transition: all 0.2s;
}
 .list-selection-item:hover {
     border-color: #ccc;
     background-color: #f9f9f9;
}
 .list-selection-item.selected {
     border-color: #000;
     background-color: #fff;
     box-shadow: 0 0 0 1px #000 inset;
}
 .selection-radio {
     margin-right: 10px;
     accent-color: #000;
}
 @media (max-width: 768px) {
     .basket-summary {
         display: block;
         position: static;
         margin-top: 5px;
    }
     .item-img {
         width: 50px;
         height: 50px;
         margin-right: 5px;
         border-radius: 6px;
    }
     .basket-item {
         padding: 15px;
         margin-bottom: 2px;
         border: none;
         border-bottom: 1px solid #f0f0f0;
         border-radius: 0;
    }
     .basket-item:last-child {
         border-bottom: none;
    }
     .basket-header {
         padding: 15px 0;
    }
     .basket-title {
         font-size: 20px;
    }
     .card-detail {
         max-width: 200px;
    }
     .item-title {
        font-size: 12px;
    }
     .item-variant {
         font-size: 11px;
    }
     .item-actions {
         width: 100%;
         margin-top: 5px;
         padding-top: 0px;
    }
}
.qty-btn:focus {
     outline: 0;
}
 