/* Override */
a.text-primary-foreground {
    color: hsl(var(--primary-foreground)) !important;
}

.top-full {
    top: 100%;
}
/*
[id^="trustpilot-widget-trustbox-"][id$="wrapper"] + #loader + #root > #root-header{
    padding-top: 1.6rem;
}
[id^="trustpilot-widget-trustbox-"][id$="wrapper"]:has(+ #loader + #root > #root-header){
    position: relative;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    z-index: 10001;
    display: none;
}
*/
[id^="trustpilot-widget-trustbox-"][id$="wrapper"]{
    display: none !important;
}

/* General Content Styles */
.entry-content a {
    color: hsl(var(--primary));
    text-decoration: underline;
}

.entry-content a:hover {
    color: hsl(var(--primary-foreground));
    background-color: hsl(var(--primary));
}

/* Navigation Menu */
.main-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 1.5rem;
}

.main-navigation li a {
    color: hsl(var(--muted-foreground));
    text-decoration: none;
    transition: color 0.3s ease;
}

.main-navigation li a:hover {
    color: hsl(var(--foreground));
}

/* Sidebar */
.widget-area {
    padding: 2rem;
    background-color: hsl(var(--card));
    border-radius: var(--radius-lg);
}

.widget {
    margin-bottom: 2rem;
}

.widget-title {
    font-size: 1.25rem;
    font-weight: bold;
    margin-bottom: 1rem;
    color: hsl(var(--foreground));
}

.widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.widget ul li {
    margin-bottom: 0.5rem;
}

.widget ul li a {
    color: hsl(var(--muted-foreground));
    text-decoration: none;
    transition: color 0.3s ease;
}

.widget ul li a:hover {
    color: hsl(var(--foreground));
}

/* Comments */
.comments-area {
    margin-top: 2rem;
    padding: 2rem;
    background-color: hsl(var(--card));
    border-radius: var(--radius-lg);
}

.comments-title {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 1rem;
}

.comment-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.comment-list .comment {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid hsl(var(--border));
}

.comment-author .fn {
    font-weight: bold;
    color: hsl(var(--foreground));
}

.comment-meta {
    font-size: 0.875rem;
    color: hsl(var(--muted-foreground));
}

.comment-content {
    margin-top: 0.5rem;
}

.comment-reply-link {
    display: inline-block;
    margin-top: 0.5rem;
    padding: 0.5rem 1rem;
    background-color: hsl(var(--primary));
    color: hsl(var(--primary-foreground));
    text-decoration: none;
    border-radius: var(--radius-md);
    transition: background-color 0.3s ease;
}

.comment-reply-link:hover {
    background-color: hsl(var(--accent));
}

/* Search Form */
.search-form {
    display: flex;
    gap: 0.5rem;
}

.search-field {
    flex-grow: 1;
    padding: 0.75rem;
    background-color: hsl(var(--input));
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius-md);
    color: hsl(var(--foreground));
}

