/*
 * WooCommerce Custom Styles for Elisabeth Theme
 */

/* General WooCommerce Layout */
.woocommerce ul.products {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0 -15px;
}

.woocommerce ul.products[class*=columns-] li.product,
.woocommerce-page ul.products[class*=columns-] li.product {
    padding: 0 15px;
    margin-bottom: 30px;
    box-sizing: border-box;
    width: 50%; /* 2 columns */
}

.woocommerce .col2-set .col-1,
.woocommerce-page .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-2 {
    max-width: 100%;
}

/* Shop Page - Product Grid */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 18px;
}

.woocommerce ul.products li.product .price {
    font-size: 16px;
    color: var(--theme-color);
}

/* Single Product Page */
.woocommerce div.product div.summary {
    width: 48%;
    float: right;
}

.woocommerce div.product div.images {
    width: 48%;
    float: left;
}

/* Cart Page */
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
    float: right;
    width: 48%;
}

/* Checkout Page */
.woocommerce form.checkout {
    text-align: left;
}

.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
    float: right;
}
.woocommerce-pagination li {
    display:  inline-block;
}


/* Single Product Page Add to Cart Icon */
.single-product .product .single_add_to_cart_button {
    font-size: 0; /* Hide the text */
    line-height: 0;
    padding: 15px;
}

.single-product .product .single_add_to_cart_button::before {
    content: "\e90a"; /* icon-shopping-bag */
    font-family: 'icomoon' !important;
    font-size: 20px; /* Adjust icon size as needed */
    line-height: 1;
    display: inline-block;
    vertical-align: middle;
}


/* Fix for checkbox width */
.woocommerce-shipping-methods .shipping_method,
.woocommerce-form__input.woocommerce-form__input-checkbox.input-checkbox {
    width: auto !important;
    margin-right: 8px;
}


/* Mini Cart Styles */
.widget_shopping_cart .widget_shopping_cart_content {
    padding: 0;
}

.woocommerce-mini-cart {
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce-mini-cart-item {
    padding: 15px 0;
    border-bottom: 1px solid #eee;
    display: flex;
    align-items: center;
}

.woocommerce-mini-cart-item:last-child {
    border-bottom: none;
}

.woocommerce-mini-cart-item a {
    text-decoration: none;
}

.woocommerce-mini-cart-item a:not([role=button]) {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
}

.woocommerce-mini-cart-item img {
    width: 60px;
    height: auto;
    flex-shrink: 0;
}

.woocommerce-mini-cart-item .remove {
    margin-right: 8px;
    color: #a00;
    font-weight: bold;
    border: 1px solid #a00;
    padding: 4px;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
}

.woocommerce-mini-cart__total {
    border-top: 1px solid #eee;
    padding: 15px 0;
    margin: 0;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
}

.woocommerce-mini-cart__buttons {
    padding: 15px 0 0;
    margin: 0;
}

.woocommerce-mini-cart__buttons .button {
    display: block;
    width: 100%;
    text-align: center;
    margin-bottom: 10px;
    box-sizing: border-box;
}

.woocommerce-mini-cart__buttons .button.checkout {
    background-color: var(--theme-color);
    color: var(--white-color);
}

.shop_table.woocommerce-checkout-review-order-table {
    width: 100%;
}

/* Order Received / Thank You Page Styles */
.woocommerce-order {
    max-width: 800px;
    margin: 0 auto;
    padding: 40px 20px;
    text-align: center;
}

.order-success-section,
.order-failed-section {
    background: #fff;
    border-radius: 10px;
    padding: 60px 40px 40px;
    margin-bottom: 40px;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.1);
    position: relative;
}

.order-status-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 30px;
    font-size: 40px;
}

.order-status-icon.success {
    background: linear-gradient(135deg, #4CAF50, #45a049);
    color: white;
    box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);
}

