.checkout-page {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 20px;
    height: 100vh; /* Ensure the container spans the full viewport height */
    /* padding: 40px; */
    font-family: Arial, sans-serif;
    overflow: hidden; /* Remove any scrolling functionality */

}

/* Right Side Wrapper */
/* Right Side: Fixed and Unscrollable */
.right-side {
    flex: 1;
    background-color: #F5ECE3;
    padding: 40px;
    height: 100vh; /* Full viewport height */
    overflow: hidden; /* Disable scrolling */
    display: flex;
    flex-direction: column;
    justify-content: flex-start; /* Align content to the top */
    box-shadow: -4px 0 10px rgba(0, 0, 0, 0.1); /* Optional shadow for separation */
}

/* Adjust cart-summary to sit properly within the right-side container */
.cart-summary {
    width: 100%;
    max-width: 500px; /* Set a max width for cart-summary */
    background-color: #F5ECE3; /* Optional: Add a white background to make it pop */
    padding: 20px;
    overflow-y: auto; /* Allow scrolling for content if it overflows */
}


.cart-item {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.product-image {
    position: relative;
    width: 80px;
    height: 80px;
    margin-right: 15px;
}

.product-image img {
    width: 100%;
    height: 100%;
    border-radius: 8px;
    object-fit: cover;
}

.product-quantity {
    position: absolute;
    top: -5px;
    right: -5px;
    background-color: #000;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-details {
    flex-grow: 1;
}

.product-name {
    font-size: 16px;
    font-weight: bold;
    margin: 0 0 5px;
}

.product-description {
    font-size: 14px;
    color: #666;
    margin: 0;
}

.product-price {
    font-size: 16px;
    font-weight: bold;
}

.discount-code {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.discount-code input {
    flex-grow: 1;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-right: 10px;
}

.discount-code button {
    padding: 8px 15px;
    background-color: #ddd;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.discount-code button:hover {
    background-color: #bbb;
}

.price-summary {
    font-size: 14px;
}

.price-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.price-row span {
    color: #333;
}

.price-row .label {
    font-weight: 600; /* Bold label for distinction */
    color: black;
}

.price-row .value {
    font-weight: 600; /* Bold value */
    color: #000;
}

/* Shipping Styling */


.price-row:nth-child(2) .value {
    color: black; /* Optional: green color for 'FREE' to emphasize no cost */
    font-weight: bold;
}

.price-row.total {
    font-size: 16px;
    font-weight: bold;
}

.tax-note {
    font-size: 12px;
    color: #666;
    margin-top: 10px;
}



.express-checkout {
    padding: 20px;
    text-align: left;
    background-color: #fff;
    justify-content: left;
}

.logo-container {
    display: flex;
    flex-direction: column;
    align-items: left;
    margin-bottom: 20px;
}

.logo {
    height: auto;
    width: 200px;
    margin-bottom: 10px;
}

.breadcrumb {
    font-size: 14px;
    color: #555;
}

.breadcrumb a {
    color: #333;
    text-decoration: none;
}

.breadcrumb .current {
    font-weight: bold;
    color: #000;
}

.checkout-container {
    margin-top: 20px;
}

.checkout-container h3 {
    font-size: 16px;
    margin-bottom: 15px;
    color: #333;
    text-align: center;
}

.payment-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 10px;
}

.payment-buttons button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    text-transform: capitalize;
}

.shop-pay {
    background-color: #cfcfcf;
    color: #fff;
}

.shop-pay img {
    height: 50px;
    margin-right: 10px;
}

.gpay {
    background-color: #cfcfcf;
    color: #fff;
}

.gpay img {
    height: 50px;
    margin-right: 10px;
}

.divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 10px;
}

.divider span {
    font-size: 14px;
    color: #999;
}

.divider::before,
.divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background-color: #ddd;
}













.left-side {
    flex: 2;
    padding: 20px;
    background-color: #fff;
    height: 100vh; /* Full viewport height */
    overflow-y: scroll; /* Enable vertical scrolling */
    scrollbar-width: none; /* Hide scrollbar for Firefox */
    -ms-overflow-style: none; /* Hide scrollbar for Internet Explorer */
}

.left-side::-webkit-scrollbar {
    display: none; /* Hide scrollbar for Chrome, Edge, and Safari */
}

.left-side h2 {
    font-size: 18px;
    margin-bottom: 15px;
    color: #333;
    font-weight: 700;
    margin-left: 20px;
}

.form-group {
    margin-bottom: 20px;
    margin-left: 20px;
}

label {
    display: block;
    font-size: 14px;
    margin-bottom: 5px;
    color: #555;
    font-weight: 500;
}

.error-message {
    color: red;
    font-size: 12px;
    margin-top: 5px;
    display: none; /* Initially hidden */
}

input.error, select.error {
    border-color: red; /* Red border for invalid input */
}


input, select {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
}

input::placeholder {
    color: #999;
}

.form-row {
    display: flex;
    gap: 20px;
}

.half-width {
    flex: 1;
}

.checkbox-group {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    margin-left: -855px;
}

.continue-button {
    width: 98%;
    padding: 12px;
    background-color: #7A6240;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    margin-left: 20px;
}

.continue-button:hover {
    background-color: #5e4a2e;
}

.back-link {
    display: block;
    margin-top: 15px;
    text-align: center;
    color: #7A6240;
    text-decoration: none;
    font-size: 14px;
}

.back-link:hover {
    text-decoration: underline;
}