.search-submit {
    padding: 0.75rem 1rem;
    background-color: hsl(var(--primary));
    color: hsl(var(--primary-foreground));
    border: none;
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.search-submit:hover {
    background-color: hsl(var(--accent));
}

/* 404 Page */
.error-404 .page-title {
    font-size: 2.5rem;
    font-weight: bold;
    margin-bottom: 1rem;
}

.error-404 .page-content {
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
}

/* Single Post */
.single .entry-title {
    font-size: 2.5rem;
    font-weight: bold;
    margin-bottom: 1rem;
}

.single .entry-meta {
    color: hsl(var(--muted-foreground));
    margin-bottom: 1.5rem;
}

.single .entry-content {
    line-height: 1.7;
}

.single .post-thumbnail {
    margin-bottom: 2rem;
}

.single .post-thumbnail img {
    border-radius: var(--radius-lg);
}

/* --- WooCommerce Mini Cart Styles --- */
.woocommerce-mini-cart__total.total {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 0.4rem 1rem;
    margin-bottom: 0.4rem;
    border-top: 1px solid hsl(var(--border));
    background-color: transparent;
}

.woocommerce-mini-cart__total.total strong {
    font-family: var(--font-body);
    font-weight: 500;
    font-size: 0.875rem;
    color: hsl(var(--muted-foreground));
}

.woocommerce-mini-cart__total.total .amount {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 1rem;
    color: hsl(var(--primary));
    /*
    background: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--gold)) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    */
}

.woocommerce-mini-cart__buttons.buttons {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin: 0;
    padding: 0 1rem 1rem 1rem;
}

.woocommerce-mini-cart__buttons.buttons .button {
    display: block;
    width: 100%;
    text-align: center;
    padding: 0.75rem 1rem;
    border-radius: var(--radius);
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;

    transition: all 0.2s ease-in-out;
    cursor: pointer;
    line-height: 1.5;
}

.woocommerce-mini-cart__buttons.buttons .button:not(.checkout) {
    background-color: hsl(var(--secondary));
    color: hsl(var(--secondary-foreground));
    border: 1px solid hsl(var(--border));
}

.woocommerce-mini-cart__buttons.buttons .button:not(.checkout):hover {
    background-color: hsl(var(--muted));
    border-color: hsl(var(--primary));
}

.woocommerce-mini-cart__buttons.buttons .button.checkout {
    background-color: hsl(var(--primary));
    color: hsl(var(--primary-foreground));
    border: 1px solid transparent;
    box-shadow: 0 0 20px hsl(var(--glow-primary) / 0.3);
}

.woocommerce-mini-cart__buttons.buttons .button.checkout:hover {
    opacity: 0.9;
    transform: translateY(-1px);
    box-shadow: 0 0 30px hsl(var(--glow-primary) / 0.5);
}

/* -------------------------------------------------------------------------- */
/* WooCommerce Mini Cart List Items (Refined Layout)        */
/* -------------------------------------------------------------------------- */
ul.woocommerce-mini-cart {
    margin: 0;
    padding: 0;
    list-style: none;
    max-height: 400px;
    overflow-y: auto;
}

.woocommerce ul.cart_list li,
.woocommerce ul.product_list_widget li,
li.woocommerce-mini-cart-item {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 80px;
    padding: 0.75rem 1.8rem 0.75rem 5.6rem;
    margin-bottom: 0;
    border-bottom: 1px solid hsl(var(--border));
    background-color: transparent;
    transition: background-color 0.2s;
}

li.woocommerce-mini-cart-item:hover {
    background-color: hsl(var(--card) / 0.5);
}

li.woocommerce-mini-cart-item img {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 4.5rem !important;
    height: 4.5rem  !important;
    object-fit: cover;
    border-radius: var(--radius-sm);
    border: 1px solid hsl(var(--border));
    background-color: hsl(var(--background));
}

li.woocommerce-mini-cart-item a:not(.remove) {
    font-family: var(--font-body);
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.4;
    color: hsl(var(--foreground));
    text-decoration: none;
    display: block;
    margin-bottom: 0.25rem;
    padding-right: 1rem;
}

.woocommerce ul.cart_list li::after,
.woocommerce ul.cart_list li::before,
.woocommerce ul.product_list_widget li::after,
.woocommerce ul.product_list_widget li::before {
    display: none;
}

li.woocommerce-mini-cart-item .quantity {
    display: block;
    font-family: var(--font-body);
    font-size: 0.85rem;
    color: hsl(var(--muted-foreground));
}

li.woocommerce-mini-cart-item .quantity .amount {
    font-family: var(--font-display);
    font-weight: 700;
    color: hsl(var(--foreground));
    margin-left: 4px;
}

li.woocommerce-mini-cart-item .remove {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: transparent !important;
    border: none;
    color: hsl(var(--foreground)) !important;
    font-size: 1rem !important;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.2s;
}

/*
li.woocommerce-mini-cart-item .remove::before {
    content: '\1F5D1';
    font-size: 1.25rem;
    font-family: sans-serif;
    color: hsl(var(--muted-foreground));
}
*/
li.woocommerce-mini-cart-item .remove:hover::before {
    color: hsl(var(--destructive));
}

/* WooCommerce Cart Page */
.woocommerce-cart .shop_table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2rem;
}