.order-status-icon.failed {
    background: linear-gradient(135deg, #f44336, #d32f2f);
    color: white;
    box-shadow: 0 4px 15px rgba(244, 67, 54, 0.3);
}

.order-status-title {
    font-size: 32px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #333;
    font-family: 'Playfair Display', serif;
}

.woocommerce-thankyou-order-received {
    font-size: 18px;
    color: #212529;
    margin-bottom: 40px;
    line-height: 1.6;
}

.order-details-summary {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 30px;
    margin: 30px 0;
    text-align: left;
}

.order-detail-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #e9ecef;
}

.order-detail-item:last-child {
    border-bottom: none;
}

.detail-label {
    font-weight: 600;
    color: #212529;
    font-size: 16px;
}

.detail-value {
    color: #212529;
    font-size: 16px;
}

.detail-value.total-amount {
    font-weight: 700;
    font-size: 20px;
    color: var(--theme-color, #c9a96e);
}

.order-actions {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 40px;
}

.order-actions .button {
    padding: 15px 30px;
    border-radius: 50px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 2px solid;
    min-width: 180px;
    text-align: center;
    font-size: 16px;
}

.order-actions .continue-shopping {
    background: var(--theme-color, #c9a96e);
    color: white;
    border-color: var(--theme-color, #c9a96e);
}

.order-actions .continue-shopping:hover {
    background: transparent;
    color: var(--theme-color, #c9a96e);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(201, 169, 110, 0.3);
}

.order-actions .view-orders {
    background: transparent;
    color: #495057;
    border-color: #495057;
}

.order-actions .view-orders:hover {
    background: #495057;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(73, 80, 87, 0.3);
}

/* Failed Order Specific Styles */
.woocommerce-thankyou-order-failed {
    background: #fff5f5;
    border: 1px solid #fed7d7;
    border-radius: 8px;
    padding: 20px;
    margin: 20px 0;
    color: #c53030;
}

.woocommerce-thankyou-order-failed-actions {
    background: transparent;
    border: none;
    padding: 0;
    margin-top: 20px;
}

.woocommerce-thankyou-order-failed-actions .button {
    margin-right: 15px;
    padding: 12px 25px;
    border-radius: 5px;
}

.woocommerce-thankyou-order-failed-actions .button.pay {
    background: #e53e3e;
    color: white;
    border: 2px solid #e53e3e;
}

.woocommerce-thankyou-order-failed-actions .button.pay:hover {
    background: transparent;
    color: #e53e3e;
}

/* Responsive Design */
@media (max-width: 768px) {
    .woocommerce-order {
        padding: 20px 15px;
    }

    .order-success-section,
    .order-failed-section {
        padding: 40px 20px 30px;
    }

    .order-status-title {
        font-size: 24px;
    }

    .order-details-summary {
        padding: 20px;
    }

    .order-actions {
        flex-direction: column;
        align-items: center;
    }

    .order-actions .button {
        width: 100%;
        max-width: 300px;
    }

    .detail-label,
    .detail-value {
        font-size: 14px;
    }

    .detail-value.total-amount {
        font-size: 18px;
    }
}

/* Thank You Page - Order Details & Customer Info */
.woocommerce-order-details,
.woocommerce-customer-details {
    margin-top: 40px;
    text-align: left;
}

.woocommerce-order-details .woocommerce-order-details__title,
.woocommerce-customer-details .woocommerce-customer-details__title {
    font-family: 'Playfair Display', serif;
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #333;
    border-bottom: 2px solid #e9ecef;
    padding-bottom: 10px;
}

.woocommerce-order-details table.shop_table {
    width: 100%;
    border: 1px solid #e9ecef;
    border-collapse: collapse;
    margin-bottom: 2em;
}

.woocommerce-order-details table.shop_table thead th {
    padding: 15px 20px;
    font-weight: 600;
    color: #212529;
    border-bottom: 2px solid #e9ecef;
    background-color: transparent;
}

.woocommerce-order-details table.shop_table tbody td {
    padding: 15px 20px;
    border-bottom: 1px solid #e9ecef;
    vertical-align: middle;
    background-color: transparent;
}

.woocommerce-order-details table.shop_table tbody tr:last-child td {
    border-bottom: none;
}

.woocommerce-order-details table.shop_table tfoot th,
.woocommerce-order-details table.shop_table tfoot td {
    padding: 15px 20px;
    border-top: 2px solid #e9ecef;
    font-weight: 600;
}

.woocommerce-order-details table.shop_table tfoot tr:last-child th,
.woocommerce-order-details table.shop_table tfoot tr:last-child td {
    font-size: 18px;
    color: var(--theme-color, #c9a96e);
}

.woocommerce-customer-details address {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
    border: 1px solid #e9ecef;
    line-height: 1.7;
    color: #212529;
}

.woocommerce-bacs-bank-details,
.wc-bacs-bank-details,
.woocommerce-order-received .woocommerce-thankyou-order-details + p {
    background: #f8f9fa;
    border-left: 4px solid var(--theme-color, #c9a96e);
    padding: 20px;
    margin: 20px 0 40px;
    text-align: left;
    border-radius: 0 8px 8px 0;
}

.woocommerce .order_again {
    margin-top: 20px;
}

.woocommerce .order_again .button {
    padding: 12px 25px;
    border-radius: 50px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    background: #495057;
    color: white;
    border: 2px solid #495057;
}

.woocommerce .order_again .button:hover {
    background: transparent;
    color: #495057;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(73, 80, 87, 0.2);
}


/* Order Details Card Styling - Aligned with Success Section */
.order-details-card {
    background: #fff;
    border-radius: 10px;
    padding: 60px 40px 40px;
    margin-top: 40px;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.1);
    text-align: center; /* Match parent container */
}

/* Unify titles with .order-status-title */
.order-details-card .woocommerce-order-details__title,
.order-details-card .woocommerce-customer-details__title {
    font-size: 32px;
    font-weight: 600;
    margin-bottom: 30px;
    color: #333;
    font-family: 'Playfair Display', serif;
    border-bottom: none; /* Remove the underline */
    padding-bottom: 0;
}

.order-details-card .woocommerce-order-details,
.order-details-card .woocommerce-customer-details {
    margin-top: 0;
    text-align: left; /* Re-align content to the left */
}

.order-details-card .woocommerce-order-details {
    margin-bottom: 40px;
}

/* Style the new summary-style containers */
.order-details-summary-style,
.order-details-card address {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 30px;
    margin-top: 20px;
    text-align: left;
}

.order-details-summary-style .order-detail-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #e9ecef;
}

.order-details-summary-style .order-detail-item:last-child {
    border-bottom: none;
}

.order-details-summary-style .order-totals {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 2px solid #e9ecef;
}

.order-details-summary-style .order-totals .order-detail-item:last-child .detail-value {
    font-size: 20px;
    font-weight: 700;
    color: var(--theme-color, #c9a96e);
}

/* Customer Details - Phone and Email */
.woocommerce-customer-details--phone,
.woocommerce-customer-details--email {
    margin: 0.5em 0 0 0;
    padding-left: 28px;
    position: relative;
    line-height: 1.5;
}

.woocommerce-customer-details--phone::before,
.woocommerce-customer-details--email::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900; /* Solid style */
    position: absolute;
    left: 0;
    top: 4px;
    font-size: 16px;
    color: var(--theme-color, #c9a96e);
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
}

.woocommerce-customer-details--phone::before {
    content: "\f095"; /* fa-phone */
}

.woocommerce-customer-details--email::before {
    content: "\f0e0"; /* fa-envelope */
}


/* Apply Accent Color to Key Order Details */
.order-details-card .woocommerce-customer-details__title,
.order-details-summary-style .detail-label a,
.woocommerce-customer-details--phone,
.woocommerce-customer-details--email {
    color: var(--theme-color, #c9a96e);
}

/* Style for product links */
.order-details-summary-style .detail-label a {
    text-decoration: none;
    font-weight: 600;
}

.order-details-summary-style .detail-label a:hover {
    text-decoration: underline;
}

/* Style for product line item prices */
.order-details-summary-style > .order-detail-item .detail-value {
    color: var(--theme-color, #c9a96e);
    font-weight: 600;
}


/* WooCommerce My Account Page */
.woocommerce-account .woocommerce {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

/* My Account Navigation */
.woocommerce-account .woocommerce-MyAccount-navigation {
    flex: 0 0 250px; /* Fixed width for the navigation */
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.1);
    padding: 20px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin-bottom: 5px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 15px 20px;
    text-decoration: none;
    color: #343a40;
    font-weight: 600;
    border-radius: 8px;
    transition: all 0.3s ease;
    position: relative;
    padding-left: 45px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 16px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active > a {
    background: var(--theme-color, #c9a96e);
    color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:not(.is-active) > a:hover {
    background: #f8f9fa;
    color: var(--theme-color, #c9a96e);
}

/* Add icons to navigation items */
.woocommerce-MyAccount-navigation-link--dashboard a::before { content: "\f0e4"; /* fa-dashboard */ }
.woocommerce-MyAccount-navigation-link--orders a::before { content: "\f466"; /* fa-box-open */ }
.woocommerce-MyAccount-navigation-link--downloads a::before { content: "\f019"; /* fa-download */ }
.woocommerce-MyAccount-navigation-link--edit-address a::before { content: "\f2bb"; /* fa-address-card */ }
.woocommerce-MyAccount-navigation-link--edit-account a::before { content: "\f007"; /* fa-user */ }
.woocommerce-MyAccount-navigation-link--customer-logout a::before { content: "\f2f5"; /* fa-sign-out-alt */ }

/* My Account Content */
.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.1);
    padding: 40px;
}

@media (max-width: 991px) {
    .woocommerce-account .woocommerce {
        flex-direction: column;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        flex: 0 0 auto;
        width: 100%;
    }
}


/* My Account Dashboard */
.woocommerce-MyAccount-content p {
    line-height: 1.8;
    color: #343a40;
    margin-bottom: 1em;
}

.woocommerce-MyAccount-content p:last-child {
    margin-bottom: 0;
}

.woocommerce-MyAccount-content p a {
    color: var(--theme-color, #c9a96e);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: border-bottom-color 0.3s ease;
}

.woocommerce-MyAccount-content p a:hover {
    border-bottom-color: var(--theme-color, #c9a96e);
}


/* My Account - Orders Page */
.woocommerce-MyAccount-content .woocommerce-orders-table {
    width: 100%;
    border-collapse: collapse;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.woocommerce-MyAccount-content .woocommerce-orders-table thead th {
    background-color: #f8f9fa;
    padding: 15px 20px;
    font-weight: 600;
    color: #343a40;
    border-bottom: 2px solid #e9ecef;
    text-align: left;
}

.woocommerce-MyAccount-content .woocommerce-orders-table tbody td {
    padding: 15px 20px;
    border-bottom: 1px solid #e9ecef;
    vertical-align: middle;
    color: #343a40;
}

.woocommerce-MyAccount-content .woocommerce-orders-table tbody tr:last-child td {
    border-bottom: none;
}

.woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
    font-weight: 600;
    color: var(--theme-color, #c9a96e);
    text-decoration: none;
}

.woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a:hover {
    text-decoration: underline;
}

.woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button {
    padding: 8px 15px;
    border-radius: 50px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    background: #495057;
    color: white;
    border: 2px solid #495057;
    font-size: 12px;
    line-height: 1;
    text-transform: uppercase;
}

.woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button:hover {
    background: transparent;
    color: #495057;
}

/* Responsive Orders Table */
@media (max-width: 767px) {
    .woocommerce-orders-table thead {
        display: none;
    }

    .woocommerce-orders-table tbody tr {
        display: block;
        margin-bottom: 20px;
        border: 1px solid #e9ecef;
        border-radius: 8px;
        padding: 15px;
    }

    .woocommerce-orders-table tbody td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        border: none;
        padding: 8px 0;
    }

    .woocommerce-orders-table tbody td::before {
        content: attr(data-title);
        font-weight: 600;
        margin-right: 10px;
    }

    .woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-actions {
        justify-content: flex-start;
    }
}


/* My Account - Addresses Page */
.woocommerce-MyAccount-content .woocommerce-Addresses.col2-set {
    display: flex;
    gap: 30px;
}

.woocommerce-MyAccount-content .woocommerce-Address {
    flex: 1;
}

.woocommerce-MyAccount-content .woocommerce-Address-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid #e9ecef;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.woocommerce-MyAccount-content .woocommerce-Address-title h3 {
    font-family: 'Playfair Display', serif;
    font-size: 24px;
    font-weight: 600;
    color: #333;
    margin: 0;
}

.woocommerce-MyAccount-content .woocommerce-Address-title .edit {
    font-size: 14px;
    font-weight: 600;
    color: var(--theme-color, #c9a96e);
    text-decoration: none;
}

.woocommerce-MyAccount-content .woocommerce-Address-title .edit:hover {
    text-decoration: underline;
}

.woocommerce-MyAccount-content .woocommerce-Address address {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
    border: 1px solid #e9ecef;
    line-height: 1.7;
    color: #343a40;
}

/* Address Edit Forms */
.woocommerce-MyAccount-content form.woocommerce-address-fields {
    margin-top: 30px;
}

.woocommerce-MyAccount-content .woocommerce-address-fields .form-row {
    margin-bottom: 15px;
}

.woocommerce-MyAccount-content .woocommerce-address-fields label {
    display: block;
    font-weight: 600;
    margin-bottom: 5px;
    color: #343a40;
}

.woocommerce-MyAccount-content .woocommerce-address-fields .input-text {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ced4da;
    border-radius: 5px;
    transition: border-color 0.3s ease;
}

.woocommerce-MyAccount-content .woocommerce-address-fields .input-text:focus {
    border-color: var(--theme-color, #c9a96e);
    outline: none;
    box-shadow: 0 0 5px rgba(201, 169, 110, 0.3);
}

.woocommerce-MyAccount-content .woocommerce-address-fields .button {
    padding: 12px 25px;
    border-radius: 50px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    background: var(--theme-color, #c9a96e);
    color: white;
    border: 2px solid var(--theme-color, #c9a96e);
}

.woocommerce-MyAccount-content .woocommerce-address-fields .button:hover {
    background: transparent;
    color: var(--theme-color, #c9a96e);
}

@media (max-width: 767px) {
    .woocommerce-MyAccount-content .woocommerce-Addresses.col2-set {
        flex-direction: column;
    }
}


/* My Account - Account Details Page */
.woocommerce-MyAccount-content form.woocommerce-EditAccountForm {
    margin-top: 30px;
}

.woocommerce-MyAccount-content form.woocommerce-EditAccountForm .form-row {
    margin-bottom: 15px;
}

.woocommerce-MyAccount-content form.woocommerce-EditAccountForm label {
    display: block;
    font-weight: 600;
    margin-bottom: 5px;
    color: #343a40;
}

.woocommerce-MyAccount-content form.woocommerce-EditAccountForm .input-text {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ced4da;
    border-radius: 5px;
    transition: border-color 0.3s ease;
}

.woocommerce-MyAccount-content form.woocommerce-EditAccountForm .input-text:focus {
    border-color: var(--theme-color, #c9a96e);
    outline: none;
    box-shadow: 0 0 5px rgba(201, 169, 110, 0.3);
}

.woocommerce-MyAccount-content form.woocommerce-EditAccountForm fieldset {
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 20px 30px 30px;
    margin-top: 40px;
}

.woocommerce-MyAccount-content form.woocommerce-EditAccountForm legend {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 600;
    color: #333;
    padding: 0 15px;
    width: auto;
    border: none;
}

.woocommerce-MyAccount-content form.woocommerce-EditAccountForm .button {
    margin-top: 20px;
    padding: 12px 25px;
    border-radius: 50px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    background: var(--theme-color, #c9a96e);
    color: white;
    border: 2px solid var(--theme-color, #c9a96e);
}

.woocommerce-MyAccount-content form.woocommerce-EditAccountForm .button:hover {
    background: transparent;
    color: var(--theme-color, #c9a96e);
}

