table td {
    vertical-align: top !important;
}

.site-body {
    max-width: 1200px;
    margin-left: auto !important;
    margin-right: auto !important;
}

.order-table-container {
    position: relative;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    padding-bottom: 50px;
}

/* Hide scrollbars for Webkit (Chrome, Safari) */
.order-table-container {
    overflow: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.order-table-container::-webkit-scrollbar {
    display: none;
}

.order-table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 220px;
}

.order-table td {
    vertical-align: top;
    padding: 10px 5px 10px 5px;
}

.order-table thead td {
    font-weight: bold;
    border-bottom: 2px solid var(--primary);
    padding-bottom: 5px;
}

.order-item.header td {
/*    border-bottom: 1px solid var(--primary) !important;*/
}

.more-info-block td {
    border-bottom: 1px solid var(--secondary1);
}

.more-info-block:last-child td {
    border-bottom: none !important;
}

.order-table tr.header {
    padding-bottom: 0;
}

.order-table tr.order-item-more-info {
    padding-top: 0;
}

.quantity-button {
    display: inline-block;
    font-weight: bold;
    border-radius: 4px;
    cursor: pointer;
    background-color: var(--primary);
    color: white;
}

.quantity-button:hover {
    background-color: var(--highlight);
    color: var(--primary);
}

.quantity-button, .quantity-value {
    display: inline-block;
    width: 40px;
    padding: 5px;
    margin: 0;
    text-align: center;
    font-size: 1.1rem;
}

.order-item-more-info {
    background-color: var(--highlight);
    padding: 5px;
    border-radius: 4px;
}

.total-block {
}

.order-total-sticky {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: white;
    z-index: 1000;
}

.order-remove-item {
    position: fixed;
    top: 100px;
    left: 100px;
    background-color: var(--highlight);
    width: 200px;
    height: 100px;
    border-radius: 4px;
    z-index: 999999;
}

.shipping-cost-value, 
.total-cost-value, 
.subtotal-cost-value, 
.processingfee-cost-value, 
.discountreceived-cost-value {
    display: inline-block;
    /* width: 120px; */
}

.address-confirm-block {
    background-color: var(--primary);
    padding: 8px;
    border-radius: 6px;
    color: white !important;
}

#securepay-ui-container.initial .securepay-ui-iframe {
    /*background-color: var(--bg)!important;*/
    height: 250px !important;
}

.eft-table {
    width: 100% !important;
}

.eft-table td {
    padding: 5px 0 5px 0px !important;
}

.eft-copy {
    display: inline-block;
    border-bottom: 2px dotted #808080;
}

.too-many-item.highlight td {
    background-color: var(--highlight2);
}


.register-flow-container {
    display: none;
}

.table-info td {
    border-bottom: 1px solid #808080;
    padding: 5px;
}

.table-info td:first-child {
    font-weight: bold;
    width: 215px;
}

.table-info td:last-child {
    text-align: right;
}

.thc-table thead td {
    font-weight: bold;
}

.thc-table td {
    border-bottom: 1px solid #808080;
    padding: 2px;
    text-align: right;
}

.thc-table td:first-child {
    text-align: left !important;
}


/* NEW CSS */


/* Main Card Container */
.card-container {
    background: #fff;
    border: 1px solid #e0e0e0; /* Softer border color */
    border-radius: 10px; /* Slightly rounded corners */
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
    overflow: hidden;
    margin-bottom: 20px; /* Space between cards */
    padding: 15px;
    transition: transform 0.2s, box-shadow 0.2s; /* Add hover effect transitions */
}

/* Hover Effect for Card */
.card-container:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); /* Stronger shadow on hover */
    transform: translateY(-3px); /* Lift the card slightly */
}

/* Product Card (Wrapper for All Content) */
.product-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: nowrap;
}

/* Image Section */
.product-image img {
    width: 70px;
    height: 70px;
    border-radius: 8px;
    object-fit: cover;
    border: 1px solid #f0f0f0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Subtle shadow for the image */
}

/* Details Section */
.product-details {
    flex: 2;
    padding: 0 10px;
}

.product-name {
    font-size: 1.2rem;
    color: #333;
    margin-bottom: 5px;
    font-weight: bold;
}

.product-meta {
    font-size: 0.9rem;
    color: #666;
}

.product-meta .badge {
    font-size: 0.85rem;
    margin-right: 5px;
}

/* Price and Quantity Section */
.product-actions {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: nowrap;
}

.price-section {
    font-size: 1.4rem;
    font-weight: bold;
    color: #333;
    text-align: right;
}

.quantity-section {
    display: flex;
    align-items: center;
    gap: 10px;
}