.woocommerce-cart .shop_table th,
.woocommerce-cart .shop_table td {
    padding: 1rem;
    border-bottom: 1px solid hsl(var(--border));
    text-align: left;
}

.woocommerce-cart .shop_table th {
    font-family: var(--font-display);
    font-weight: bold;
    color: hsl(var(--foreground));
}

.woocommerce-cart .shop_table .product-thumbnail img {
    width: 80px;
    height: auto;
    border-radius: var(--radius-md);
}

.woocommerce-cart .shop_table .product-name a {
    color: hsl(var(--foreground));
    font-weight: bold;
}

.woocommerce-cart .shop_table .product-price,
.woocommerce-cart .shop_table .product-subtotal {
    color: hsl(var(--primary));
    font-weight: bold;
}

.woocommerce-cart .shop_table .product-quantity .quantity .qty {
    width: 5em;
    padding: 0.75rem;
    background-color: hsl(var(--input));
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius-md);
    color: hsl(var(--foreground));
}

.woocommerce-cart .shop_table .actions {
    padding-top: 2rem;
}

.woocommerce-cart .shop_table .actions .coupon {
    display: flex;
    gap: 1rem;
    align-items: center;
    margin-bottom: 1rem;
}

.woocommerce-cart .shop_table .actions .coupon .input-text {
    width: auto;
    flex-grow: 1;
}

.woocommerce-cart .cart-collaterals {
    /*margin-top: 3rem;*/
}

.woocommerce-cart .cart-collaterals .cart_totals {
    width: 100%;
    max-width: 500px;
    margin-left: auto;
    padding: 2rem;
    background-color: hsl(var(--card));
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius-lg);
}

.woocommerce-cart .cart-collaterals .cart_totals h2 {
    font-size: 1.5rem;
    font-family: var(--font-display);
    margin-bottom: 1.5rem;
}

.woocommerce-cart .cart-collaterals .cart_totals table {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce-cart .cart-collaterals .cart_totals th,
.woocommerce-cart .cart-collaterals .cart_totals td {
    padding: 1rem 0;
    border-bottom: 1px solid hsl(var(--border));
}

.woocommerce-cart .cart-collaterals .cart_totals .order-total th,
.woocommerce-cart .cart-collaterals .cart_totals .order-total td {
    font-size: 1.25rem;
    font-weight: bold;
    color: hsl(var(--primary));
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: block;
    width: 100%;
    text-align: center;
    padding: 1rem;
    margin-top: 1.5rem;
}
#add_payment_method table.cart td.actions .coupon .input-text, .woocommerce-cart table.cart td.actions .coupon .input-text, .woocommerce-checkout table.cart td.actions .coupon .input-text{
    font-size: 1rem;
    padding: 0.5em 1em;
    margin: 0;
    line-height: 1;
    border:1px solid hsl(var(--primary));
    border-radius: var(--radius-lg);
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button{
    background-color: hsl(var(--primary));
    color: hsl(var(--primary-foreground));
    font-size: 1rem;
    padding: 0.5em 1em;
    margin: 0;
    line-height: 1;
    border-radius: var(--radius-lg);
}

/* WooCommerce Checkout Page */
.woocommerce-checkout .checkout {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.woocommerce-checkout #customer_details {
    padding: 1.2rem;
    background-color: hsl(var(--card));
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius-lg);
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3 {
    font-size: 1.5rem;
    font-family: var(--font-display);
    margin-bottom: 1.5rem;
}

.woocommerce-checkout .form-row {
    margin-bottom: 1rem;
}

.woocommerce-checkout .form-row label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: bold;
}

.woocommerce-checkout #order_review {
    padding: 1.2rem;
    background-color: hsl(var(--card));
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius-lg);
}

.woocommerce-checkout #order_review_heading {
    font-size: 1.5rem;
    font-family: var(--font-display);
    margin-bottom: 1.5rem;
}