/* Shipping Method Styling */
.shipping-method {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px;
    margin-bottom: 10px;
    border: 1px solid #ddd;
    border-radius: 6px;
    cursor: pointer;
    background-color: white;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.shipping-method:hover {
    background-color: #f3f3f3;
}

.shipping-method.selected {
    background-color: white; /* Light green background for selected */
    border-color: #D87058; /* Green border */
}



.shipping-price {
    font-size: 14px;
    font-weight: bold;
    color: black; /* Green color for FREE */
}

.shipping-price.charge {
    color: #f44336; /* Red color for additional charges */
}

.shipping-info {
    margin-top: 10px;
    font-size: 14px;
    color: #555;
    font-weight: bold;
}

.radio-label {
    display: flex;
    align-items: center;
    gap: 100px; /* Adjust the space between the radio button and text */
}

.radio-text {
    
    font-size: 16px;
    color: #333;
}

.shipping-price {
    font-weight: bold;
    color: black; /* Green for emphasis */
}

/* Assembly Option Styling */
.assembly-option {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px;
    margin-bottom: 10px;
    border: 1px solid #ddd;
    border-radius: 6px;
    cursor: pointer;
    background-color: white;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.assembly-option:hover {
    background-color: #f3f3f3;
}

.assembly-option.selected {
    background-color: white; /* Light green background for selected */
    border-color: #D87058 !important; /* Green border */
}

.assembly-price {
    font-size: 14px;
    font-weight: bold;
    color: black; /* Green color for FREE */
}

.assembly-price.charge {
    color: #f44336; /* Red color for additional charges */
}

.assembly-info {
    margin-top: 10px;
    font-size: 14px;
    color: #555;
    font-weight: bold;
}



/* Payment Section Styling */
.payment-method {
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 15px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.payment-method:hover {
    border-color: #D87058;
}

.credit-card-option.selected {
    border-color: #D87058;
}

.payment-icons {
    display: flex;
    gap: 10px; /* Adds space between icons */
}

.payment-icons img {
    height: 20px;
}


/* Credit Card Form */
.credit-card-form .form-group {
    margin-bottom: 15px;
    margin-left: 1px;
}

.credit-card-form input {
    width: 100%;
    
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
}

.credit-card-form input::placeholder {
    color: #999;
}

.payment-form {
    display: none; /* Hide by default */
    margin-top: 20px;
    border-radius: 6px;
    padding: 15px;
}

.payment-form.active {
    display: block; /* Show when active */
}



.footer-links {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 30px; /* Adjust margin as needed */
    padding-top: 10px;
    border-top: 1px solid #ddd;
}

.footer-links a {
    margin: 0 15px; /* Add spacing between links */
    font-size: 14px;
    color: #555;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-links a:hover {
    color: #000; /* Darker color for hover effect */
}




/* Mobile responsive view */
@media (max-width: 768px) {
    /* Checkout page layout */
    .checkout-page {
        flex-direction: column; /* Stack items vertically */
        align-items: stretch; /* Ensure all elements take full width */
        height: auto; /* Allow height to adjust dynamically */
        overflow-y: auto; /* Ensure scrolling is enabled */
    }

    /* Cart summary positioned between logo and breadcrumb */
    .cart-summary {
        order: 1; /* Move cart-summary to the correct position */
        width: 100%; /* Ensure it takes full width */
        max-width: none; /* Remove desktop-specific constraints */
        margin: 0 auto 20px; /* Center-align with proper spacing */
        padding: 15px; /* Adjust padding for smaller screens */
        background-color: #F5ECE3; /* Maintain appearance */
    }

    /* Logo container always at the top */
    .logo-container {
        order: 0; /* Ensure logo remains at the top */
        width: 100%; /* Stretch full width */
        margin: 0 0 10px; /* Proper spacing below the logo */
    }

    /* Breadcrumb below the cart summary */
    .breadcrumb {
        order: 2; /* Place breadcrumb after cart summary */
        width: 100%; /* Ensure it spans full width */
        margin: 10px 0; /* Add spacing around the breadcrumb */
        text-align: left; /* Align text to the left */
    }

    /* Left-side content for mobile */
    .left-side {
        order: 3; /* Place it after the breadcrumb */
        width: 100%; /* Full width for mobile */
        height: auto; /* Dynamic height */
        overflow-y: auto; /* Enable scrolling */
        padding: 20px; /* Add padding for spacing */
        box-shadow: none; /* Simplify shadow for better appearance */
    }

    /* Right-side (cart-summary) hidden or repositioned for mobile */
    .right-side {
        display: none; /* Hide the right-side section on mobile */
    }

    /* General adjustments for mobile */
    .checkout-page * {
        box-sizing: border-box; /* Prevent overflowing due to padding/margin */
    }

    /* Adjust any remaining flex behavior */
    .checkout-page > div {
        width: 100%; /* Ensure all child divs take full width */
        margin: 0; /* Reset margins */
        padding: 0; /* Reset padding */
    }
}


/* Search Modal Styling */
.search-modal {
    display: none; /* Hidden by default */
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5); /* Black background with opacity */
}

.search-modal-content {
    background-color: #fff;
    margin: 15% auto;
    padding: 20px;
    border-radius: 10px;
    width: 50%;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.3);
    text-align: center;
}

.search-modal-content h2 {
    font-size: 24px;
    margin-bottom: 20px;
}

.search-modal-content input {
    width: 80%;
    padding: 10px;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 16px;
}

.search-modal-content button {
    padding: 10px 20px;
    background-color: #c4422a;
    color: #fff;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
}

.search-modal-content button:hover {
    background-color: #a83224;
}

.close-btn {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.close-btn:hover {
    color: black;
}

/* Error message styling */
.error-message {
    color: #d9534f; /* Red color for error text */
    margin-top: 10px;
    font-size: 14px;
    display: none; /* Initially hidden */
}
