/* Cart checkout specific styles */
.cart-checkout-container {
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 20px;
    margin: 20px 0;
}

.cart-item-row {
    display: flex;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px solid #eee;
}

.cart-item-row:last-child {
    border-bottom: none;
}

.cart-item-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 4px;
    margin-right: 15px;
}

.cart-item-details {
    flex: 1;
}

.cart-item-title {
    font-weight: bold;
    margin-bottom: 5px;
    color: #333;
}

.cart-item-size {
    color: #666;
    font-size: 0.9em;
    margin-bottom: 3px;
}

.cart-item-category {
    color: #888;
    font-size: 0.8em;
    text-transform: capitalize;
}

.cart-item-price {
    font-weight: bold;
    color: #007cba;
    font-size: 1.1em;
}

.cart-total-section {
    background: #fff;
    padding: 15px;
    border-radius: 6px;
    margin-top: 15px;
    text-align: right;
}

.cart-total-amount {
    font-size: 1.3em;
    font-weight: bold;
    color: #007cba;
}

.empty-cart-message {
    text-align: center;
    padding: 40px 20px;
    color: #666;
}

.empty-cart-message h3 {
    margin-bottom: 10px;
}

.back-to-gallery-btn {
    background: #007cba;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    text-decoration: none;
    display: inline-block;
    margin-top: 15px;
}

.back-to-gallery-btn:hover {
    background: #005a87;
}

.cart-items-hidden-input {
    display: none;
}

.cart-item-remove {
    background: #dc3545;
    color: white;
    border: none;
    border-radius: 3px;
    padding: 5px 8px;
    font-size: 0.8em;
    cursor: pointer;
    margin-left: 10px;
}

.cart-item-remove:hover {
    background: #c82333;
}

.shipping-section {
    background: #f0f8ff;
    padding: 10px;
    border-radius: 6px;
    margin-top: 10px;
    border-left: 4px solid #007cba;
}

.update-cart-btn {
    background: #28a745;
    color: white;
    border: none;
    border-radius: 5px;
    padding: 10px 20px;
    cursor: pointer;
    margin: 15px 0;
    font-size: 1em;
}

.update-cart-btn:hover {
    background: #218838;
}

.update-cart-btn:disabled {
    background: #6c757d;
    cursor: not-allowed;
}

.shipping-info {
    font-size: 0.9em;
    color: #666;
    margin-top: 5px;
}

.cart-item-note {
    color: #888;
    font-size: 0.8em;
    font-style: italic;
    margin-top: 3px;
}

/* Quantity control styles */
.cart-item-quantity {
    display: flex;
    align-items: center;
    margin-right: 15px;
}

.quantity-btn {
    background: #f0f0f0;
    border: 1px solid #ddd;
    width: 28px;
    height: 28px;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.quantity-btn:hover {
    background: #e0e0e0;
}

.quantity-decrease {
    border-radius: 4px 0 0 4px;
}

.quantity-increase {
    border-radius: 0 4px 4px 0;
}

.quantity-input {
    width: 40px;
    height: 28px;
    text-align: center;
    border: 1px solid #ddd;
    border-left: none;
    border-right: none;
    padding: 0;
}

.quantity-input::-webkit-inner-spin-button,
.quantity-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Enhanced form validation styles */
input:required {
    border-left: 3px solid #ddd;
}

input:required:valid {
    border-left-color: #28a745;
}

input:required:invalid {
    border-left-color: #dc3545;
}

input:focus {
    outline: 2px solid #007cba;
    outline-offset: 2px;
}

/* Autofill styling */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 30px white inset !important;
    -webkit-text-fill-color: #333 !important;
}

/* Label styling for form fields */
.name-field label,
.contact-field label,
.address-field label {
    display: block;
    font-weight: bold;
    margin-bottom: 5px;
    color: #333;
    font-size: 0.9em;
}

.required-asterisk {
    color: #CC0000;
    font-weight: bold;
}