.woocommerce-checkout .shop_table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2rem;
}

.woocommerce-checkout .shop_table th,
.woocommerce-checkout .shop_table td {
    padding: 1rem;
    border-bottom: 1px solid hsl(var(--border));
    text-align: left;
}

.woocommerce-checkout .shop_table tfoot th,
.woocommerce-checkout .shop_table tfoot td {
    font-weight: bold;
}

.woocommerce-checkout .shop_table .order-total th,
.woocommerce-checkout .shop_table .order-total td {
    font-size: 1.25rem;
    color: hsl(var(--primary));
}

.woocommerce-checkout #payment {
    padding: 2rem;
    background-color: hsl(var(--card));
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius-lg);
    margin-top: 2rem;
}

.woocommerce-checkout #payment ul.payment_methods {
    list-style: none;
    padding: 0;
    margin: 0 0 1.5rem 0;
}

.woocommerce-checkout #payment .payment_method {
    padding: 1rem;
    border-bottom: 1px solid hsl(var(--border));
}

.woocommerce-checkout #payment .payment_box {
    padding: 1rem;
    margin-top: 1rem;
    background-color: hsl(var(--input));
    border-radius: var(--radius-md);
}

.woocommerce-checkout #payment .place-order {
    margin-top: 1.5rem;
}

.woocommerce-checkout #payment .place-order .button {
    width: 100%;
    text-align: center;
}


/* WooCommerce Thank You Page */
.woocommerce-order {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.woocommerce-order .woocommerce-thankyou-order-failed {
    padding: 1rem 1.5rem;
    background-color: hsl(var(--destructive));
    color: hsl(var(--destructive-foreground));
    border-radius: var(--radius-lg);
    margin-bottom: 1.5rem;
}

.woocommerce-order .woocommerce-thankyou-order-failed-actions {
    display: flex;
    gap: 1rem;
}

.woocommerce-order-overview {
    list-style: none;
    padding: 2rem;
    margin: 2rem 0;
    background-color: hsl(var(--card));
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius-lg);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.woocommerce-order-overview li {
    padding: 0.5rem 1rem;
    flex-grow: 1;
    text-align: center;
}

.woocommerce-order-overview li strong {
    display: block;
    font-size: 1.25rem;
    margin-top: 0.25rem;
    color: hsl(var(--primary));
}

.woocommerce-order .woocommerce-customer-details,
.woocommerce-order .woocommerce-order-details {
    margin-top: 3rem;
}

.woocommerce-order .woocommerce-customer-details h2,
.woocommerce-order .woocommerce-order-details h2 {
    font-size: 1.5rem;
    font-family: var(--font-display);
    margin-bottom: 1.5rem;
}

.woocommerce-order .woocommerce-customer-details address {
    padding: 1.5rem;
    background-color: hsl(var(--card));
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius-lg);
    line-height: 1.6;
}

/* WooCommerce Shop Page */
.shop-sidebar .widget .widget .widgettitle {
    display: none;
}

.woocommerce-products-header .page-title {
    font-family: var(--font-display);
    color: hsl(var(--foreground));
}

.woocommerce-products-header p {
    color: hsl(var(--muted-foreground));
    line-height: 1.6;
}

.woocommerce-result-count {
    color: hsl(var(--muted-foreground));
    margin-bottom: 1rem;
}

.woocommerce-ordering {
    margin-bottom: 1rem;
}

.woocommerce-ordering select {
    background-color: hsl(var(--input));
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius-md);
    color: hsl(var(--foreground));
    padding: 0.5rem 1rem;
}
@media (max-width: 768px) {
    .woocommerce-ordering{
        max-width: 48%;
        max-width: min(48%, 128px);
    }
}

ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 1.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

ul.products li.product {
    text-align: left;
    background-color: hsl(var(--card));
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: all 0.3s ease;
}

ul.products li.product:hover {
    border-color: hsl(var(--primary));
    box-shadow: 0 0 20px hsla(var(--primary), 0.2);
    transform: translateY(-5px);
}