.quantity-button {
/*    background-color: #007bff;*/
    color: white;
    border: none;
    border-radius: 5px;
    padding: 5px 10px;
    font-size: 1rem;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.quantity-button:hover {
    background-color: lightgrey;
}

.quantity-value {
    font-size: 1.1rem;
    font-weight: bold;
    min-width: 30px;
    text-align: center;
}

/* Footer Section */
.card-footer {
    text-align: left;
    padding-top: 10px;
    border-top: 1px solid #f0f0f0;
    margin-top: 10px;
}

.more-info-button {
    background-color: #000;
    color: #fff !important;
    border: none;
    padding: 8px 15px;
    border-radius: 6px;
    font-size: 0.9rem;
    cursor: pointer;
    display: inline-block;
    text-transform: uppercase;
    font-weight: bold;
    transition: background-color 0.2s ease;
}

/* Badge Styling */
.badge {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 5px;
    background-color: #f1f1f1;
    color: #333;
    font-size: 0.85rem;
    font-weight: 500;
}

/* Scroll Hint */
.scroll-hint {
    text-align: center;
    font-size: 1rem;
    color: #555;
    margin-top: 20px;
    animation: fadeInUp 2s infinite alternate;
}

/* Responsive Design */
@media (max-width: 768px) {
    .product-card {
        flex-direction: column;
        align-items: flex-start;
    }

    .quantity-section {
        justify-content: space-between;
        width: 100%;
    }

    .product-actions {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .price-section {
        text-align: left;
        width: 100%;
    }
}

/* Shared Card Wrapper Styling */
.order-entry-header {
    background-color: #fff; /* Card background */
    border: 1px solid #ddd; /* Shared border */
    border-radius: 10px 10px 0 0; /* Rounded top corners */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
    overflow: hidden;
    margin-bottom: 0; /* Remove bottom spacing */
    padding: 15px 20px; /* Padding inside card */
}

/* Second Row Styling */
.order-item.header {
    background-color: #fff; /* Same background as the first row */
    border-left: 1px solid #ddd; /* Match left border */
    border-right: 1px solid #ddd; /* Match right border */
    border-bottom: 1px solid #ddd; /* Shared bottom border */
    border-radius: 0 0 10px 10px; /* Rounded bottom corners */
    margin-top: -1px; /* Overlap with the first row to remove gaps */
    padding: 15px 20px; /* Padding inside card */
}

/* Card Content Adjustments */
.card-footer {
    border-top: 1px solid #f0f0f0; /* Separate footer visually */
    padding-top: 10px;
    margin-top: 10px;
    text-align: left;
}

/* Quantity Controls */
.quantity-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.quantity-button {
/*    background-color: #007bff;*/
    color: white;
    border: none;
    border-radius: 5px;
    padding: 5px 10px;
    cursor: pointer;
    font-size: 1rem;
    transition: background-color 0.2s ease;
}

.quantity-button:hover {
/*    background-color: #0056b3;*/
}

.quantity-value {
    font-size: 1.1rem;
    font-weight: bold;
    text-align: center;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .order-entry-header,
    .order-item.header {
        padding: 10px 15px;
    }

    .quantity-section {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Card Wrapper: Unify both rows */
/* Add margin and padding for the whole card */
.order-item-template {
    margin-bottom: 10px; /* Space between cards */
    border: 1px solid #ddd; /* Full border around the card */
    border-radius: 10px; /* Rounded corners for the entire card */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
    overflow: hidden; /* Prevent content overflow */
    background-color: #fff; /* Ensure white background for the card */
    /*display: table;*/ /* Keep table layout for compatibility */
    width: 100%; /* Full width */
    box-sizing: border-box; /* Include padding in width calculations */
}

/* Top row (header) styling */
.order-entry-header {
    background-color: #fff; /* Default background */
    padding: 15px; /* Add spacing */
    border: 1px solid #ddd; /* Card border */
    border-bottom: none; /* Remove border between rows */
    border-radius: 10px 10px 0 0; /* Top rounded corners */
    margin-top: 5px; /* Add 5px space between cards */
}

/* Bottom row (item) styling */
/* Add space after the bottom row of the card */
.order-item.header {
    background-color: #fff; /* Default background */
    padding: 15px; /* Add spacing inside the card */
    border: 1px solid #ddd; /* Card border */
    border-top: none; /* Remove border between rows */
    border-radius: 0 0 10px 10px; /* Bottom rounded corners */
    margin-bottom: 5px; /* Add 5px space after the second row */
}


/* Remove hover effects entirely */
.order-item-template:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Maintain the same shadow on hover */
    transform: none; /* No lift on hover */
    transition: none;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .order-entry-header,
    .order-item.header {
        padding: 10px; /* Reduce padding for smaller screens */
    }
}