ul.products li.product .pd-cats > a{
    color: hsl(var(--muted-foreground));
}

ul.products li.product .woocommerce-loop-product__link {
    display: block;
    text-decoration: none;
    color: inherit;
}

ul.products li.product .attachment-woocommerce_thumbnail {
    width: 100%;
    height: auto;
    border-bottom: 1px solid hsl(var(--border));
}

ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: bold;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
    color: hsl(var(--foreground));
}

ul.products li.product .price {
    font-size: 1.1rem;
    font-weight: bold;
    color: hsl(var(--primary));
    margin-bottom: 1rem;
}

ul.products li.product .button {
    margin-top: 1rem;
    display: block;
    width: calc(100% - 2rem);
    margin-left: 1rem;
    margin-right: 1rem;
    padding: 0.75rem 1rem;
    background-color: hsl(var(--primary));
    color: hsl(var(--primary-foreground));
    text-align: center;
    text-decoration: none;
    border-radius: var(--radius-md);
    transition: background-color 0.3s ease;
}

ul.products li.product .button:hover {
    background-color: hsl(var(--accent));
}

/* single product view page */
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
    color: hsl(var(--muted-foreground));
    font-weight: 700;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
    color: hsl(var(--foreground));
    font-weight: 700;
}
.woocommerce div.product form.cart .variations {
    width: auto;
}
.woocommerce div.product form.cart .variations label {
    padding: 0.75rem;
}

.woocommerce div.product form.cart .variations select {
    padding: 0.75rem;
}

.woocommerce div.product div.summary,
.woocommerce-page div.product div.summary,
.woocommerce div.product div.images.woocommerce-product-gallery {
    position: relative;
    width: 100%;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    width: 100%;
}

@media (max-width: 768px) {
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        margin-bottom: 1rem;
    }
}

.woocommerce ul.products li.product a{
    text-decoration: none;
    color: inherit;
}

.woocommerce .quantity .qty{
    font-size: 1rem;
    padding: 0.75rem 1rem;
    line-height: 1.5;
    border-radius: unset;
}

.woocommerce div.product form.cart .button[name="add-to-cart"],
.woocommerce div.product form.cart button.single_add_to_cart_button {
    font-size: 1rem;
    padding: 0.75rem 1.25rem;
    line-height: 1.5;
    border-radius: unset;
}

.woocommerce .products ul::after,
.woocommerce .products ul::before,
.woocommerce ul.products::after,
.woocommerce ul.products::before {
    display: none;
}

.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
    font-size: 1rem;
    line-height: 1.2;
    min-height: 3.6rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 1px solid hsl(var(--border));
    padding-left: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background-color: transparent;
    color: hsl(var(--muted-foreground));
    padding: 0;
    margin: 0 1rem 0 0;
    border: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background-color: transparent;
    border-bottom: 2px solid hsl(var(--primary));
    color: hsl(var(--foreground));
}
.woocommerce.single-product .related.products{
    margin-top: 2rem;
    margin-bottom: 2rem;
    border-top: 1px solid hsl(var(--border));
}

.woocommerce.single-product .related.products > h2{
    margin-bottom: 1.6rem;
}

body.post-type-page #jp-relatedposts,
body.post-type-product #jp-relatedposts,
.woocommerce.single-page #jp-relatedposts,
.woocommerce.single-product #jp-relatedposts {
    display: none !important;
}

/* Shop Sidebar */
.shop-sidebar-wrapper .shop-sidebar {
    padding: 0.6rem;
    background-color: hsl(var(--card));
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius-lg);
}

.shop-sidebar-wrapper .shop-sidebar-toggle {
    padding: 0.6rem;
    background-color: hsl(var(--card));
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius-lg);
}

.shop-sidebar .widget-title {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: bold;
    margin-bottom: 1rem;
    color: hsl(var(--foreground));
}

.shop-sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.shop-sidebar ul li {
    margin-bottom: 0.5rem;
}

.shop-sidebar ul li a {
    color: hsl(var(--muted-foreground));
    text-decoration: none;
}

.shop-sidebar ul li a:hover {
    color: hsl(var(--foreground));
}

.shop-sidebar .widget_price_filter .price_slider {
    margin-bottom: 1rem;
}

.shop-sidebar .widget_price_filter .price_slider_amount {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.shop-sidebar .widget_price_filter .button {
    margin-top: 1rem;
}


/** login, register **/
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
    background-color: #242c28;
    background-color: #0c261be8;
    border: none;
}

/** End WooCommerce Styles **/
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
    background-color: hsl(var(--input));
    border-color: hsl(var(--border));
    border-radius: var(--radius-md);
    color: hsl(var(--foreground));
    padding: 0.75rem;
}

.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
    border-color: hsl(var(--primary));
    box-shadow: 0 0 0 3px hsl(var(--glow-primary) / 0.3);
    outline: none;
}
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info {
    border-radius: var(--radius-lg);
}
.woocommerce .woocommerce-message a.button,
.woocommerce .woocommerce-error a.button,
.woocommerce .woocommerce-info a.button {
    border-radius: var(--radius-lg);
}
.woocommerce .woocommerce-message {
    background-color: hsl(var(--muted));
    border: 1px solid hsl(var(--border));
    color: hsl(var(--foreground));
}
.woocommerce .woocommerce-error {
    background-color: hsl(var(--destructive)/0.7);
    border: 1px solid hsl(var(--border));
    color: hsl(var(--destructive-foreground));
}
.woocommerce .woocommerce-info {
    background-color: hsl(var(--primary)/0.6);
    border: 1px solid hsl(var(--border));
    color: hsl(var(--primary-foreground));
}
.woocommerce .woocommerce-message a.button,
.woocommerce .woocommerce-error a.button,
.woocommerce .woocommerce-info a.button {
    background-color: hsl(var(--primary)/0.7);
    color: hsl(var(--primary-foreground));
    padding: 0.5em 1em;
    font-size: 1rem;
    border: none;
    text-decoration: none;
    display: inline-block;
    margin-top: 0.5rem;
    transition: background-color 0.3s ease;
}
.woocommerce .woocommerce-message a.button:hover,
.woocommerce .woocommerce-error a.button:hover,
.woocommerce .woocommerce-info a.button:hover {
    background-color: hsl(var(--accent)/0.7);
}
.woocommerce .woocommerce-breadcrumb {
    font-size: 0.875rem;
    margin-bottom: 1.5rem;
}
.woocommerce .woocommerce-breadcrumb a {
    color: hsl(var(--primary));
    text-decoration: none;
}
.woocommerce .woocommerce-breadcrumb a:hover {
    text-decoration: underline;
}
.woocommerce .woocommerce-breadcrumb .delimiter {
    margin: 0 0.5rem;
    color: hsl(var(--muted-foreground));
}
.woocommerce .woocommerce-breadcrumb .current {
    color: hsl(var(--foreground));
}
.woocommerce .woocommerce-review-link {
    color: hsl(var(--primary));
    text-decoration: none;
}
.woocommerce .woocommerce-review-link:hover {
    text-decoration: underline;
}
.woocommerce .star-rating span {
    color: hsl(var(--gold));
}
.woocommerce .star-rating::before {
    color: hsl(var(--muted-foreground));
}
.woocommerce .woocommerce-product-rating {
    margin-bottom: 1rem;
}
.woocommerce .woocommerce-product-rating .woocommerce-review-link {
    font-size: 0.875rem;
}
.woocommerce .woocommerce-product-rating .woocommerce-review-link:hover {
    text-decoration: underline;
}
.woocommerce .woocommerce-review__author {
    font-weight: bold;
    color: hsl(var(--foreground));
}
.woocommerce .woocommerce-review__date {
    font-size: 0.875rem;
    color: hsl(var(--muted-foreground));
}
.woocommerce .woocommerce-review__content {
    margin-top: 0.5rem;
    line-height: 1.6;
    color: hsl(var(--foreground));
}
.woocommerce .woocommerce-review__reply {
    margin-top: 0.5rem;
}
.woocommerce .woocommerce-review__reply a {
    color: hsl(var(--primary));
    text-decoration: none;
}
.woocommerce .woocommerce-review__reply a:hover {
    text-decoration: underline;
}
.woocommerce .woocommerce-review__rating {
    margin-bottom: 0.5rem;
}
.woocommerce .woocommerce-review__rating .star-rating span {
    color: hsl(var(--gold));
}
.woocommerce .woocommerce-review__rating .star-rating::before {
    color: hsl(var(--muted-foreground));
}
.woocommerce .woocommerce-review__form {
    margin-top: 2rem;
}
.woocommerce .woocommerce-review__form label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: bold;
    color: hsl(var(--foreground));
}
.woocommerce .woocommerce-review__form input[type="text"],
.woocommerce .woocommerce-review__form input[type="email"],
.woocommerce .woocommerce-review__form textarea {
    width: 100%;
    padding: 0.75rem;
    background-color: hsl(var(--input));
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius-md);
    color: hsl(var(--foreground));
    margin-bottom: 1rem;
}
.woocommerce .woocommerce-review__form input[type="text"]:focus,
.woocommerce .woocommerce-review__form input[type="email"]:focus,  
.woocommerce .woocommerce-review__form textarea:focus {
    border-color: hsl(var(--primary));
    box-shadow: 0 0 0 3px hsl(var(--glow-primary) / 0.3);
    outline: none;
}
.woocommerce .woocommerce-review__form .button {
    background-color: hsl(var(--primary)/0.95);
    color: hsl(var(--primary-foreground));
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    border: none;
    border-radius: var(--radius-lg);
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.woocommerce .woocommerce-review__form .button:hover {
    background-color: hsl(var(--accent)/1.0);
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    margin-bottom: 2rem;
    padding: 1rem;
    background-color: hsl(var(--card));
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius-lg);
    width: calc(100% - 100% + 256px);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin-bottom: 0.25rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    color: hsl(var(--muted-foreground));
    text-decoration: none;
    display: block;
    padding: 0.75rem 1rem;
    border-radius: var(--radius-md);
    transition: background-color 0.3s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background-color: hsl(var(--card) / 0.5);
    color: hsl(var(--foreground));
}

.woocommerce-account .woocommerce-MyAccount-content {
    padding: 1rem;
    background-color: hsl(var(--card));
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius-lg);
    width: calc(100% - 256px);
}

form fieldset {
    border: 1px solid hsl(var(--border));
    margin: 0 0 1.5rem 0;
    padding: 0.75rem;
}

@media only screen and (max-width: 768px) {
    .woocommerce-account .woocommerce-MyAccount-content,
    .woocommerce-account .woocommerce-MyAccount-navigation {
        width: 100%;
        padding: 0;
    }
}

/* -------------------------------------------------------------------------- */
.currency-switcher-wrapper .currency-switcher .widget{
    display: inline-flex;
    align-items: center;
    flex-direction: row;
    gap: 0.5rem;
    padding: 0;
    margin: 0;
}

.currency-switcher-wrapper .currency-switcher .widget .widgettitle,
.currency-switcher-wrapper .currency-switcher .widget .widget-title{
    font-size: 1rem;
    padding: 0;
    margin: 0;
}
.currency-switcher-wrapper .currency-switcher .widget form{
    display: inline-flex;
    gap: 0.5rem;
    padding: 0;
    margin: 0;
}

/* Footer */
.root-footer .menu-footer{
    padding: 0;
    margin: 0;
    list-style: none;
}
.root-footer .menu-legal {
    padding: 0;
    margin: 0;
    list-style-type: disc;
}
.root-footer .menu-legal .menu-item:first-child {
    list-style: none;
}
.root-footer .menu-legal .menu-item:first-child::marker{
    display: none;
}
.root-footer .menu-legal a,
.root-footer .menu-footer a{
    color: hsl(var(--muted-foreground));
    text-decoration: none;
    transition: color 0.3s ease;
}
.root-footer .menu-footer a:hover{
    color: hsl(var(--foreground));
}
@media (max-width: 767px) {
    .root-footer .menu-footer .menu-item{
        text-align: center;
    }
}
/* wheel */
/* The Wheel Physics */
#lucky-wheel {
    transition: transform 5s cubic-bezier(0.15, 0, 0.15, 1); /* "Real" deceleration */
    transform-origin: center center;
}

/* Pulse Animation (Ready State) */
@keyframes pulse-ready {
    0% { transform: scale(1) rotate(0deg); }
    50% { transform: scale(1.02) rotate(2deg); }
    100% { transform: scale(1) rotate(0deg); }
}

.wheel-ready {
    animation: pulse-ready 1s infinite ease-in-out;
}

/* Winner Highlight */
/* Ensure the wheel rotates around its absolute center */
#lucky-wheel {
    transform-origin: center center;
    transition: transform 5s cubic-bezier(0.15, 0, 0.15, 1); /* Ease-out/Decelerate */
}

/* Winner Slice Pop Effect */
.winner-slice {
    transform-origin: 150px 150px; /* Force center of SVG coordinate system */
    transform: scale(1.15); 
    filter: brightness(1.2) drop-shadow(0 0 15px rgba(255, 215, 0, 0.5));
    z-index: 50;
    transition: transform 0.5s ease-out;
    overflow: visible;
}

/* Winner Text Display */
#winner-display {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, 0.95);
    padding: 1.5rem;
    border-radius: 1rem;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.2);
    text-align: center;
    opacity: 0;
    pointer-events: none; /* Let clicks pass through to wheel if needed */
    z-index: 100;
    backdrop-filter: blur(8px);
    border: 1px solid rgba(0,0,0,0.1);
    min-width: 200px;
    transition: 0.6s;
    overflow: visible;
}

#lucky-wheel {
    /* Ensure the rotation point is dead center */
    transform-origin: center center;
    transition: transform 5s cubic-bezier(0.15, 0, 0.15, 1);
    /* Make sure pointer events don't block the click but allow hover */
    pointer-events: auto; 
}

/* The Winner Pop Effect */
.winner-slice {
    /* This origin must match the SVG center coordinates (150, 150) */
    transform-origin: 150px 150px; 
    transform: scale(1.15);
    filter: brightness(1.25) drop-shadow(0 0 15px rgba(255, 215, 0, 0.5));
    z-index: 50;
    transition: transform 0.5s ease-out;
}

/* Ensure text doesn't mess up the scale transform */
.winner-slice text {
    fill: #fff; /* Optional: Make text white to pop */
}

#winner-display:empty{
    display: none;
}

/* -------------------------------------------------------------------------- */
#greenlers-claim-verify-form,
.ur-frontend-form,
.ur-frontend-form.login,
#user-registration{
	background-color: hsl(var(--secondary) / 0.8) !important;
}

#greenlers-claim-verify-form input,
#greenlers-claim-verify-form select,
#greenlers-claim-verify-form textarea,
.ur-frontend-form input,
.ur-frontend-form select,   
.ur-frontend-form textarea,
#user-registration input,
#user-registration select,   
#user-registration textarea {
    background-color: hsl(var(--input)) !important;
    border-color: hsl(var(--border))  !important;
    border-radius: var(--radius-md) !important;
    color: hsl(var(--foreground)) !important;
    padding: 0.75rem !important;
}

#greenlers-claim-verify-form label,
#greenlers-claim-verify-form a,
.ur-frontend-form label,
.ur-frontend-form a,
#user-registration label,   
#user-registration a {
    color: hsl(var(--foreground)) !important;
}

#greenlers-claim-verify-form button,
#greenlers-claim-verify-form button,
.ur-frontend-form button,
#user-registration button,
.ur-frontend-form .button,
#user-registration .button {
    background-color: hsl(var(--primary)) !important;
    color: hsl(var(--primary-foreground)) !important;
    padding: 0.75rem 1.5rem !important;
    font-size: 1rem !important;
    border: none !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease !important;
}