/*
 * Custom style goes here.
 * A template should always ship with an empty custom.css
 */

/*
Footer start
 */

.background-gradient-purple {
    background: var(--th-bg-gradient-purple);
}

.background-button-purple {
    background: #6655A1;
}

.social-media-gradient {
    width: 43px;
    height: 43px;
    border-radius: 33px;
    background: linear-gradient(to top, #EFCD7F, #AB812E);
    padding: 6px 12px 7px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/*
NewsLetter #TODO for mobile, later
*/
/*
.footer-newsletter {
    min-width: 430px;
    min-height: 247px;
}
*/

.footer-newsletter .newsletter-form {
    display: grid;
    grid-template-columns: 156px 1fr;
    column-gap: 16px;
    row-gap: 16px;
}

.footer-newsletter .newsletter-info {
    margin-bottom: 16px !important;
    grid-column: 1 / -1;
}

.footer-newsletter .newsletter-input {
    height: 48px !important;
    border-radius: 25px !important;
    padding: 16px 34px 16px 30px !important;
}

/* === Footer newsletter layout ===
   Two‑column row: Name (156 px) + Email (flex)
   Next row: Subscribe button full‑width
*/
.footer-newsletter .input-fields-container {
    display: flex;
    flex-wrap: wrap; /* allow the button to wrap onto a new line */
    align-items: center;
    column-gap: 16px;
    row-gap: 16px;
}

.footer-newsletter .input-field-wrap:first-child {
    flex: 0 0 156px;
}

.footer-newsletter .input-field-wrap:nth-child(2) {
    flex: 1;
    min-width: 0;
}

.footer-newsletter .submit-widget-newsletter {
    flex: 0 0 100%;
}

.footer-newsletter .input-field-wrap:first-child .newsletter-input {
    width: 156px;
}

.footer-newsletter .input-field-wrap:last-child .newsletter-input {
    width: 100%;
}

/*
/f0e0
*/

.footer-newsletter .submit-widget-newsletter {
    position: static;
    width: 100%;
    height: 48px;
    border-radius: 41px;
    background: #D0AA5A;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 26px;
    border: none;
    margin-top: 0;
    transform: translate(0px);
    font-family: Poppins, sans-serif;
    font-weight: 400;
    font-size: 14px;
    vertical-align: middle;
    grid-column: 1 / -1;
}

.footer-newsletter .submit-widget-newsletter::after {
    content: "\f0e0";
    font-family: 'Font Awesome 6 Free';
    font-style: normal;
    font-weight: 900;
    margin-left: 0.5rem;
    display: inline-flex;
    align-items: center;
    -webkit-font-smoothing: antialiased;
}


.custom-social-media-icons i {
    background: var(--th-bg-border-gradient-yellow);
    border-radius: 33px;
    border: 0;
    padding: 0;
    width: 43px !important;
    height: 43px !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Style for list items in the redirect_link section */
.redirect_link .elementor-icon-list-items .elementor-icon-list-item {
    margin-bottom: 6px !important;
}

/* Style for links and text in the list items */
.redirect_link .elementor-icon-list-items .elementor-icon-list-item a {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 16px !important;
    letter-spacing: 0 !important;
    vertical-align: middle !important;
    text-decoration: none !important;
}

/* Text color */
.redirect_link .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-text {
    color: var(--th-white) !important;
}

/* Hover effect for links */
.redirect_link .elementor-icon-list-items .elementor-icon-list-item a:hover {
    text-decoration: underline !important;
    text-decoration: var(--th-white);
}

/* Style for list items in the redirect_link section */
.redirect_link .elementor-icon-list-items .elementor-icon-list-item {
    margin-bottom: 6px !important;
}

/* Style for links and text in the list items */
.redirect_link .elementor-icon-list-items .elementor-icon-list-item a {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 16.5px !important;
    letter-spacing: 0% !important;
    vertical-align: middle !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
}

/* Text color */
.redirect_link .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-text {
    color: var(--th-white) !important;
}

/* Icon styling */
.redirect_link .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-icon {
    color: var(--th-white) !important;
    margin-right: 8px !important;
}

/* Icon size */
.redirect_link .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-icon i {
    font-size: 16px !important;
    vertical-align: middle !important;
}

/* Hover effect for links */
.redirect_link .elementor-icon-list-items .elementor-icon-list-item a:hover {
    text-decoration: underline !important;
}

.custom-background-icon span:nth-child(3) {
    background: var(--th-bg-border-gradient-yellow) !important;
}

#payment-confirmation .ps-shown-by-js {
    display: flex;
    gap: 24px;
    flex-direction: column;
}
/* Responsive adjustments for footer newsletter on tablets and mobile */
@media (max-width: 1024px) {
    .footer-newsletter .newsletter-form {
        display: flex;
        flex-direction: column;
    }

    .footer-newsletter .input-fields-container {
        flex-direction: column;
        column-gap: 0;
        row-gap: 16px !important;
    }

    .footer-newsletter .input-field-wrap {
        flex: 1 0 auto;
        width: 100% !important;
    }

    .footer-newsletter .newsletter-input,
    .footer-newsletter .submit-widget-newsletter {
        width: 100% !important;
    }
}

/* Footer container and section adjustments for mobile/tablet */
@media (max-width: 1024px) {
    #footer {
        display: flex !important;
        flex-direction: column !important;
        background: var(--th-bg-gradient-purple) !important;
        padding: 24px 16px !important;
    }

    .footer-newsletter .input-field-wrap:first-child {
        flex: 0;
    }

    #footer > * {
        width: 100% !important;
        margin-bottom: 24px !important;
    }

    #footer .background-gradient-purple,
    #footer .background-button-purple,
    #footer .social-media-gradient {
        background: none !important;
    }

}

@media (min-width: 768px) {
    .elementor-18010000 .elementor-element.elementor-element-19953fa .elementor-social-icon {
        font-size: 50px;
    }
}


/*
Footer end
 */

/*
HEADER STYLE
*/

/*Shop-sidebar*/

.sidebar-shop-gradient-border-left {
    border-left: 8px solid transparent;
    padding: 24px 6px 0px 20px;
    background: linear-gradient(#FFFFFF, #FFFFFF) padding-box,
    linear-gradient(to bottom, #EFCD7F, #AB812E) border-box;
    background-clip: padding-box, border-box;
    background-origin: border-box;
    border-radius: 0;
}

.cart-sidebar-wrapper {
    background: #FFFFFF;
}

.sidebar-shop-gradient-border-left header > h3 {
    font-family: Cinzel;
    font-weight: 700;
    font-size: 26px;
    line-height: 140%;
    vertical-align: middle;
    color: var(--th-purple, #242335);
}

/* Product name/price/discount, etc. */
.cart-sidebar-wrapper .mini-product .product-description .product-title,
#cart-summary-product-list .mini-product .product-description .product-title {
    font-family: Cinzel;
    color: #42376A;
    font-weight: 700;
    font-size: 14px;
    line-height: 20px;
    vertical-align: middle;
}

/* Product items in the cart */
.cart-sidebar-wrapper .shopping_cart .indent .mini-product,
#cart-summary-product-list .mini-product {
    width: 100%;
    height: 124px;
    background: #FFFFFF;
    padding: 16px 16px 16px 0;
    border: none;
    border-bottom: 1px solid #D69A02;
    margin-bottom: 16px;
}

/* Product image */
.cart-sidebar-wrapper .mini-product .thumbnail-container img,
#cart-summary-product-list .mini-product .thumbnail-container img {
    width: 77px;
    height: 77px;
}

.cart-sidebar-wrapper .mini-product .discount-percentage.
#cart-summary-product-list .mini-product .discount-percentage {
    display: inline-flex;
    font-family: Poppins;
    font-weight: 700;
    font-size: 12px;
    color: #FFFFFF;
    background: #B00300;
    border-radius: 4px;
    padding: 0 6px;
    height: 20px;
    white-space: nowrap;
}

.cart-sidebar-wrapper .mini-product .product-price-and-shipping,
#cart-summary-product-list .mini-product .product-price-and-shipping {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 16px;
}

.cart-sidebar-wrapper .mini-product .product-price-and-shipping .regular-price,
.cart-sidebar-wrapper .mini-product .product-price-and-shipping .discount-percentage,
#cart-summary-product-list .mini-product .product-price-and-shipping .regular-price,
#cart-summary-product-list .mini-product .product-price-and-shipping .discount-percentage {
    display: inline-flex;
    align-items: center;
    margin: 0;
    line-height: 1;
}

.cart-sidebar-wrapper .mini-product .product-price-and-shipping .price,
#cart-summary-product-list .mini-product .product-price-and-shipping .price {
    order: 3;
    flex-basis: 100%;
    margin-top: 4px;
}

.cart-sidebar-wrapper .mini-product .product-price-and-shipping .regular-price,
#cart-summary-product-list .mini-product .product-price-and-shipping .regular-price {
    display: inline-flex;
    align-items: center;
    line-height: 1;
    margin: 0;
}

.cart-sidebar-wrapper .mini-product .product-price-and-shipping .discount-percentage,
#cart-summary-product-list .product-price-and-shipping .discount-percentage {
    display: inline-flex;
    align-items: center;
    transform: translateY(0px);
}

.cart-sidebar-wrapper .mini-product .product-price-and-shipping .regular-price,
.cart-sidebar-wrapper .mini-product .product-price-and-shipping .product-price-and-shipping .discount-percentage,
#cart-summary-product-list .mini-product .product-price-and-shipping .regular-price,
#cart-summary-product-list .mini-product .product-price-and-shipping .product-price-and-shipping .discount-percentage {
    display: inline-flex;
    align-items: center;
    line-height: 1;
    margin: 0;
}

.cart-sidebar-wrapper .mini-product .product-price-and-shipping .regular-price,
#cart-summary-product-list .mini-product .product-price-and-shipping .regular-price {
    font-weight: 400;
    font-size: 12px;
    line-height: 18.01px;
    letter-spacing: -0.14px;
    vertical-align: middle;
    text-decoration: line-through;
    color: var(--th-red);
}


.cart-sidebar-wrapper .mini-product .product-price-and-shipping .price,
#cart-summary-product-list .mini-product .product-price-and-shipping .price {
    font-weight: 700;
    font-family: Poppins;
    line-height: 20.01px;
    font-size: 14px;
    padding: 0;
    color: var(--th-gold);
    background: none;
}


/*.cart-sidebar-wrapper .web-sidebar .tab-content .tab-content .os-scrollbar-track ::-webkit-scrollbar {*/
/*    */
.wide-sidebar .os-scrollbar {
    --os-handle-bg: var(--th-purple);
    --os-handle-bg-hover: var(--th-purple1);
    --os-handle-bg-active: var(--th-purple);
}

/*
Shopping cart custom styles for .custom-cart container
*/

/* Shipping – targets the first flex-container inside .cart-total */
.shopping_cart.custom-cart .cart-total > .flex-container span.flex-grow1 {
    color: #42376A;
}

.shopping_cart.custom-cart .cart-total > .flex-container:first-child span.flex-grow1 {
    font-family: Poppins;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    vertical-align: middle;
    color: #42376A;
}

.shopping-cart.custom-cart .os-scrollbar {
    --os-handle-bg: var(--th-purple);
    --os-handle-bg-hover: var(--th-purple1);
    --os-handle-bg-active: var(--th-purple);
}


/* Total cost – covers both scenarios:
   if PS_TAX_DISPLAY is off (using .cart-total-value),
   otherwise targeting the last flex-container in .cart-total.
*/
.shopping_cart.custom-cart .cart-total-value,
.shopping_cart.custom-cart .cart-total > .flex-container {
    color: var(--th-purple, #42376A);
}

.shopping_cart.custom-cart .cart-total-value,
.shopping_cart.custom-cart .cart-total > .flex-container:last-child {
    /* Custom styles for the Total Cost container */
    font-family: Poppins;
    font-weight: 700;
    border-top: none;
    padding-top: 0px;
    font-size: 16px;
    line-height: 140%;
    vertical-align: middle;
    color: var(--th-purple, #42376A);
}

/* View Cart – purple button with hover effect */
.shopping_cart.custom-cart .cart-button a.reverse-btn {
    align-content: center;
    font-family: Poppins, sans-serif;
    font-weight: 400 !important;
    font-size: 14px;
    color: #FFFFFF;
    width: 100%;
    height: 48px;
    border-radius: 41px;
    padding: 8px 26px;
    gap: 6px;
    border: none;
    background: #6655A1 !important;
    overflow: hidden;
    position: relative;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
    z-index: 1;
}

.shopping_cart.custom-cart .cart-button a.reverse-btn::before {
    content: "";
    display: inline-flex;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(96deg, #6655A1 1.27%, #372B61 98.39%) !important;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    z-index: -2;
    pointer-events: none;
}

.shopping_cart.custom-cart .cart-button a.reverse-btn,
.shopping_cart.custom-cart .cart-button a.reverse-btn * {
    position: relative;
    z-index: 2 !important;
}

.shopping_cart.custom-cart .cart-button a.reverse-btn:hover::before {
    opacity: 1;
}

.shopping_cart.custom-cart .cart-button a.reverse-btn::after,
.shopping_cart.custom-cart .cart-button a.btn:not(.reverse-btn)::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(102, 85, 161, 0);
    z-index: -1;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.shopping_cart.custom-cart .cart-button a.reverse-btn:hover::after,
.shopping_cart.custom-cart .cart-button a.btn:not(.reverse-btn):hover::after {
    opacity: 1;
}

/* Checkout – white button with hover effect */
.shopping_cart.custom-cart .cart-button a.btn:not(.reverse-btn) {
    position: relative;
    background-color: transparent;
    color: var(--th-purple, #42376A);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    border-radius: 41px;
    border: 1px solid var(--th-purple, #42376A);
    overflow: hidden;
    z-index: 1;
    transition: background-color 0.3s ease, color 0.3s ease;
    text-align: center;
    text-decoration: none;
    font-family: Poppins, sans-serif;
    font-weight: 400 !important;
    font-size: 14px;
}

.shopping_cart.custom-cart .cart-button a.btn:not(.reverse-btn):hover {
    background-color: var(--th-light-purple);
    color: var(--th-dark-purple);
}

/*
Compare SideBar
*/
.background-gradient-gold {
    background: linear-gradient(90deg, #AB812E, #EFCD7F, #AB812E);
}

.wide-sidebar header > h3 {
    font-family: Cinzel;
    font-weight: 700;
    font-size: 26px;
    color: var(--th-purple, #42376A);
}

.wide-sidebar .pk-aside-tabs .pktabswrap > ul {
    border: 0;
    margin-bottom: 24px;
    gap: 16px;
}

.wide-sidebar .pk-aside-tabs .pktabswrap > ul li a.active {
    font-family: Cinzel;
    font-weight: 700;
    font-size: 20px;
    color: var(--th-purple, #242335);
    text-transform: uppercase;
    min-width: 135px;
    padding: 16px;
    border: 0;
    background: var(--th-bg-gradient-yellow);
    height: 48px;
    border-radius: 8px;

}

.wide-sidebar .pk-aside-tabs .pktabswrap > ul li a {
    font-family: Cinzel;
    font-weight: 700;
    font-size: 20px;
    color: var(--th-purple, #242335);
    background-color: transparent;
    text-transform: uppercase;
    min-width: 135px;
    padding: 16px;
    border: 0;
    border-radius: 8px;
    height: 48px;

}

/*
Sidebar End
*/

/*

.th_product_carousel .swiper-wrapper .swiper-slide {
    border: 4px solid transparent;
    border-radius: 12px;
    padding: 1rem;
    background: linear-gradient(#FFFBF0, #FFFBF0) padding-box,
    linear-gradient(to top, #AB812E, #EFCD7F) border-box;
    background-clip: padding-box, border-box;
}
*/


/*

Auth page START */

/* Custom styles for authentication page */
.custom-auth-page {

}

/* Typography */
.custom-auth-page h2 {
    font-family: 'Cinzel', serif;
    font-size: 24px;
    letter-spacing: -0.14px;
    line-height: 32.01px;
    color: var(--th-purple);
    margin-bottom: 20px;
}

/* Register button */
.custom-auth-page .register-section .btn,
.custom-auth-page .register-section .btn:hover,
.custom-auth-page .register-section .btn:focus,
.custom-auth-page .register-section .btn:active {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--th-gold, #D0AA5A) !important;
    overflow: hidden;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    color: var(--th-purple);
    height: 48px;
    border-radius: 41px;
    padding: 0 30px;
    border: none;
    gap: 6px;
    line-height: 1;
    transition: background-color 0.3s ease-in-out;
}

.custom-auth-page .register-section .btn::after {
    display: none !important;
}

.custom-auth-page .register-section .btn::before {
    content: "";
    display: inline-flex;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(96deg, #EFCD7F 1.27%, #AB812E 98.39%) !important;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    z-index: -2;
    pointer-events: none;
}

.custom-auth-page .register-section .btn,
.custom-auth-page .register-section .btn * {
    position: relative;
    z-index: 2 !important;
}

.custom-auth-page .register-section .btn:hover::before {
    opacity: 1;
}
.custom-auth-page .register-section .section-content > p {
    color: var(--th-purple) !important;
}

.custom-auth-page{
    .register-section{
        border: 2px solid var(--th-purple1);
        background-color: var(--th-light-purple);
        padding: 20px;
        border-radius: 6px;
        width: calc(50% - 15px);
        margin-right: 15px;
    }

    .login-section{
        padding: 20px;
        width: calc(50% - 15px);
        margin-left: 15px;
    }
}


/* Login form */
#login-form {
    margin-top: 1rem;

    .form-group.row {
        .form-control-label {
            padding-left: 30px;
            font-family: 'Poppins', sans-serif;
            color: var(--th-black);
            font-weight: 600;
            font-size: 14px !important;
            display: block !important;
            text-align: left !important;
            line-height: 1.375em;
            margin-bottom: 8px;
        }

        .col-md-8 {
            padding-left: 0;
        }
    }
}

#login-form input::placeholder {
    color: var(--th-purple1);
    font-weight: 400;
    line-height: 100%;
    font-size: 14px;
    vertical-align: middle;
}

#login-form input:focus {
    color: var(--th-purple1);
    font-weight: 400;
    line-height: 100%;
    font-size: 14px;
    vertical-align: middle;
    border: none;
}

.form-control ~ .focus-border,
.form-control:focus ~ .focus-border,
.form-control ~ .focus-border::before,
.form-control ~ .focus-border::after,
.form-control:focus ~ .focus-border::before,
.form-control:focus ~ .focus-border::after {
    width: 0 !important;
    transition: none !important;
    display: none !important;
}

#login-form .icon,
#login-form i,
#login-form svg,
#login-form span.icon {
    display: none !important;
}

#login-form input,
#login-form input {
    color: var(--th-purple1);
    font-family: Poppins;
    font-size: 14px;
    font-weight: 400;
    line-height: 100%;
    background-color: var(--th-light-purple);
    border: none;
    height: 48px;
    border-radius: 25px;
    padding: 0px 30px 0px 30px;
}


/*#login-form .form-control .focus span [type="email"]:focus,*/
/*#login-form .form-control .focus-border span [type="password"]:focus {*/
/*    border: none !important;*/
/*    background-color: transparent;*/
/*    outline: none !important;*/
/*    box-shadow: none !important;*/
/*}*/

.page-customer-account #content .forgot-password {
    padding: 0;
    margin: 0;
    line-height: 1;
    font-size: 0;
}

#login-form button[type="submit"] {
    background-color: var(--th-purple1);
    color: var(--th-white);
    font-weight: 400;
    height: 48px;
    font-size: 14px;
    border: none;
    border-radius: 41px;
    padding: 8px 30px 8px 30px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}


#login-form button[type="submit"]:hover {
    background-color: #584994;
}


.page-customer-account #content .forgot-password a {
    display: inline-flex;
    font-size: 14px;
    font-weight: 400;
    min-width: 160px;
    padding: 6px 26px;
    margin-left: 16px;
    color: var(--th-purple, #42376AFF);
}

.page-customer-account #content .forgot-password a:hover {
    display: inline-flex;
    font-size: 14px;
    font-weight: 400;
    min-width: 160px;
    padding: 6px 26px;
    margin-left: 16px;
    color: var(--th-purple1);
    text-decoration: underline;
}

/*
  ============== forgot page start  ==============
  */
.custom-forgot-page h2 {
    font-family: 'Cinzel', serif;
    font-size: 24px;
    letter-spacing: -0.14px;
    line-height: 32.01px;
    color: var(--th-purple);
    margin-bottom: 46.5px;
}

.custom-forgot-page header {
    font-family: 'Poppins', serif;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: -0.14px;
    line-height: 26px;
    color: var(--th-purple);
}

.custom-forgot-page input::placeholder {
    color: var(--th-purple1);
    font-weight: 400;
    line-height: 100%;
    font-size: 14px;
    vertical-align: middle;
}

.custom-forgot-page input:focus {
    color: var(--th-purple1);
    background-color: var(--th-light-purple);
    font-weight: 400;
    line-height: 100%;
    font-size: 14px;
    vertical-align: middle;
    border: none;
}

.form-control:focus ~ .focus-border::before,
.form-control:focus ~ .focus-border::after {
    width: 0 !important;
    transition: none !important;
}

.custom-forgot-page .icon,
.custom-forgot-page i,
.custom-forgot-page svg,
.custom-forgot-page span.icon {
    display: none !important;
}

.custom-forgot-page input {
    color: var(--th-purple1);
    font-family: Poppins;
    font-size: 14px;
    font-weight: 400;
    line-height: 100%;
    background-color: var(--th-light-purple);
    border: none;
    height: 48px;
    border-radius: 25px;
    padding: 0px 30px 0px 30px;
}

/*
  ============== forgot page End  ==============
  */

/*
============== My account START ==============
*/

.styled-auth-form {
    font-family: 'Poppins', sans-serif;
    color: var(--th-purple);

    /* Form labels */

    label {
        font-family: 'Poppins', sans-serif;
        color: var(--th-black);
        font-weight: 600;
        font-size: 14px !important;
        display: block !important;
        text-align: left !important;
    }

    /* Grid layout for the form */

    .custom-grid-layout {
        column-gap: 30px;

        .form-group {
            width: 100% !important; /* Make form groups take full width */
        }

        .form-group label {
            margin-bottom: 8px !important;

            &[for=customer_privacy] p,
            &[for=psgdpr] p {
                margin-top: 0;
                margin-bottom: 0;
            }
        }

        .form-group:has(input) {
            .form-control-comment {
                margin-left: 0px;
                font-size: 0.7rem;
            }
        }

        /* Checkboxes positioning */

        .form-group:nth-of-type(n+8) {
            grid-column: 1;

            label {
                width: 100%;
                color: var(--th-purple);
                font-size: 14px;
                font-weight: 400;
            }
        }
    }

    /* Form inputs styling */

    input,
    .form-control {
        font-family: 'Poppins', sans-serif;
        height: 48px;
        border-radius: 25px;
        color: var(--th-purple);
        border: none !important;
        background-color: var(--th-light-purple);
        font-size: 14px;
        padding-left: 30px;
        padding-right: 30px;
        transition: border-color 0.2s ease-in-out;
        width: 100% !important; /* Make inputs take full width */
        margin: 0 !important;
        text-align: left;
        outline: none !important;
        box-shadow: none !important;

        &::placeholder {
            font-family: 'Poppins', sans-serif;
            color: var(--th-purple);
            font-size: 14px;
        }

        &:focus {
            color: var(--th-purple1);
            border: none !important;
            outline: none !important;
            box-shadow: none !important;
        }

        &:focus-visible {
            border: none !important;
            outline: none !important;
            box-shadow: none !important;
        }
    }

    /* Fix for focus-border class */

    .focus-border:focus {
        height: auto !important;
        color: var(--th-purple1);
        border-width: 0 !important;
        border: none !important;
        z-index: 10;
        width: 100% !important; /* Changed from auto to 100% */
        outline: none !important;
        box-shadow: none !important;
    }

    /* Hide icons in inputs */

    .icon-true {
        i, svg, span.icon {
            display: none;
        }

        .form-control {
            padding-left: 30px;
            width: 100% !important;
        }
    }

    /* Form select styling */

    .form-control-select-wrapper {
        width: 100%;
        display: block;
    }

    .form-control-select-wrapper .form-control-select {
        width: 100%;
        height: 48px;
        border-radius: 25px;
        background-color: var(--th-light-purple);
        color: var(--th-purple1);
        border: none !important;
        outline: none !important;
        box-shadow: none !important;
        font-size: 14px;
        padding-left: 30px;
        padding-right: 30px;
    }

    /* Radio buttons styling */

    .custom-radio {
        display: inline-block;
        position: relative;
        width: 20px;
        height: 20px;
        vertical-align: top;
        cursor: pointer;
        border-radius: 50%;
        border: 1px solid var(--th-purple1, #6655A1);
        background: #fff;

        input[type="radio"] {
            width: auto !important; /* Keep radio buttons with auto width */
        }

        input[type="radio"]:checked + span {
            display: block;
            background-color: var(--th-gold2, #D69A02);
            width: 12px;
            height: 12px;
            border-radius: 50%;
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
        }
    }

    /* Checkbox styling */

    .custom-checkbox input[type="checkbox"] {
        width: 16px !important;
        height: 16px !important;
    }

    .custom-checkbox  a {
        color: var(--th-gold, #D0AA5A);
    }

    /* Form footer and buttons */

    .form-footer {
        grid-column: 1;
        margin-left: 0 !important;
        padding-left: 0 !important;
        display: flex;
        justify-content: flex-start;
        gap: 1rem;
        margin-top: 0;

        .btn-primary {
            background-color: var(--th-purple1);
            color: var(--th-white);
            font-family: Poppins, sans-serif;
            font-size: 14px;
            line-height: 14.3px;
            font-weight: 400;
            border: none;
            border-radius: 25px;
            min-height: 48px;
            padding: 0 2rem;
            cursor: pointer;
            letter-spacing: 0;
            transition: background-color 0.3s ease;

            &:hover {
                background-color: var(--th-purple);
            }
        }

        .cancel-address {
            background: transparent;
            color: var(--th-purple) !important;
            font-weight: 500;
        }

        .cancel-address:hover,
        .cancel-address:focus,
        .cancel-address:active {
            background: transparent;
            color: var(--th-purple) !important;
            font-weight: 500;
            text-decoration: underline;
        }

        .cancel-address:hover:before {
            display: none !important;
            content: unset !important;
        }
    }

    /* Full width for checkbox container */

    .form-group:has(.custom-checkbox) {
        width: 100%;
    }
}


/* =============== Address Form =============== */
.custom-address-form {
    /* Form fields grid layout */

    .form-fields {
        /*display: grid;*/
        /*grid-template-columns: 1fr 1fr; !* Uncommented this to ensure two columns *!*/
        display: flex;
        column-gap: 30px;
        justify-items: start; /* align items to left within each cell */
        align-items: start; /* align items to top within each cell */

        /* Remove the ::before pseudo-element that was reserving space in the first row */
        /* This line is removed:
        &::before {
            content: "";
            grid-column: 2;
            grid-row: 1;
        }
        */

        /* Make each form-group fill its grid cell */

        .form-group {
            width: 100% !important;

            /* Ensure input, select, and textarea controls span full width */

            span.focus-border {
                display: none !important;
            }

            input,
            select,
            textarea {
                width: 100% !important;
                margin: 0 !important;
                text-align: left;
            }

            /* Ensure labels are block-level and left-aligned */

            label {
                display: block !important;
                text-align: left !important;
            }

            /* Updated grid positioning to match auth form */

            &:nth-of-type(1) {
                grid-column: 1;
                grid-row: 1;
            }

            &:nth-of-type(2) {
                grid-column: 2;
                grid-row: 1; /* Changed to row 1 to put it beside the first field */
            }

            &:nth-of-type(3) {
                grid-column: 1;
                grid-row: 2;
            }

            &:nth-of-type(4) {
                grid-column: 2;
                grid-row: 2;
            }

            &:nth-of-type(5) {
                grid-column: 1;
                grid-row: 3;
            }

            &:nth-of-type(6) {
                grid-column: 2;
                grid-row: 3;
            }

            &:nth-of-type(7) {
                grid-column: 1;
                grid-row: 4;
            }

            &:nth-of-type(8) {
                grid-column: 2;
                grid-row: 4;

                /* Add styling for the select wrapper in the country field */

                .form-control-select-wrapper {
                    width: 100%;
                    display: block;
                }
            }

            &:nth-of-type(9) {
                grid-column: 1;
                grid-row: 5;
            }

            /* Dropdown selector styling */

            .form-control-select-wrapper .form-control-select {
                width: 100%;
                height: 48px;
                border-radius: 80px;
                background-color: var(--th-light-purple);
                color: var(--th-purple1);
                border: none;
                font-family: 'Poppins', sans-serif;
                font-size: 14px;
                padding-left: 30px;
                padding-right: 30px;
                transition: border-color 0.2s ease-in-out;

                /* Make static and focused dropdown share the same look */

                &:focus {
                    outline: none;
                    box-shadow: none;
                    background-color: var(--th-light-purple);
                    color: var(--th-purple1);
                }
            }
        }
    }

    /* Place Save button under country, in first column */

    .form-footer {
        grid-column: 1;
        margin-left: 0 !important;
        padding-left: 0 !important;
        margin-top: 24px;
    }
}

.styled-auth-form .custom-checkbox input[type="checkbox"] + span {
    border: 2px solid var(--th-gold);
    border-radius: 4px;
    margin: 0;
    margin-right: 10px;
    background: transparent;
    margin-top: 1px;
}

.styled-auth-form .custom-checkbox input[type="checkbox"]:checked + span {
    z-index: 1;
}

.styled-auth-form .custom-checkbox input[type="checkbox"] + span svg {
    width: 16px;
    height: 16px;
    margin: 0;
    margin: -2px;
    border-radius: 4px;
    color: var(--th-white);
    background: var(--th-bg-border-gradient-yellow);
}

.styled-auth-form input, .styled-auth-form .form-control .focus-border:focus {
    font-family: 'Poppins', sans-serif;
    height: auto !important;
    border-radius: 25px;
    color: var(--th-purple1);
    border-width: 0;
    background-color: var(--th-light-purple);
    font-size: 14px;
    padding-left: 30px;
    padding-right: 30px;
    z-index: 10;
    width: auto !important;
}

/*
==============My Address VIEWER==============
*/
.custom-container-address-viewer {
    background: var(--th-light-yellow, #FFFBF0);
    border-radius: 12px;
    padding: 16px;

    /* Address title: styling for heading inside address container */

    h4 {
        font-family: 'Poppins', sans-serif;
        font-weight: 600;
        font-size: 14px;
        letter-spacing: 0;
        vertical-align: middle;
        margin: 0 0 18px 0;
        padding: 0;
    }

    /* Action buttons: styling for Edit and Delete links */

    [data-link-action="edit-address"],
    [data-link-action="delete-address"] {
        border-radius: 0;
        padding: 0;
        font-weight: 400;
        font-size: 14px;
        color: var(--th-purple, #42376AFF);
        background: transparent;
        border: none;
        display: inline-flex;
        align-items: center;
        cursor: pointer;

        /* Action button icons: Font Awesome pseudo-elements */

        &::before {
            font-family: 'Font Awesome 6 Free' !important;
            color: var(--th-purple, #42376AFF);
            speak: none;
            padding: 0;
            height: 15px;
            width: 15px;
            margin-right: 6px;
            font-weight: 900;
            font-style: normal;
            text-transform: none;
            -webkit-font-smoothing: antialiased;
        }

        /* Action buttons hover: maintain transparent background and purple color */

        &:hover {
            background: transparent;
            color: var(--th-purple, #42376AFF);
            opacity: 0.9;
        }
    }

    /* Edit icon content */

    [data-link-action="edit-address"]::before {
        content: "\f304";
    }

    /* Delete icon content */

    [data-link-action="delete-address"]::before {
        content: "\f00d";
    }
}

/* Hide default SVG icons inside action buttons */
[data-link-action="edit-address"] svg,
[data-link-action="delete-address"] svg {
    display: none;
}

/* Page addresses specific styling */
.page-addresses {
    .address {
        margin-bottom: 0;
    }

    .custom-container-address-viewer .address {
        color: var(--th-black, #0E0E0E);
        font-family: 'Poppins', sans-serif;
        font-weight: 400;
        font-size: 14px;
        letter-spacing: 0;
        vertical-align: middle;
    }

    .address .address-footer {
        border-top: 1px solid #EFCD7FFF;
        gap: 4px;
    }

    .addresses-footer a span {
        margin-top: 0;
    }
}

/* Responsive: disable grid layout for My Account forms on mobile */
@media (max-width: 767px) {
    .styled-auth-form .custom-grid-layout,
    .custom-address-form .form-fields {
        display: block !important;

        .form-group {
            width: 100% !important;
        }
    }
}

/*
============================My account END============================
*/


.btn.btn-primary {
    position: relative;
    background: var(--th-purple1);
    font-family: Poppins, sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: var(--th-white) !important;
    border-radius: 25px;
    border: none;
    min-height: 48px;
    padding: 8px 26px;
    cursor: pointer;
    letter-spacing: 0;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
}

.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn.btn-primary:active {
    background: var(--th-purple1);
}

.btn.btn-primary::after {
    display: none !important;
}

.btn.btn-primary::before {
    content: "";
    display: inline-flex;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--th-bg-gradient-purple-left);
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    z-index: 1;
    pointer-events: none;
}

.btn.btn-primary::before {
    z-index: -2;
}

.btn.btn-primary,
.btn.btn-primary * {
    color: var(--th-white) !important;
    position: relative;
    z-index: 2 !important;
}

.btn.btn-primary:hover::before {
    opacity: 1;
}

.btn.btn-primary:hover {
    color: var(--th-white) !important;
}

.btn.btn-primary:focus {
    border: unset !important;
    outline: unset !important;
}


/*
================BLOG================
*/

/*
General card start
*/
.custom-blog {
    font-family: Poppins, sans-serif;
    gap: 24px;
}

.custom-blog a {
    font-family: Cinzel, sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--th-purple1, #42376A);
}

.custom-blog p {
    font-family: Poppins, sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: var(--th-black);
}

.custom-blog .container {
    padding: 8px;
    border-radius: 12px;
    background: var(--th-bg-gradient-purple-left);
}

.custom-blog img {
    border-radius: 0;

}

/*
================ Blog top Category container START ================
*/

.container {
    padding-left: 0;
    padding-right: 0;
}

/* Container category with gradient border, layout, and spacing */
.custom-container-category {
    border: 8px solid transparent;
    border-radius: 12px;
    background: var(--th-bg-gradient-purple) padding-box,
    var(--th-purple1) border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-height: 108px;
    padding: 16px 30px;
}

/* Heading inside the container category */
.custom-container-category h2 {
    color: var(--th-white, #FFFFFF);
    font-size: 26px;
    font-weight: 700;
    line-height: 20px;
}

/* Left side text container */
.above-blog-left {
    display: flex;
    flex-direction: column;
}

/* Small text displayed above the heading */
.dummy-lorem {
    margin: 0;
    font-family: Cinzel, serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--th-gold2, #D69A02FF);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Main heading styling */
.above-blog-left .h1,
.above-blog-left h2 {
    margin: 4px 0 0 0;
    font-family: Cinzel, serif;
    font-size: 28px;
    font-weight: 700;
    color: var(--th-white, #FFFFFF);
    line-height: 1.2;
}

/* Right side container or wrapper */
.above-blog-right {
    margin-left: auto;
}

/* Button styling, includes border and hover transitions */
.dummy-button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 26px;
    border: 2px solid #D69A02;
    border-radius: 25px;
    background: transparent;
    color: #D69A02;
    font-family: Poppins, serif;
    font-size: 14px;
    font-weight: 400;
    cursor: pointer;
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}

/* Arrow icon on the right side of the button */
.dummy-button::after {
    content: "\e822";
    font-family: 'ceicons' !important;
    font-style: normal;
    font-weight: normal;
    margin-left: 0.5rem;
    color: var(--th-gold, #D0AA5A);
    -webkit-font-smoothing: antialiased;
}

/* Button hover effect */
.dummy-button:hover {
    background-color: transparent;
    /*color: var(--th-purple1, #6655A1);*/
    opacity: 0.9;
}

/* Icon styling for dummy-button if needed */
.dummy-button .dummy-icon {
    font-size: 16px;
    background-color: var(--th-white, #D0AA5A);
    color: var(--th-purple1, #6655A1);
}

/* Mobile adjustments for Featured design container */
@media only screen and (max-width: 768px) {
    .custom-container-category {
        /* Reduce the min-height and padding for a more compact look on mobile */
        min-height: 80px;
        padding: 12px;
    }

    .custom-container-category h2 {
        /* Adjust font size and line height for mobile */
        font-size: 20px;
        line-height: 1.1;
    }
}

/*
================ Blog top Category container END ================
*/


/*
Category bar
*/
.custom-blog-featured {
    display: flex;
    width: 100%;
    /*min-height: 340px;*/
    font-family: Poppins, sans-serif;
    background: var(--th-bg-gradient-yellow);
    padding: 8px;
    border-radius: 12px;
    gap: 24px;
}

/* Image container */
.custom-blog-featured .container {
    flex: 0 0 50%;
    height: 100%;
    border-radius: 12px;
    padding: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.custom-blog-featured .blog-content {
    flex: 0 0 50%;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0;
}

.simpleblog__listing__post.col-md-12 .blog-headline {
    max-width: 100% !important;
    letter-spacing: 0.264px;
    font-weight: 700;
}

.simpleblog__listing__post .blog-headline {
    max-width: 100% !important;
    letter-spacing: 0.264px;
    font-weight: 700;
}

a.dummy-button:active,
a.dummy-button:visited {
    color: #D69A02 !important;
}

.category-home-header {
    color: var(--th-gold2, #D69A02FF) !important;
    font-family: Cinzel;
    font-size: 26px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px;
    text-transform: uppercase;
    margin-top: 30px;
    margin-bottom: 30px;
}

.simpleblog__listing__post.col-md-12 .slpw > .simpleblog__listing__post__wrapper__content {
    padding: 0;
    margin: 0;
    padding-right: 20px;

}

.simpleblog__listing__post.col-md-12 .simpleblog__listing__post__wrapper__content > p {
    margin-top: 24px;
    max-width: none;
    width: 100%;
}


/* Make the image fill its container, centered and cover style */
.custom-blog-featured img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    vertical-align: middle !important;
    border-radius: 12px;
    padding: 0;
}

/* Wrapper for text content */
.custom-blog-featured .blog-content {
    flex: 0 0 50%;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 16px;
}

.custom-blog-featured span {
    text-decoration: none !important;
}

.custom-blog-featured .blog-headline,
.custom-blog-featured .blog-headline a {
    font-family: Cinzel, sans-serif;
    font-size: 20px;
    margin: 0;
    text-decoration: none;
    color: var(--th-purple, #42376A);
}

.custom-blog-featured a {
    font-family: Cinzel, sans-serif;
    font-size: 16px;
    margin: 0;
    text-decoration: none;
    color: var(--th-purple, #42376A);
}

.custom-blog-featured p {
    font-family: Poppins, sans-serif;
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    color: var(--th-black);
}


/*
============== BLOG SINGLE START ==============
*/
/* Debugging backgrounds for blog single */

.custom-blog-single {
}

.custom-blog-single h1,
.custom-blog-single h2,
.custom-blog-single h3 {
    font-family: 'Cinzel', serif;
    color: var(--th-purple1);
    margin-bottom: 1rem;
}

.custom-blog-single .simpleblog__post__content {
    float: right !important;
    margin: 0 !important;
    margin-left: 30px !important;
}


.custom-blog-single .db {
    background: var(--th-bg-border-gradient-yellow);
    padding: 8px;
    border-radius: 12px;
    float: right;
}

.custom-blog-single .social-sharing li.sc-share {
    background: none !important;
    color: var(--th-purple1) !important;
    font-weight: 900;
}

.custom-blog-single img {
    background: var(--th-bg-border-gradient-yellow);
    padding: 8px;
    border-radius: 12px;
}

.custom-blog-single p {
    font-family: Poppins, sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    letter-spacing: -0.14px;
    vertical-align: middle;
    color: var(--th-black);
}

.custom-blog-single p strong {
    font-family: Poppins, sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 26px;
    letter-spacing: -0.14px;
    vertical-align: middle;
    color: var(--th-purple);
}


.custom-blog-single h3 {
    display: none;
}

/* Sharer icons styling inside blog single */
.custom-blog-single .social-sharing li {
    border-width: 0;
    background: var(--th-bg-border-gradient-yellow); /* Adjust as needed */
    border-radius: 50%;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;

    &.share-url {
        border-radius: unset;
        background: unset;

    }

    img {
        border-radius: unset !important;
        background: unset !important;
        padding: 0 !important;
    }
}


.custom-blog-single .sharer-button svg {
    color: var(--th-purple1);
    width: 18px;
    height: 18px;
    font-weight: 400;
}

/*
General card end
*/


/*
=============BLOG END================
*/

/*
============================= NAVBAR CATEGORY  START ================================
*/
/*My account*/
.elementor-widget-nav-menu {
    .elementor-sign-in {
        position: relative !important;
    }
}

/* Base positioning for the dropdown container */
.custom-my-account .pk-myaccount.dd_el {
    position: relative !important;
}

.elementor-widget-container {
    position: relative;

    /* Dropdown menu positioning */

    .elementor-nav .menu-item-has-children {
        position: relative;

        > .sub-menu {
            width: 100%;
            left: 0;
            right: 0;
            box-sizing: border-box;
            position: absolute;
            top: 100%;
        }
    }

    /* Text wrapping for all menu items */

    .sub-menu .menu-item {
        white-space: normal;

        .elementor-sub-item {
            padding: 8px;
            display: flex;
            align-items: center;
            hyphens: auto;
            word-wrap: break-word;
            white-space: normal;

            i {
                display: flex;
                align-items: center;
                justify-content: center;
                flex-shrink: 0;
                min-width: 16px;
                height: 16px;
            }

            span {
                white-space: normal;
                line-height: 1.4;
                flex-grow: 1;
                align-self: center;
            }
        }
    }
}

/* Alternative approach if needed - set explicit width from container */
.elementor-widget-container {
    .elementor-sign-in {
        .elementor-nav--dropdown {
            width: 100%;
            max-width: 100%;
            left: 0;
            box-sizing: border-box;
        }
    }
}

/* Ensure dropdown is positioned correctly for absolute/fixed positioned containers */
.elementor-widget-container {
    .elementor-nav--dropdown {
        position: absolute;
        z-index: 100;
    }
}

.current-item .svgic {
    display: none !important;
}

.pk-search-widget input::placeholder {
    opacity: 1;
}

/*Compare icon*/
.compare-select .current-item::before {
    content: "\f0ec";
    font-family: 'Font Awesome 6 Free';
    margin-right: 0.5rem;
    display: inline-flex;
    align-items: center;
    font-weight: 900;
    font-size: 18px;
    line-height: 0px;
    letter-spacing: 0%;
    text-align: center;
    vertical-align: middle;
}

/*// Favourites icon*/
.favorites-select .current-item::before {
    content: "\f004";
    font-family: 'ceicons' !important;
    margin-right: 0.5rem;
    display: inline-flex;
    align-items: center;
    font-weight: 900;
    font-size: 18px;
    line-height: 0px;
    letter-spacing: 0%;
    text-align: center;
    vertical-align: middle;
}

/*// User icon*/
.myaccount-select .current-item::before {
    content: "\f406";
    font-family: 'Font Awesome 6 Free' !important;
    margin-right: 0.5rem;
    display: inline-flex;
    align-items: center;
    font-weight: 900;
    font-size: 18px;
    line-height: 0px;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;
}

/*// Cart icon*/
.cart-select .current-item::before {
    content: "\f07a";
    font-family: 'Font Awesome 6 Free' !important;
    margin-right: 0.5rem;
    display: inline-flex;
    align-items: center;
    font-weight: 900;
    font-size: 18px;
    line-height: 0px;
    letter-spacing: 0%;
    text-align: center;
    vertical-align: middle;
}

.custom-navbar-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1rem;
    flex-wrap: wrap;
}

.elementor-19010000 .elementor-element.elementor-element-69f05ef1 .pk-search-widget form {
    width: 430px;
    flex: 1;
    margin-right: 32px;
    /*margin-left: 54px;*/
}


/* Override Elementor percent widths on icon columns */
.custom-background-icon.elementor-column {
    width: auto !important;
    flex: 0 0 auto !important;
    max-width: none !important;
}

/*
NAVBAR
*/

/* Custom partners*/

.custom-partners {
}

.custom-partners img {
    height: 130px;
    min-width: 0;
    width: 0;
}


/*#custom-testimonial-card{*/
/*    border: 4px var(--th-bg-gradient-yellow);*/
/*    background: white;*/
/*}*/

/*
======================================= Mega Menu Start =======================================
*/

.custom-background {
    background: var(--th-bg-gradient-purple);
    border: none !important;
    padding: 0;
    margin: 0;

}

.ets_mm_megamenu {
    background-color: transparent !important;
    clear: left;
    display: block;
    margin-top: 0;
    padding: 0;
    position: relative;
    width: 100%;
    z-index: 2;
    height: 54px !important;
}

body:has(.elementor-menu-toggle.elementor-active) {
    overflow: hidden !important;
}

.elementor-nav__container {
    height: 100% !important;
    position: fixed !important;
}

#header .elementor-container {
    width: 100%;
    /*vertical-align: middle;*/

    .layout_layout1 .ets_mm_megamenu_content {
        border: none !important;
        background: none !important;
    }

    .layout_layout1:not(.ybc_vertical_menu):not(.click_open_submenu) .mm_menus_li > a::before, .layout_layout1:not(.ybc_vertical_menu).click_open_submenu .mm_menus_li.open_li > a::before, .layout_layout1.ybc_vertical_menu:hover .ybc-menu-vertical-button::before, .layout_layout1:hover .ybc-menu-vertical-button .ybc-menu-button-toggle_icon_default .icon-bar, .ybc-menu-vertical-button.layout_layout1:hover {
        background: none;
        border: none;

    }

    .layout_layout1:not(.click_open_submenu) .mm_menus_li:hover > a, .layout_layout1:not(.click_open_submenu) .mm_menus_li.menu_hover > a {
        background-color: transparent !important;
        color: var(--th-gold);

    }
}

.mm_menu_content_title {
    float: left;
    padding: 0 16px;
    position: relative;
    min-height: 0;
    display: flex;
    align-items: center;
    /*height: 42px;*/
}

.layout_layout1 .mm_menus_li {
    border-right: none;
}

.layout_layout1 .mm_menus_li:last-child {
    border-right: none;
}

body.page-category {
    .ets_mm_megamenu_content {
        & .mm_menus_ul {
            & .mm_menus_li {
                &.custom-mega-menu {
                    &.active {
                        border-bottom: 4px solid var(--th-yellow) !important;
                        border-bottom-left-radius: 12px !important;
                        border-bottom-right-radius: 12px !important;
                    }

                    &:hover {
                        /*border-bottom: 4px solid var(--th-yellow) !important;*/
                        border-bottom-left-radius: 0 !important;
                        border-bottom-right-radius: 0 !important;

                    }
                }
            }
        }
    }
}

/*/* Mega Menu Navigation Structure */
.ets_mm_megamenu_content {
    position: relative;

    /* Container styling */

    .container {
        width: 100%;
        /*max-width: 1400px;*/
        margin: 0 auto;
    }

    .ets_mm_megamenu_content_content {
        display: flex;
        align-items: stretch;
    }

    /* Menu toggle button for mobile */

    .ybc-menu-toggle {
        display: none;
        align-items: center;
        padding: 10px 15px;
        font-family: 'Poppins', sans-serif;
        font-size: 14px;
        /*color: var(--th-white);*/
        cursor: pointer;

        .ybc-menu-button-toggle_icon {
            margin-right: 10px;

            .icon-bar {
                display: block;
                width: 22px;
                height: 2px;
                /*margin-bottom: 4px;*/
                background-color: var(--th-white);
            }
        }
    }

    /* Main menu list */

    .mm_menus_ul {
        display: flex;
        align-items: stretch;
        margin: 0;
        padding: 0;
        list-style: none;

        /* Close menu item for mobile */

        .close_menu {
            display: none;
            justify-content: space-between;
            padding: 10px 15px;
            background: var(--th-purple);
            color: var(--th-white);
            font-family: 'Poppins', sans-serif;

            .pull-left, .pull-right {
                display: flex;
                align-items: center;
                cursor: pointer;
            }

            .mm_menus_back_icon {
                margin-left: 10px;
            }
        }

        /* Main menu items - both mega menu and regular items */

        .mm_menus_li {
            display: flex;
            align-items: stretch;
            position: relative;
            border: none;

            /* Fix for vertical alignment - apply to all menu items */

            &.mm_menus_li_tab,
            &.mm_sub_align_full {
                display: flex;
                align-items: center;
            }

            /* Menu link styling */

            .ets_mm_url {
                display: flex;
                align-items: center;
                height: 100%;
                padding: 9.5px 10px;
                text-decoration: none;
                font-family: 'Poppins', sans-serif;
                font-size: 14px;
                color: var(--th-white);
                transition: all 0.3s ease;


                &:hover {
                    color: var(--th-yellow);
                }
            }

            /* Menu title with icon */

            .mm_menu_content_title {
                display: flex;
                align-items: center;
                padding: 0;

                i.fa-bars, img {
                    margin-right: 8px;
                    display: inline-flex;
                    align-items: center;
                    justify-content: center;
                }
            }

            /* Specific styling for the mega menu item */

            &.custom-mega-menu {
                margin: 0;
                background-color: var(--th-white);
                border: 4px solid var(--th-yellow) !important;
                border-radius: 12px;


                /* Static state - make sure border is complete */

                &:not(:hover):not(.active) {
                    border: 4px solid var(--th-yellow) !important;
                    border-radius: 12px !important;
                }

                /* Hover and active states - remove bottom border */

                &:hover, &.active {
                    border-top: 4px solid var(--th-yellow) !important;
                    border-left: 4px solid var(--th-yellow) !important;
                    border-right: 4px solid var(--th-yellow) !important;
                    border-bottom: unset !important;
                    border-bottom-left-radius: 0 !important;
                    border-bottom-right-radius: 0 !important;
                    /*padding-bottom: 4px !important;*/

                    /* Make sure dropdown is visible */

                    & + .mm_columns_ul,
                    & ~ .mm_columns_ul {
                        display: block;
                    }

                    /* First tab should connect seamlessly with parent */

                    & ~ .mm_columns_ul .mm_tabs_li:first-child .mm_tab_li_content {

                    }

                    & .ets_mm_megamenu .mm_sub_align_left > .mm_columns_ul {

                    }

                }

                .ets_mm_url {

                    color: var(--th-purple) !important;
                }

                .mm_menu_content_title {
                    i.fa-bars {
                        color: var(--th-purple);
                    }
                }

                .arrow.closed:after {
                    color: var(--th-purple);
                    display: none !important;
                }


                > .ets_mm_url:hover:after {
                    content: "";
                    width: calc(100% + 8px);
                    left: 50%;
                    transform: translateX(-50%);
                    height: 4px;
                    background-color: #fff !important;
                    bottom: 0;
                    margin-bottom: -4px;
                    border-left: 4px solid var(--th-yellow) !important;
                    border-right: 4px solid var(--th-yellow) !important;
                }
            }
        }

        /* Mega menu dropdown styling */

        .mm_columns_ul {
            position: absolute;
            top: 100%;
            left: 0;
            z-index: 100;
            background: var(--th-white);
            display: none;
            margin-top: -4px !important;
            margin-left: -4px !important;


            /* Tab items in dropdown */

            .mm_tabs_li {
                display: block;
                position: unset;

                /* Common tab styling - reset all borders first */

                .mm_tab_li_content {
                    border: none !important;
                    margin: 0;
                    cursor: pointer;
                    height: 46px;
                    display: flex;

                    padding: 0 !important;
                    align-items: center;
                    border-left: 4px solid var(--th-yellow) !important;
                    border-right: 4px solid var(--th-yellow) !important;
                    border-radius: 0;


                    &:hover {
                        background: var(--th-bg-gradient-yellow) !important;
                        border: none !important;
                        border-left: 4px solid var(--th-yellow) !important;
                        border-right: 4px solid transparent !important;
                        padding: 0 !important;

                    }

                    .mm_tab_name {

                        &:before {
                            border: none !important;
                        }

                        &:after {
                            display: none !important;

                        }

                        .mm_tab_toggle_title {
                            display: flex;
                            width: 100%;
                            padding: 6px 10px !important;

                            &:after {
                                display: none;
                            }

                            .ets_mm_url {
                                color: var(--th-purple) !important;
                                font-family: Cinzel, sans-serif !important;
                                font-weight: 700;
                                font-size: 14px;
                                line-height: 20px;
                                letter-spacing: 0;
                                vertical-align: middle;
                                text-transform: uppercase;
                                display: flex;
                                align-items: center;
                                padding: 0 !important;


                                img {
                                    margin-right: 10px;
                                    width: 20px;
                                    height: 20px;
                                }
                            }
                        }
                    }
                }

                /* First child styling */

                &:first-child .mm_tab_li_content {
                    border: none;
                    border-left: 4px solid var(--th-yellow) !important;
                    border-right: 4px solid var(--th-yellow) !important;

                }

                /* Last child styling */

                &:last-child {
                    .mm_tab_li_content {
                        border: none;
                        border-bottom: 4px solid var(--th-yellow) !important;
                        border-left: 4px solid var(--th-yellow) !important;
                        border-right: 4px solid var(--th-yellow) !important;
                        border-radius: 0 0 0 8px;
                    }
                }

                &:hover ~ li:last-child .mm_tab_li_content {
                    border-radius: 0 0 0 8px;
                }
            }

            /* Single child case (first and last are the same) */

            &:first-child:last-child .mm_tab_li_content {
                border: 4px solid var(--th-yellow) !important;
                border-right: 4px solid var(--th-yellow) !important;
                border-radius: 8px;
                margin: 0 !important;
                padding: 0 !important;
            }

            /* Active state styling */

            &.open .mm_tab_li_content,
            &:hover .mm_tab_li_content {
                /*height: 100% !important;*/
                /*background-color: var(--th-white);*/

            }

            /* Content panels for tabs */

            .mm_columns_contents_ul {
                position: absolute;
                left: 327px !important;
                z-index: 100;
                /*background: black !important;*/
                border: none !important;
                border-top: 4px solid var(--th-yellow) !important;
                border-right: 4px solid var(--th-yellow) !important;
                border-bottom: 4px solid var(--th-yellow) !important;
                border-radius: 0 8px 8px 0;
                top: -4px !important;
                height: 100%;
                /*temporary the min and width*/
                min-height: 602px !important;
                /*min-width: calc(1170px - 314px);*/
                min-width: calc(1400px - 314px);
                padding: 0 0 5px 10px !important;

                li::marker {
                    content: "" !important;
                    list-style: none !important;

                }

                .mm_columns_li {
                    padding: 0;


                    .mm_blocks_ul {
                        padding: 0;
                        margin: 0;
                        list-style: none;


                        .mm_blocks_li {
                            border: none !important;
                            padding: 0 !important;

                            .ets_mm_block {
                                border: none !important;
                                padding: 0 !important;

                                .h4 {
                                    align-content: center;
                                    padding: 6px 10px;
                                    color: var(--th-purple) !important;
                                    font-family: Cinzel, sans-serif !important;
                                    font-weight: 900 !important;
                                    font-size: 14px;
                                    line-height: 20px;
                                    letter-spacing: 0;
                                    vertical-align: middle;
                                    text-transform: uppercase;
                                    border: none !important;

                                    &:hover {
                                        background: var(--th-bg-gradient-yellow) !important;
                                        padding: 6px 10px !important;
                                        border-radius: 8px;
                                        border: none !important;
                                    }
                                }

                                .ets_mm_block_content {
                                    .custom-categories-container {
                                        .ets_mm_categories {

                                            list-style: none;

                                            li {
                                                padding: 6px 10px;

                                                &:hover {
                                                    background: var(--th-bg-gradient-yellow) !important;
                                                    padding: 6px 10px;
                                                    border-radius: 8px;
                                                    border: none !important;
                                                }

                                                .ets_mm_url {
                                                    color: var(--th-purple) !important;
                                                    padding: 0;
                                                    font-size: 13px;


                                                }

                                                &.has-sub {
                                                    /*position: absolute !important;*/
                                                }

                                                &.th_ets_parent_categ {
                                                    margin-top: 10px;

                                                    > .ets_mm_url {
                                                        font-family: Cinzel, sans-serif;
                                                        font-size: 14px;
                                                        font-style: normal;
                                                        font-weight: 900;
                                                        /*line-height: 20px; !* 142.857% *!*/
                                                        letter-spacing: 0.264px;
                                                    }
                                                }

                                            }


                                            > li:first-child {
                                                margin-top: 10px;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}


/*
Bullet points for subcategories bellow
*/
.layout_layout1 .ets_mm_block_content ul li a::before {
    content: "" !important;
}

/* Fixed alignment for all menu items to match height */
.mm_menus_li.mm_sub_align_full,
.mm_menus_li.mm_menus_li_tab {


    &:hover {

    }

    .ets_mm_url {
        height: 100%;
        display: flex;
        align-items: start;
    }

    .mm_menu_content_title {
        height: 100%;
        display: flex;
        align-items: center;
    }

}

/* Fixed vertical alignment for all menu items */
.mm_menus_ul {
    /*height: 50px; !* Fixed height for the menu bar *!*/
    /*height: 46px;*/


    .mm_menus_li {
        display: flex;
        align-items: center;


    }
}


@media (min-width: 768px) {
    .elementor-19010000 .elementor-element.elementor-element-5e02f05 {
        width: 28.3%;
    }

    .elementor-19010000 .elementor-element.elementor-element-10330c62 {
        width: 60.325% !important;
    }

    .elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated {
        padding: 0 !important;
    }
}

/* Target ONLY laptop screens (1200px to 1512px) */
@media only screen and (min-width: 1200px) and (max-width: 1399px) {

    .ets_mm_megamenu_content {
        .mm_menus_ul {
            .mm_columns_ul {
                .mm_columns_contents_ul {
                    min-width: calc(1170px - 326px) !important;
                }
            }
        }
    }
}

/* ======================================= Mobile Menu Styles ======================================= */
@media (max-width: 991px) {
    /* Mobile container positioning and style */
    .elementor-nav__container,
    .elementor-nav--dropdown.elementor-nav__container {
        top: 0 !important;
        bottom: 0 !important;
        background-color: var(--th-white, #ffffff) !important;
        overflow-y: auto;
        z-index: 999;
        transition: right 0.3s ease;
        padding: 10px 0;
        position: fixed;
        width: 100%;
    }

    /* Base toggle button */
    .elementor-menu-toggle {
        display: flex;
        justify-content: center;
        background: var(--th-white);
        border: 1px solid var(--th-gold);
        border-radius: 4px;
        color: var(--th-purple) !important;
        cursor: pointer;
        align-items: start !important;
    }

    /* Icon inside toggle button */
    .elementor-menu-toggle .fa {
        display: inline-block;
    }

    /* IMPORTANT: Keeping the specific margin-top (150px) for tablet */
    #header .elementor-10010000 .elementor-element.elementor-element-72b30c7 .elementor-nav--main > .elementor-nav > li > .elementor-nav--dropdown,
    #header .elementor-10010000 .elementor-element.elementor-element-72b30c7 .elementor-nav__container.elementor-nav--dropdown,
    #header .elementor-10010000 .elementor-element.elementor-element-760a922 .elementor-nav--main > .elementor-nav > li > .elementor-nav--dropdown, 
    #header .elementor-10010000 .elementor-element.elementor-element-760a922 .elementor-nav__container.elementor-nav--dropdown{
        margin: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        top: 120px !important;
        max-height: calc(100vh - 120px) !important;
    }
    #header .elementor-10010000 .elementor-element.elementor-element-760a922 .elementor-nav__container.elementor-nav--dropdown  .menu-item-has-children { 
        .elementor-item-wrapper{
            display: flex;
            flex-direction: row;
            flex-wrap: nowrap;
            align-content: center;
            justify-content: flex-start;
            align-items: center;
            padding-right: 20px;

            .sub-arrow{
                color: #42376A;
                background: transparent;

                &.is-open{
                    transform: rotateX(180deg);
                }
            }
        }    
    }

    #header .elementor-10010000 .elementor-element.elementor-element-760a922 .elementor-nav--main > .elementor-nav > li > .elementor-nav--dropdown .menu-item-has-children, 
    #header .elementor-10010000 .elementor-element.elementor-element-760a922 .elementor-nav__container.elementor-nav--dropdown  .menu-item-has-children > .sub-menu,
    #header .elementor-10010000 .elementor-element.elementor-element-760a922 .elementor-nav--main > .elementor-nav > li > .elementor-nav--dropdown .menu-item-has-children, 
    #header .elementor-10010000 .elementor-element.elementor-element-760a922 .elementor-nav__container.elementor-nav--dropdown  .menu-item-has-children > .sub-menu{ 
        overflow-anchor: none; 
    }

    /* Main menu styles */
    .elementor-nav {
        display: block;
        width: 100%;
    }

    /* Added requested class for left alignment of center-aligned menus */
    .elementor-nav--text-align-center .elementor-nav--dropdown .elementor-nav a {
        justify-content: start;
    }

    /* Menu items - Adding Cinzel font, purple color and 400 weight */
    .elementor-nav > .menu-item,
    .elementor-nav--dropdown .menu-item {
        display: block;
        background: var(--th-white);
        font-family: Cinzel, sans-serif;
        color: var(--th-purple) !important;
        font-weight: 400;
        align-items: start !important;
    }

    /* All links - Setting the text style */
    .elementor-item,
    .elementor-sub-item {
        display: flex !important;
        justify-content: space-between;
        align-items: start !important;
        padding: 12px 15px !important;
        font-family: Cinzel, sans-serif;
        color: var(--th-purple) !important;
        font-weight: 400;
    }

    /* Active state for menu items */
    .elementor-item.elementor-item-active,
    .elementor-sub-item.elementor-item-active,
    .current-menu-item > .elementor-item,
    .current-menu-item > .elementor-sub-item,
    .current-menu-parent > .elementor-item,
    .current-menu-ancestor > .elementor-item {
        font-weight: 700 !important;
        background-color: var(--th-bg-gradient-yellow) !important;
    }

    /* Adding the requested hover/focus/active class */
    .elementor-nav--dropdown .menu-item [href]:hover,
    .elementor-nav--dropdown .menu-item [href]:focus,
    .elementor-nav--dropdown .menu-item .highlighted,
    .elementor-nav--dropdown .menu-item .elementor-item-active {
        background-color: var(--th-bg-gradient-yellow);
        font-family: Cinzel, sans-serif;
        color: var(--th-purple) !important;
    }

    /* Ensure active state overrides the hover state */
    .elementor-nav--dropdown .menu-item .elementor-item-active {
    }

    /* Parent menu items */
    .menu-item-has-children {
        position: relative;
    }

    /* Basic submenu container */
    .sub-menu {
        list-style: none;
    }

    /* Show submenu when expanded */
    .menu-item-has-children[aria-expanded="true"] > .sub-menu.elementor-nav--dropdown,
    .has-submenu[aria-expanded="true"] > .sub-menu.elementor-nav--dropdown {
        display: block !important;
    }

    /* Rotate arrow when expanded */
    .elementor-item[aria-expanded="true"] .sub-arrow,
    .elementor-sub-item[aria-expanded="true"] .sub-arrow {
        transform: rotate(-180deg);
        color: var(--th-purple) !important;
    }

    /* Second level menu items */
    .sub-menu > .menu-item > .elementor-sub-item {
        font-size: 14px;
        padding-left: 20px !important;
        font-family: Cinzel, sans-serif;
        color: var(--th-purple) !important;
        font-weight: 400;
    }

    /* Third level menu items */
    .sub-menu .sub-menu > .menu-item > .elementor-sub-item {
        font-size: 13px;
        padding-left: 30px !important;
        font-family: Cinzel, sans-serif;
        color: var(--th-purple) !important;
        font-weight: 400;
    }

    /* Mega menu reset for mobile */
    .custom-mega-menu {
        background: transparent !important;
        border: none !important;
    }

    /* Reset mega menu columns */
    .mm_columns_ul,
    .mm_columns_contents_ul {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }
}

@media (max-width: 767px) {
    /* Mobile container positioning and style */
    .elementor-nav__container,
    .elementor-nav--dropdown.elementor-nav__container {
        top: 0 !important;
        bottom: 0 !important;
        background-color: var(--th-white, #ffffff) !important;
        overflow-y: auto;
        z-index: 999;
        transition: right 0.3s ease;
        padding: 10px 0;
        position: fixed;
        width: 100%;
    }

    /* Base toggle button */
    .elementor-menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--th-light-yellow);
        border-radius: 4px;
        color: var(--th-purple);
        cursor: pointer;
    }

    /* Added requested class for left alignment of center-aligned menus */
    .elementor-nav--text-align-center .elementor-nav--dropdown .elementor-nav a {
        justify-content: start;
    }

    /* Screen reader text for toggle button */
    .elementor-screen-only {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    /* Icon inside toggle button */
    .elementor-menu-toggle .fa {
        display: inline-block;
    }

    /* IMPORTANT: Keeping the specific margin-top (95px) for mobile */
    #header .elementor-10010000 .elementor-element.elementor-element-72b30c7 .elementor-nav--main > .elementor-nav > li > .elementor-nav--dropdown,
    #header .elementor-10010000 .elementor-element.elementor-element-72b30c7 .elementor-nav__container.elementor-nav--dropdown,
    #header .elementor-10010000 .elementor-element.elementor-element-760a922 .elementor-nav--main > .elementor-nav > li > .elementor-nav--dropdown, 
    #header .elementor-10010000 .elementor-element.elementor-element-760a922 .elementor-nav__container.elementor-nav--dropdown{
        margin: 0 !important;
        padding: 0 !important;
        top: 104px !important;
        color: var(--th-purple) !important;
        max-height: calc(100vh - 104px) !important;
    }

    /* Main menu styles */
    .elementor-nav nav,
    .elementor-nav--dropdown nav {
        display: block;
        width: 100%;
        color: var(--th-purple) !important;
    }

    /* Menu items */
    .elementor-nav > .menu-item,
    .elementor-nav--dropdown > .menu-item {
        display: block;
        font-family: Cinzel, sans-serif;
        color: var(--th-purple) !important;
        font-weight: 400;
    }

    /* All links - Override gold color from previous rules */
    .elementor-item,
    .elementor-sub-item {
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        padding: 12px 15px !important;
        font-family: Cinzel, sans-serif;
        color: var(--th-purple) !important;
        font-weight: 400;
    }

    /* Adding the requested hover/focus/active class for mobile */
    .elementor-nav--dropdown .menu-item [href]:hover,
    .elementor-nav--dropdown .menu-item [href]:focus,
    .elementor-nav--dropdown .menu-item .highlighted,
    .elementor-nav--dropdown .menu-item .elementor-item-active {
        background-color: var(--th-bg-gradient-yellow) !important;
        font-family: Cinzel, sans-serif;
        color: var(--th-purple) !important;
    }

    /* Active state for mobile */
    .elementor-item.elementor-item-active,
    .elementor-sub-item.elementor-item-active,
    .current-menu-item > .elementor-item,
    .current-menu-item > .elementor-sub-item,
    .current-menu-parent > .elementor-item,
    .current-menu-ancestor > .elementor-item,
    .elementor-nav--dropdown .menu-item .elementor-item-active {
        font-weight: 700 !important;
        background: var(--the-gradient-yellow) !important;
    }

    /* Dropdown toggle arrows */
    .sub-arrow {
        padding: 5px 8px;
        /*border: 1px solid var(--th-gold2);*/
        /*border-radius: 4px;*/
        transition: transform 0.3s;
    }

    /* Show submenu when expanded */
    .menu-item-has-children[aria-expanded="true"] > .sub-menu.elementor-nav--dropdown,
    .has-submenu[aria-expanded="true"] > .sub-menu.elementor-nav--dropdown {
        display: block !important;
    }

    /* Rotate arrow when expanded */
    .elementor-item[aria-expanded="true"] .sub-arrow,
    .elementor-sub-item[aria-expanded="true"] .sub-arrow {
    }
}

/* Small mobile screens */
@media (max-width: 576px) {
    .elementor-nav__container,
    .elementor-nav--dropdown.elementor-nav__container {
        width: 100% !important;
        left: 0 !important;
    }
}

/*
======================================= Mega Menu End =======================================
*/

/* Main container styling */
.elementor-element.custom-header-redirect {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

/* Widget container */
.custom-header-redirect .elementor-widget-container {
    width: 100%;
}

/* List items container */
.custom-header-redirect .elementor-icon-list-items {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 0;
}

/* Individual list items with spacing */
.custom-header-redirect .elementor-icon-list-item {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
}

/* Add spacing between list items */
.custom-header-redirect .elementor-icon-list-item:not(:last-child) {
    margin-right: 32px;
}

/* Links styling */
.custom-header-redirect .elementor-icon-list-item a {
    display: flex;
    align-items: center;
    text-decoration: none;
    padding: 0 8px;
    transition: all 0.3s ease;
    color: var(--th-white);
}

/* SVG icons container with margin */
.custom-header-redirect .elementor-icon-list-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 5px;
}

/* SVG styling - target the path elements directly */
.custom-header-redirect .elementor-icon-list-icon svg {
    width: 20px;
    height: 20px;
    transition: all 0.3s ease;
}

/* Override the hardcoded fill in SVG paths */
.custom-header-redirect .elementor-icon-list-icon svg path {
    fill: var(--th-white) !important;
    transition: all 0.3s ease;
}

/* Hover effect for links and SVG paths */
.custom-header-redirect .elementor-icon-list-item a:hover {
    color: var(--th-gold2);
}

.custom-header-redirect .elementor-icon-list-item a:hover .elementor-icon-list-icon svg path {
    fill: var(--th-gold2) !important;
}

/* Make sure text color is not overridden by theme */
.elementor-widget-icon-list .elementor-icon-list-text {
    color: inherit !important;
}

/* Text styling with specific font requirements */
.custom-header-redirect .elementor-icon-list-text {
    font-family: 'Cinzel', serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 27px;
    letter-spacing: 0;
    vertical-align: middle;
    text-transform: uppercase;
    transition: all 0.3s ease;
    margin-bottom: -2px;
    white-space: nowrap;
}

/* Responsive adjustments */
@media (max-width: 767px) {
    .custom-header-redirect .elementor-icon-list-items {
        flex-wrap: wrap;
        justify-content: center;
        gap: 15px;
    }

    .custom-header-redirect .elementor-icon-list-item {
        margin-bottom: 10px;
    }

    .custom-header-redirect .elementor-icon-list-item:not(:last-child) {
        margin-right: 0;
    }
}

/*
============================= Versand =============================
 */
.custom-versand-subtitle {
    background: var(--th-bg-gradient-yellow);
    padding: 0 24px;
    border-radius: 8px;
    width: 100%;
    max-width: fit-content;
    margin-left: auto;
    margin-right: auto;
}


/*
================================================ Checkout START ================================================
*/
body#checkout section.checkout-step.-current {
    margin-bottom: 0 !important;
}

.custom-checkout {

    /* Individual checkout steps */

    .checkout-step {
        &.-current {
            .step-title {
                background: var(--th-bg-gradient-yellow) !important;
            }
        }

        &.js-current-step {
            .step-title {
                background: var(--th-bg-gradient-yellow) !important;
            }
        }

        &.-clickable {
        }

        .step-title {
            border: none !important;
            background: var(--th-light-purple);
            border-radius: 12px;
            padding: 9px 24px !important;
            font-family: Cinzel, sans-serif !important;
            font-weight: 700 !important;
            font-size: 20px !important;
            leading-trim: Cap height !important;
            line-height: 33.6px !important;
            vertical-align: middle !important;
            text-transform: uppercase !important;
            color: var(--th-purple, #42376A) !important;
            margin-bottom: 16px !important;

            .step-number {
                font-family: Cinzel;
                font-weight: 700;
                font-size: 20px;
                leading-trim: Cap height;
                line-height: 33.6px;
                vertical-align: middle;
                text-transform: uppercase;
                color: var(--th-purple, #42376A);
                vertical-align: bottom;
            }

            .step-edit {
                font-family: Poppins !important;
                color: var(--th-purple, #42376A) !important;
                font-weight: 400 !important;
                font-size: 14px !important;
                letter-spacing: 0 !important;
                margin-right: 0 !important;
            }

            .step-edit::before {
                content: "\f304";
                font-family: 'Font Awesome 6 Free' !important;
                font-weight: 900 !important;
                margin-right: 8px;
                font-size: 12px;
            }
        }

        /* Step content */

        .content {

            .payment-provider-info {
                padding: 0 10px;
                font-family: 'Poppins', sans-serif;
                font-size: 16px;
                color: var(--th-black, #0E0E0E);
                line-height: 1.4;

                a {
                    color: var(--th-purple1);
                    text-decoration: underline;
                }
            }
        }
    }

    /*first step*/

    #checkout-personal-information-step {
        /* Content area styling */

        .content {
            margin: 16px 0 !important;
            /* Identity paragraph styling */

            p.identity {
                color: var(--th-black, #0E0E0E);
                font-family: 'Poppins', sans-serif;
                font-weight: 400;
                font-size: 14px;
                line-height: 1.4;
                margin-bottom: 8px;
                padding: 8px 26px;
                margin: 0;
                min-height: 48px;
                display: flex;
                align-content: center;
                align-items: center;
                column-gap: 4px;

                /* Link styling */

                a {
                    color: var(--th-purple, #6655A1);
                    text-decoration: none;
                    font-weight: 400;
                    font-size: 14px;
                    line-height: 14.3px;
                    letter-spacing: 0;
                    text-align: center;
                    vertical-align: middle;

                    &:hover {
                        text-decoration: underline;
                    }
                }
            }

            /* Logout paragraph styling */

            p:not(.identity):not:has(#customer_privacy) {
                color: var(--th-black, #0E0E0E);
                font-family: 'Poppins', sans-serif;
                font-weight: 400;
                font-size: 14px;
                line-height: 1.4;
                margin-bottom: 8px;
                padding: 8px 26px !important;
                display: flex;
                flex-direction: row;
                align-content: center;
                align-items: center;
                column-gap: 16px;
                padding-left: 26px !important;
                padding-top: 0 !important;
                padding-bottom: 0 !important;
                margin: 0;

                a {
                    color: var(--th-white);
                    background: var(--th-purple1, #6655A1FF);
                    font-family: 'Poppins', sans-serif;
                    font-weight: 400 !important;
                    font-size: 14px;
                    line-height: 1.4;
                    border-radius: 41px;
                    padding: 8px 30px !important;
                    margin-left: 8px;

                    display: flex;
                    flex-direction: row;
                    flex-wrap: wrap;
                    align-content: center;
                    justify-content: center;
                    align-items: center;
                    min-height: 48px;

                    &:hover {


                    }
                }
            }
        }

        /* Add specific styling for when the step is complete */

        &.-complete:not(.-current) {
            margin-bottom: 16px;

            .content {
                display: none; /* Hide content when step is complete but not current */
            }
        }
    }

    /* Personal information section */
    /* Addresses section */
    /* =============== Checkout Address Step =============== */

    #checkout-addresses-step {
        /* Address Form */

        .js-address-form {
            padding: 0 10px;
            position: relative;

            /* Form notification paragraph */

            form > p:first-of-type {
                color: var(--th-purple, #42376AFF) !important;
                font-family: 'Poppins', sans-serif !important;
                font-weight: 400 !important;
                font-size: 14px !important;
                line-height: 100% !important;
                margin: 29.5px 0 29.5px 0 !important;
            }

            /* Different invoice address link */

            a[data-link-action="different-invoice-address"] {
                margin: 0 !important;
                color: var(--th-purple, #42376AFF) !important;
                font-family: 'Poppins', sans-serif !important;
                font-weight: 400 !important;
                font-size: 14px !important;
                line-height: 100% !important;
                text-decoration: none !important;
                padding: 0 !important;
                min-height: 48px;
                display: inline-block;
                align-content: center;
                margin-top: 16px !important;

                &:hover {
                    text-decoration: underline !important;
                }
            }

            /* Fix form structure and label wrapping */

            .form-group.row {
                /* Ensure proper label wrapping and positioning */

                .col-md-4 {
                    word-wrap: break-word !important;
                    word-break: normal !important;
                    hyphens: auto !important;
                    overflow-wrap: break-word !important;
                    padding-right: 10px !important;

                    /* Fix label text wrapping */

                    label {
                        white-space: normal !important;
                        line-height: 1.4 !important;
                        display: block !important;
                        margin-bottom: 5px !important;
                        max-width: 100% !important;
                    }
                }

                /* Input field container */

                .col-md-8 {
                    .relative {
                        /* Make all input containers fill width */

                        .relative,
                        .input-group-dis {
                            width: 100%;
                        }

                        /* Make all form controls fill width */

                        input,
                        select,
                        .form-control {
                            width: 100% !important;
                        }
                    }
                }

                /* Ensure select elements fill their container */

                .form-control-select-wrapper {
                    width: 100%;

                    .form-control-select {
                        width: 100% !important;
                    }
                }
            }

            /* Fix the checkbox functionality while still styling it */

            .form-group.row input[name="use_same_address"] {
                /* Hide visually but keep functionally present */
                opacity: 0;
                position: absolute;
                width: 20px;
                height: 20px;
                z-index: 1; /* Keep it above for accessibility */
                cursor: pointer;
                margin: 0;

                & + label {
                    position: relative;
                    padding-left: 32px; /* Space for custom checkbox */
                    color: var(--th-purple) !important;
                    font-family: 'Poppins', sans-serif !important;
                    font-weight: 400 !important;
                    font-size: 14px !important;
                    line-height: 20px !important;
                    cursor: pointer;
                    display: inline-block;
                    margin-left: 0;

                    &:before {
                        content: '';
                        position: absolute;
                        left: 0;
                        top: 0;
                        width: 20px;
                        height: 20px;
                        border: 2px solid var(--th-gold);
                        border-radius: 4px;
                        background: transparent;
                        box-sizing: border-box;
                        pointer-events: none; /* Ensure clicks pass through */
                    }
                }

                /* Checked state styling */

                &:checked + label:before {
                    background: var(--th-bg-border-gradient-yellow);
                    border: none;
                }

                /* Create checkmark for checked state */

                &:checked + label:after {
                    content: '\f00c'; /* Font Awesome checkmark */
                    font-family: 'Font Awesome 6 Free';
                    font-weight: 900;
                    position: absolute;
                    left: 4px;
                    top: 0px;
                    color: var(--th-white);
                    font-size: 14px;
                    pointer-events: none; /* Ensure clicks pass through */
                }
            }

            /* Improve clickability of the label */

            .form-group.row label {
                cursor: pointer;
                user-select: none; /* Prevent text selection */
            }
        }

        /* Address selector */

        .address-selector {
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            gap: 16px;
            margin-bottom: 16px;
        }

        /* Address item */

        .address-item {
            background: var(--th-light-yellow, #FFFBF0);
            border-radius: 12px;
            padding: 16px;
            transition: all 0.3s ease;
            /*width: 100%;*/
            /*min-width: 326px !important;*/
            position: relative;
            margin-right: 0;

            display: flex;
            flex-direction: column;

            width: calc((100% - (16px * 2)) / 3);

            /* Radio button container */

            > header {
                flex-grow: 1;
            }

            .radio-block {
                /* Styled radio button */

                .address-title {
                    display: flex;
                    flex-direction: row;
                    flex-wrap: wrap;
                    align-content: center;
                    align-items: center;
                    justify-content: flex-start;
                    column-gap: 10px;

                    .custom-radio {
                        display: inline-block;
                        position: relative;
                        width: 20px;
                        height: 20px;
                        vertical-align: top;
                        cursor: pointer;
                        border-radius: 50%;
                        border: 1px solid var(--th-purple1, #6655A1);
                        background: #fff;
                        margin-bottom: 0px !important;
                        margin-right: 0;

                        input[type="radio"] {
                            position: absolute;
                            opacity: 0;
                            cursor: pointer;

                            &:checked + span {
                                display: block;
                                background-color: var(--th-gold2, #D69A02);
                                width: 12px;
                                height: 12px;
                                border-radius: 50%;
                                position: absolute;
                                left: 50%;
                                top: 50%;
                                transform: translate(-50%, -50%);
                            }
                        }

                        span {
                            position: absolute;
                            top: 0;
                            left: 0;
                            height: 20px;
                            width: 20px;
                            border-radius: 50%;
                            border: none;
                            background-color: transparent;

                            &::after {
                                content: none;
                            }
                        }
                    }

                    /* Address alias inside radio-block */

                    .address-alias {
                        font-family: 'Poppins', sans-serif;
                        font-weight: 600;
                        font-size: 16px;
                        color: var(--th-black, #0E0E0E) !important;
                        margin: 0 0 8px 0;
                        padding-left: 0;
                        display: block;
                        width: calc(100% - 30px);
                        margin: 0;
                    }

                }

                /* Address content inside radio-block */

                .address {
                    color: var(--th-black, #0E0E0E);
                    font-family: 'Poppins', sans-serif;
                    font-weight: 400;
                    font-size: 14px;
                    line-height: 1.5;
                    display: block;
                    width: 100%;
                    padding: 16px 0 !important;

                    /* Add space between address lines */

                    br {
                        content: "";
                        display: block;
                        margin-top: 4px;
                    }
                }
            }

            /* Footer styling */

            .address-footer {
                border-top: 1px solid #EFCD7F !important;
                display: flex;
                gap: 16px;
                margin: 0;
                padding-top: 8px;

                .edit-address,
                .delete-address {
                    border-radius: 0;
                    padding: 0;
                    font-weight: 400;
                    font-size: 14px;
                    color: var(--th-purple, #42376A) !important;
                    background: transparent;
                    border: none;
                    display: inline-flex;
                    align-items: center;

                    &:hover {
                        color: var(--th-dark-purple);
                    }

                    svg {
                        display: none;
                    }

                    &::before {
                        font-family: 'Font Awesome 6 Free' !important;
                        color: var(--th-purple, #42376A);
                        speak: none;
                        padding: 0;
                        margin-right: 6px;
                        font-weight: 900;
                        font-style: normal;
                        text-transform: none;
                        -webkit-font-smoothing: antialiased;
                    }
                }

                .edit-address {
                    &::before {
                        content: "\f304";
                        color: var(--th-purple, #42376A);
                    }
                }

                .delete-address {
                    &::before {
                        content: "\f00d";
                        color: var(--th-purple, #42376A);
                        font-size: 16px;
                    }
                }
            }
        }

        /* Add address button - positioned next to address card */

        .add-address {
            width: calc((100% / 3) - (16px * 2) / 3);
            margin: 0;
            padding: 8px 16px;

            /* On smaller screens, position below */
            @media (max-width: 767px) {
                display: block;
                margin-left: 0;
                margin-top: 16px;
            }

            a {
                font-family: 'Poppins', sans-serif;
                font-weight: 500 !important;
                font-size: 14px !important;
                color: var(--th-purple) !important;
                display: inline-flex !important;
                align-items: center !important;
                white-space: nowrap;

                svg {
                    display: none;
                }

                &::before {
                    content: "\f067";
                    font-family: 'Font Awesome 6 Free' !important;
                    font-weight: 900 !important;
                    margin-right: 6px !important;
                    font-size: 15px !important;
                }
            }
        }

        /* Continue button container */

        .clearfix {
            clear: both;
            display: flex !important;
            flex-direction: row;
            flex-wrap: nowrap !important;
            justify-content: flex-start;
            gap: 16px;
            width: 100%;
            margin-bottom: 16px !important;
        }

        /* Continue button */

        .btn-primary.continue {
            background: var(--th-purple1);
            color: var(--th-white);
            border: none;
            border-radius: 41px;
            padding: 12px 40px;
            font-family: 'Poppins', sans-serif;
            font-weight: 500;
            font-size: 14px;
            transition: all 0.3s ease;
            margin: 0 !important;
            margin-bottom: 16px;
            margin-left: 0 !important;
            display: block !important;
        }

        /* Override pull-xs-right class on the button to position it on the left */

        .pull-xs-right {
            float: none !important;
        }
    }

    /* Additional fixes for label and input alignment */
    @media (min-width: 768px) {
        #checkout-addresses-step .js-address-form .form-group.row {
            /* Maintain proportional widths */

            /*.col-md-4 {*/
            /*    float: left !important;*/
            /*    width: 30% !important; !* Adjust width for better spacing *!*/
            /*}*/

            /*.col-md-8 {*/
            /*    float: left !important;*/
            /*    width: 70% !important; !* Adjust width for better spacing *!*/
            /*}*/
        }

        /* Ensure form fields and containers have proper width */
        #checkout-addresses-step .js-address-form .form-control,
        #checkout-addresses-step .js-address-form select,
        #checkout-addresses-step .js-address-form .form-control-select {
            width: 100% !important;
            max-width: none !important;
        }
    }

    /* Responsive fixes for mobile view */
    @media (max-width: 767px) {
        #checkout-addresses-step .js-address-form .form-group.row {
            margin-left: 0;
            margin-right: 0;

            /* For mobile, ensure labels are above inputs */

            .col-md-4 {
                width: 100%;
                margin-bottom: 8px;
            }

            .col-md-8 {
                width: 100%;
            }
        }
    }

    #checkout-delivery-step {
        padding-right: 0 !important;
        padding-left: 0 !important;

        .delivery-options-list {
            padding: 0;
            margin-top: 16px;
        }

        /* Delivery options container */

        .delivery-options {
            display: flex;
            flex-direction: column;
            gap: 16px;
            margin-bottom: 0;
        }

        /* Delivery option row */

        .delivery-option {
            background: transparent;
            border-radius: 8px;
            min-height: 48px !important;
            padding: 0 24px !important;
            margin: 0 !important;
            transition: all 0.3s ease;

            /* Ensure row stays as a single line with proper alignment */
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;

            /* Reset Bootstrap row properties */

            &.row {
                margin: 0 !important;
            }

            /* Default state - carrier name and price font-weight 400 */

            .carrier-name,
            .carrier-price {
                font-weight: 400 !important;
            }

            /* Carrier delay always stays at font-weight 400 */

            .carrier-delay {
                font-weight: 400 !important;
            }

            /* Selected delivery option */

            &:has(input[type="radio"]:checked) {
                background: var(--th-light-yellow, #FFFBF0);

                /* Font weight changes for selected option - only carrier name and price change to 600 */

                .carrier-name,
                .carrier-price {
                    font-weight: 600 !important;
                }

                /* Carrier delay remains at 400 even when selected */

                .carrier-delay {
                    font-weight: 400 !important;
                }
            }

            /* Radio button column */

            .col-sm-1 {
                display: flex;
                align-items: center;
                justify-content: center;
                padding: 0 !important;
                margin: 0 !important;
                width: auto !important;
                flex: 0 0 auto !important;
                max-width: none !important;
            }

            /* Custom radio button */

            .custom-radio {
                display: inline-flex;
                position: relative;
                width: 20px;
                height: 20px;
                vertical-align: middle;
                cursor: pointer;
                border-radius: 50%;
                border: 1px solid var(--th-purple1, #6655A1);
                background: #fff;
                margin: 0 !important;

                input[type="radio"] {
                    position: absolute;
                    opacity: 0;
                    cursor: pointer;

                    &:checked + span {
                        display: block;
                        background-color: var(--th-gold2, #D69A02);
                        width: 12px;
                        height: 12px;
                        border-radius: 50%;
                        position: absolute;
                        left: 50%;
                        top: 50%;
                        transform: translate(-50%, -50%);
                    }
                }

                span {
                    position: absolute;
                    top: 0;
                    left: 0;
                    height: 20px;
                    width: 20px;
                    border-radius: 50%;
                    border: none;
                    background-color: transparent;

                    &::after {
                        content: none;
                    }
                }
            }

            /* Content area to the right of radio button */

            label.delivery-option-2 {
                padding: 0 0 0 12px !important; /* Only add padding on the left */
                margin: 0 !important;
                cursor: pointer;
                flex: 1 !important;
                display: flex !important;
                align-items: center !important;
                height: 100% !important;

                &.col-sm-11 {
                    width: auto !important;
                    max-width: none !important;
                }
            }

            /* Carrier information */

            .carrier {
                display: flex !important;
                flex-wrap: nowrap !important;
                justify-content: space-between !important;
                align-items: center !important;

                width: 100% !important;
                height: 100% !important;
                padding: 0 !important;
                margin: 0 !important;
                column-gap: 10px;

                /* Reset row properties */

                &.row {
                    margin: 0 !important;
                }

                /* Make columns auto-width */

                .col-sm-5, .col-sm-4, .col-sm-3, .col-xs-12 {
                    width: auto !important;
                    flex: 0 0 auto !important;
                    padding: 0 !important;
                    margin: 0 !important;
                }

                /* Group name and delay together */

                .col-sm-5, .col-sm-4 {
                    display: inline-flex !important;
                    align-items: center !important;
                }

                /* Push price to the right */

                .col-sm-3 {
                    margin-left: auto !important;
                    text-align: right !important;
                }

                /* Reset internal row */

                .row {
                    display: flex !important;
                    margin: 0 !important;
                    padding: 0 !important;
                    width: auto !important;
                }

                /* Carrier name container */

                .carriere-name-container {
                    padding: 0 !important;
                    margin: 0 !important;
                    width: auto !important;
                }

                /* Carrier name */

                .carrier-name {
                    font-family: 'Poppins', sans-serif;
                    font-size: 16px;
                    color: var(--th-black, #0E0E0E);
                    padding: 0 !important;
                    margin: 0 !important;
                    /*margin-right: 10px !important; !* Gap between name and delay *!*/
                }

                /* Delivery time */

                .carrier-delay {
                    font-family: 'Poppins', sans-serif;
                    font-size: 14px;
                    color: var(--th-purple, #42376A);
                    font-weight: 400;
                    white-space: nowrap;
                    padding: 0 !important;
                    margin: 0 !important;
                }

                /* Price */

                .carrier-price {
                    font-family: 'Poppins', sans-serif;
                    font-size: 16px;
                    color: var(--th-black, #0E0E0E);
                    text-align: right;
                    white-space: nowrap;
                    padding: 0 !important;
                    margin: 0 !important;
                }
            }
        }

        /* Carrier extra content */

        .carrier-extra-content {
            padding: 0 24px !important;
            margin: 0 !important;
            display: flex;
            align-items: center;
            flex-direction: column;
            flex-wrap: wrap;
            gap: 1em;
            margin-bottom: 0.5em;

            .thshipping-carrier-extracontent {
                width: 100%;
                color: var(--th-purple, #42376AFF) !important;
                font-family: 'Poppins', sans-serif !important;
                font-weight: 400 !important;
                font-size: 14px !important;
                line-height: 100% !important;
            }

            .carrier-extra-row {
                font-family: 'Poppins', sans-serif;
                font-weight: 400;
                color: var(--th-black, #0E0E0E);
                font-size: 14px;
                line-break: normal;
                flex-direction: row;
                flex-wrap: wrap;

                .carrier-detail-name {
                    flex: 2;
                }

                .carrier-detail-delay {
                    flex: 2;
                }

                .carrier-detail-price {
                    flex: 1;
                    text-align: right;
                    font-weight: 500;
                    white-space: nowrap;
                }

            }
        }

        /* Delivery message section */

        #delivery {
            margin-top: 16px;
            margin-bottom: 0;
            padding-left: 24px;
            padding-right: 24px;

            label {
                margin-right: 0;
                margin-left: 0;
                font-family: 'Poppins', sans-serif;
                font-weight: 400;
                color: var(--th-black, #0E0E0E);
                font-size: 14px;
                display: block;
                margin-bottom: 16px;
            }

            textarea {
                width: 100%;
                margin-right: 0;
                margin-left: 0;
                border-radius: 12px;
                padding: 12px;
                font-family: 'Poppins', sans-serif;
                font-size: 14px;
                border: none !important;
                background-color: var(--th-light-purple);

                &:focus {
                    outline: none;
                    border-color: var(--th-purple1);
                }
            }
        }

        /* Form fields container */

        .form-fields {
            margin-bottom: 16px;
        }

        /* Continue button */

        .btn-primary.continue {
            background: var(--th-purple1);
            color: var(--th-white);
            border: none;
            border-radius: 41px;
            padding: 12px 40px;
            font-family: 'Poppins', sans-serif;
            font-weight: 500;
            font-size: 14px;
            text-transform: uppercase;
            transition: all 0.3s ease;
            margin: 0 !important;
            margin-left: 24px !important;
            margin-bottom: 16px !important;
            float: none !important;
            display: block !important;

            &:hover {
                background: var(--th-purple);
            }
        }

        /* Override pull-xs-right class on the button to position it on the left */

        .pull-xs-right {
            float: none !important;
        }
    }

    /* Payment section */

    #checkout-payment-step {
        padding-right: 0 !important;
        padding-left: 0 !important;

        /* Payment options container */

        .payment-options {
            display: flex;
            flex-direction: column;
            gap: 8px;
            margin-bottom: 8px;

            

            .additional-information{                
                .modal-body{

                    dl{

                        dd,
                        dt{
                            background: var(--th-light-yellow, #FFFBF0);
                        }
                    }
                }
            }
        }

        /* Payment option */

        .payment-option {
            background: transparent;
            border-radius: 12px;
            min-height: 48px !important; /* Fixed height */
            padding: 0 24px !important; /* Only horizontal padding */
            margin: 0 !important; /* Remove all margins */
            transition: all 0.3s ease;

            /* Ensure row stays as a single line with proper alignment */
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;

            /* Clear float */

            &.clearfix {
                display: flex !important;
            }

            /* Default state - font-weight 400 */

            span, label span {
                font-weight: 400 !important;
            }

            /* Selected payment option */

            &:has(input[type="radio"]:checked) {
                background: var(--th-light-yellow, #FFFBF0);

                /* Font weight changes for selected option - change to 600 */

                span, label span {
                    font-weight: 600 !important;
                }
            }

            /* Custom radio button - same as shipping section */

            .custom-radio {
                display: inline-flex;
                position: relative;
                width: 20px;
                height: 20px;
                vertical-align: middle;
                cursor: pointer;
                border-radius: 50%;
                border: 1px solid var(--th-purple1, #6655A1);
                background: #fff;
                margin: 0 !important;
                float: none !important;

                input[type="radio"] {
                    position: absolute;
                    opacity: 0;
                    cursor: pointer;
                    z-index: 999;
                    width: 20px;
                    height: 20px;
                    margin: 0;

                    &:checked + span {
                        display: block;
                        background-color: var(--th-gold2, #D69A02);
                        width: 12px;
                        height: 12px;
                        border-radius: 50%;
                        position: absolute;
                        left: 50%;
                        top: 50%;
                        transform: translate(-50%, -50%);
                    }
                }

                span {
                    position: absolute;
                    top: 0;
                    left: 0;
                    height: 20px;
                    width: 20px;
                    border-radius: 50%;
                    border: none;
                    background-color: transparent;

                    &::after {
                        content: none;
                    }
                }
            }

            /* Label styling */

            label {
                padding-left: 12px !important;
                cursor: pointer;
                display: flex !important;
                align-items: center !important;
                margin: 0 !important;

                span {
                    font-family: 'Poppins', sans-serif;
                    font-size: 16px;
                    color: var(--th-black, #0E0E0E);
                    margin-right: 10px !important;
                }

                img {
                    margin-left: auto;
                    height: 24px;
                    width: auto;
                }
            }
        }

        /* Additional information for payment options */

        .js-additional-information {
            border-radius: 0 0 12px 12px;
            padding: 0px 24px;
            margin-top: -8px;
            margin-bottom: 0;

            .modal.fade {
                opacity: 1;

                .modal-content {
                    padding: 0;

                    .modal-header {
                        display: none;
                    }
                }

            }

            section {
                font-family: 'Poppins', sans-serif;
                font-size: 14px;
                color: var(--th-purple);

                p {
                    margin-bottom: 8px;
                }

                dl {
                    margin-top: 8px;

                    dt {
                        font-weight: 500;
                        margin-bottom: 4px;
                    }

                    dd {
                        margin-bottom: 8px;
                    }
                }
            }
        }

        /* Credit card inputs (Mollie) */
        .mollie-credit-card-inputs {
            #expiry-date-creditcard{
                padding-top: 5px;

                .mollie-label.mollie-expiry-date-label{
                    margin-top: -5px;
                }
            }
            .form-group.form-group-save-card{
                .mollie-label{
                    margin-left: 10px;
                }
            }
        }

        .mollie-credit-card-inputs .test{
            padding: 16px 0;

            .mollie-information-label {
                font-family: 'Poppins', sans-serif;
                font-weight: 500;
                font-size: 16px;
                color: var(--th-purple);
                margin-bottom: 16px;
                display: block;
            }

            .form-group {
                margin-bottom: 16px;
            }

            .mollie-label {
                font-family: 'Poppins', sans-serif;
                font-weight: 400;
                font-size: 14px;
                color: var(--th-purple);
                margin-bottom: 8px;
                display: block;
            }

            .mollie-input {
                border-radius: 8px;
                border: none;
                padding: 12px;
                min-height: 48px;
            }

            .inline-form-group {
                display: flex;
                gap: 16px;

                .form-group {
                    flex: 1;
                }
            }

            #mollie-field-error {
                color: var(--th-red);
                font-family: 'Poppins', sans-serif;
                font-size: 14px;
                margin-top: 8px;
            }
        }

        /* Terms and conditions */

        #conditions-to-approve {
            margin: 24px 0;

            .dib {
                min-height: 31px;
                display: flex;
                align-items: center;
                align-content: center;

                .custom-checkbox {

                    input {
                        margin: 0;
                        width: 100%;
                        height: 100%;
                    }

                    span {
                        margin-top: -1px;
                        margin-right: 0;
                    }
                }

                .condition-label {
                    display: flex;
                    align-content: center;
                    align-items: center;
                }
            }

            ul {
                list-style: none;
                padding: 0;
                margin: 0;
            }

            li {
                display: flex;
                align-items: flex-start;
                display: flex;
                align-content: center;
                align-items: center;
            }

            /* Custom checkbox styling based on your example */

            .custom-checkbox {
                display: inline-flex;
                position: relative;
                margin-right: 10px;
                margin-left: 24px !important;

                /* Unchecked state */

                input[type="checkbox"] + span {
                    border: 2px solid var(--th-gold);
                    border-radius: 4px;
                    width: 20px;
                    height: 20px;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    background: transparent;
                }

                /* Checked state */

                input[type="checkbox"]:checked + span {
                    border: none;
                    background: var(--th-bg-border-gradient-yellow) !important;
                }

                /* SVG icon inside checkbox */

                input[type="checkbox"] + span svg {
                    display: none; /* Hide by default */
                    width: 16px;
                    height: 16px;
                    color: var(--th-white);
                }

                /* Show SVG when checked */

                input[type="checkbox"]:checked + span svg {
                    display: block; /* Show when checked */
                }
            }

            .condition-label {
                font-family: 'Poppins', sans-serif;
                font-size: 14px;
                line-height: 1.4;
                color: var(--th-purple);

                a {
                    color: var(--th-purple1);
                    text-decoration: underline;

                    &:hover {
                        color: var(--th-purple);
                    }
                }
            }
        }

        /* Payment confirmation */

        #payment-confirmation {
            margin-top: 24px;

            .btn-primary {
                width: fit-content;
                background: var(--th-purple1);
                color: var(--th-white);
                border: none;
                border-radius: 41px;
                padding: 12px 40px;
                font-family: 'Poppins', sans-serif;
                font-weight: 500;
                font-size: 14px;
                text-transform: uppercase;
                transition: all 0.3s ease;
                margin: 0 !important;
                margin-left: 24px !important;
                margin-bottom: 16px !important;
                display: block !important;
                float: left !important; /* Add this to ensure left alignment */

                &:hover {
                    background: var(--th-purple);
                }

                &.disabled {
                    opacity: 0.7;
                    cursor: not-allowed;
                }
            }
        }
    }


    .cart-total {

        .cart-detailed-totals-wrap {
            position: relative;
            background: linear-gradient(var(--th-light-yellow, #FFFBF0), var(--th-light-yellow, #FFFBF0)) padding-box,
            linear-gradient(to bottom, #EFCD7F, #AB812E) border-box;
            border: 4px solid transparent;
            border-radius: 12px;
            padding: 12px;
            padding-bottom: 12px;
            margin: 0 !important;
            padding-bottom: 0 !important;

            .card-separator .cart-summary-line {
                /*margin-bottom: 16px !important;*/

                .label {
                    color: var(--th-purple, #42376A);
                    font-family: 'Poppins', sans-serif;
                    font-weight: 400;
                    font-size: 14px;
                    line-height: 140%;
                    vertical-align: middle;
                    font-weight: 500;
                }

                /* Product amount value */

                .value {
                    color: var(--th-purple, #42376A);
                    font-family: 'Poppins', sans-serif;
                    font-weight: 400;
                    font-size: 14px;
                    line-height: 140%;
                    vertical-align: middle;
                    font-weight: 500;
                }
            }
        }

        .card-separator {
            border-bottom: 1px solid #D69A02 !important;
            margin: 0 !important;
            margin-bottom: 16px !important;
            padding: 0 !important;
        }

        .block-promo {

            .cart-voucher {


                .promo-name {
                    list-style: none;
                    padding-bottom: 0;
                    margin-bottom: 0;

                    .cart-summary-line {
                        display: flex;
                        flex-direction: row;
                        flex-wrap: nowrap;
                        align-content: flex-start;
                        align-items: flex-start;
                        justify-content: space-between;


                        .label {
                            position: relative;
                            line-height: 19px;
                            padding-right: 28px;
                            margin-right: 10px;
                            width:50%;
                            flex-grow: 1;
                            color: var(--th-purple, #42376A);
                            font-family: 'Poppins', sans-serif;
                            font-weight: 400;
                            font-size: 14px;
                            line-height: 140%;
                            vertical-align: middle;
                            font-weight: 500;
                        }

                        .pull-xs-right {
                            width: auto;
                            min-width: fit-content;
                            text-align: right;

                            color: var(--th-purple, #42376A);
                            font-family: 'Poppins', sans-serif;
                            font-weight: 400;
                            font-size: 14px;
                            line-height: 140%;
                            vertical-align: middle;
                            font-weight: 500;
                            margin-right: 8px;
                        }

                        a.dib {
                            height: 19.6px;
                            display: flex;
                            align-content: center;
                            align-items: center;

                            .svgic {
                                width: 16px;
                                height: 16px;
                                color: rgba(66, 55, 106, 0.5);
                            }

                            &:hover {
                                .svgic {
                                    color: var(--th-purple1);
                                }
                            }
                        }
                    }
                }

                .promo-code {
                    margin-bottom: 16px;

                    .flex-container {

                        .promo-input {
                            height: auto;

                            &::placeholder {
                                color: var(--th-purple);
                            }
                        }
                    }
                }
            }
        }

    }

    .cart-summary-products {
        margin: 0 !important;
        padding: 0 !important;
        color: var(--th-purple1);
        border: none;
        font-family: 'Poppins', sans-serif;
        font-weight: 500;
        font-size: 14px;
        text-transform: uppercase;
        transition: all 0.3s ease;
        display: block !important;

        #cart-summary-product-list {

            .media-list {
                background: #fff;
                border-radius: 16px;
                overflow: hidden;

                .indent {


                    .mini-product {
                        position: relative;
                        margin: 0;

                        &.th-unavailable {

                            .thumbnail-container {
                                opacity: 0.25;
                            }
                        }

                        .product-brand {
                            display: none !important;
                        }

                        .remove-product {

                            .svgic {
                                width: 10px;
                            }
                        }
                    }

                    .mini-product:last-of-type {
                        margin-bottom: 0;
                        border-bottom: unset;
                    }

                }
            }
        }
    }

    /* Cart summary totals */

    .cart-summary-totals {
        padding: 0;

        .cart-summary-line {


            &.shipping {

            }

            &.cart-total {

            }

            .label {
                color: var(--th-purple, #42376AFF);
                font-family: Poppins;
                font-weight: 700;
                font-size: 16px;
                line-height: 140%;
                letter-spacing: 0%;
                vertical-align: middle;
            }

            .value {
                color: var(--th-purple, #42376AFF);
                font-family: Poppins;
                font-weight: 700;
                font-size: 16px;
                line-height: 140%;
                letter-spacing: 0%;
                vertical-align: middle;

            }
        }
    }


}

/* Responsive design */
@media (max-width: 768px) {
    #content.checkout-steps {
        padding: 0 10px !important;
    }

    #checkout-addresses-step {
        .js-address-form {
            padding: 10px !important;
            position: relative;
            margin: 0 !important;

            /* Target form paragraphs */

            form > p:first-of-type {
            }

            /* Style the checkbox inside the .form-group.row */

            .form-group.row input[type="checkbox"] {
                position: relative;
                opacity: 0;
                width: 20px;
                height: 20px;
                margin-right: 10px;

                & + label {
                    position: relative;
                    padding-left: 30px;
                    cursor: pointer;
                    font-family: 'Poppins', sans-serif !important;
                    font-size: 14px !important;

                    &:before {
                        content: '';
                        position: absolute;
                        left: 0;
                        top: 0;
                        width: 20px;
                        height: 20px;
                        border: 2px solid var(--th-gold);
                        border-radius: 4px;
                        background: transparent;
                    }
                }

                &:checked + label:after {
                    content: '';
                    position: absolute;
                    left: 4px;
                    top: 4px;
                    width: 12px;
                    height: 12px;
                    border-radius: 2px;
                    background: var(--th-bg-border-gradient-yellow);
                    z-index: 1;
                }
            }

            /* Address form fields styling */

            .form-fields {
                margin-bottom: 15px !important;

                .form-group.row {
                    margin-bottom: 15px !important;

                    label.form-control-label {

                    }

                    .form-control, select.form-control-select {

                    }

                    .form-control-comment {

                    }
                }
            }

            /* Form footer styling */

            .form-footer {


                .btn {

                }

                .btn-primary {

                }

                .cancel-address {
                }
            }
        }

        /* Address selector */

        .address-selector {
        }

        .address-item {

        }
    }
}

/*
========================== CUSTOM CART ==========================
*/

/*
================================================ Cart Page START ================================================
*/
.custom-cart {

    #wrapper {
        padding: 24px 0;
    }

    /* Two-column layout similar to checkout */

    #main.container .cart-grid {
        display: flex;
        flex-wrap: wrap;
    }

    /* Page header */

    .page-header {

        h1.h1 {
            font-family: Cinzel, sans-serif !important;
            font-weight: 700 !important;
            font-size: 24px !important;
            line-height: 33.6px !important;
            color: var(--th-purple, #42376A) !important;
            text-transform: uppercase !important;
            margin: 0;
            padding: 0;
            margin-bottom: 30px !important;
            letter-spacing: -0.14px;
        }
    }

    /* Cart container */

    .card.cart-container {
        box-shadow: none;
        margin-bottom: 0;
        margin-right: 0 !important;

        .cart-message {
            margin-right: 0 !important;
            border-radius: 8px;
            background: var(--th-bg-gradient-yellow);
            padding: 24px;
            margin-bottom: 16px;

            .cart-message-title {
                display: block;
                color: var(--th-purple, #42376A);
                font-family: Cinzel;
                font-size: 24px;
                font-weight: 700;
                letter-spacing: -0.14px;
                margin: 0;
                padding-bottom: 8px;
                margin-bottom: 0px;
            }

            .cart-message-text {
                display: block;
                color: var(--th-purple, #42376A);
                font-family: Cinzel;
                font-size: 18px;
                font-weight: 700;
                letter-spacing: -0.14px;
                margin: 0;
                padding-bottom: 8px;
                margin-bottom: 0;
                line-height: normal;
            }
        }

        .cart-invoicer {
            padding: 24px;
            background: linear-gradient(#fff, #fff) padding-box, linear-gradient(to bottom, #EFCD7F, #AB812E) border-box;
            border: 4px solid transparent;
            border-radius: 12px;
            margin-bottom: 30px;


            .th-invoicer-name {
                color: var(--th-purple, #42376A);
                font-family: Cinzel;
                font-size: 20px;
                font-weight: 700;
                text-transform: uppercase;
                margin: 0;
                background: var(--th-bg-gradient-yellow);
                padding-left: 24px;
                padding-right: 24px;
                border-radius: 8px;
                min-height: 46px;
                align-content: center;
                justify-content: flex-start;
                align-items: center;
                margin-bottom: 16px;
                padding-top: 8px;
                padding-bottom: 8px;

                .th-invoicer-name-label {
                    text-decoration: underline;
                    margin-right: 4px;
                }
            }

            .th-problematic-invoicer-name {
                color: var(--th-purple, #42376A);
                font-family: Cinzel;
                font-size: 20px;
                font-weight: 700;
                letter-spacing: -0.14px;
                margin: 0;
                padding-bottom: 8px;
                padding-left: 16px;
                padding-right: 16px;
                margin-top: 24px;
                margin-bottom: 24px;

                .th-problematic-invoicer-name-label {
                    text-decoration: underline;
                    margin-right: 4px;
                }
            }

            .cart-minimum-order{
                background: rgba(238, 0, 0, 0.08);
                color: var(--th-red, #B00300);
                font-family: Cinzel;
                font-size: 20px;
                font-weight: 700;
                letter-spacing: -0.14px;
                border-radius: 6px;
                padding: 10px;
                margin-bottom: 16px;

                .cart-minimum-order-content {
                    margin-bottom: 8px;
                }
            }

            .cart-supplier,
            .th-problematic-supplier {
                border-radius: 8px;
                background: #FFFBF0;
                padding: 16px;
                margin-bottom: 24px;

                .th-supplier-name,
                .th-problematic-supplier-name {
                    color: var(--th-purple, #42376A);
                    font-family: Cinzel;
                    font-size: 20px;
                    font-weight: 700;
                    letter-spacing: -0.14px;
                    margin: 0;
                    padding-bottom: 8px;
                    margin-bottom: 16px;

                    .th-supplier-name-label {
                        text-decoration: underline;
                        margin-right: 4px;
                    }
                }

                .th-problematic-supplier-message{
                    background: rgba(238, 0, 0, 0.08);
                    color: var(--th-red, #B00300);
                    font-family: Cinzel;
                    font-size: 20px;
                    font-weight: 700;
                    letter-spacing: -0.14px;
                    border-radius: 6px;
                    padding: 10px;
                    margin-bottom: 16px;

                    p{
                        margin: 0;
                    }
                }

                .cart-items {

                    .cart-item {
                        padding-top: 16px !important;
                        padding-bottom: 16px !important;

                        .product-line-grid {
                            padding-left: 0;
                            padding-right: 0;
                            padding-top: 16px !important;
                            padding-bottom: 16px;
                        }
                    }
                }

                .cart-supplier-notes {
                    border-top: 1px solid var(--th-gold2);
                    color: var(--th-purple, #42376A);
                }

                .cart-supplier-totals {
                    color: var(--th-purple, #42376A);
                    font-size: 16px;
                    font-weight: 500;
                    line-height: 140%; /* 22.4px */
                    display: flex;
                    flex-direction: column;
                    row-gap: 8px;
                    border-top: 1px solid var(--th-gold2);
                    padding-top: 32px;
                    /* margin-top: 16px;         */

                    .cart-supplier-total {
                        display: flex;
                        flex-direction: row;
                        flex-wrap: nowrap;
                        align-content: center;
                        justify-content: space-between;
                        align-items: center;

                        .cart-supplier-total-value{
                            white-space: nowrap;
                        }
                    }
                }
            }

            .cart-invoicer-notes {
                border-radius: 8px;
                background: var(--th-light-purple, #F9F8FF);
                padding: 16px;
                margin-bottom: 24px;

                color: var(--th-purple, #42376A);
                font-size: 16px;
                font-weight: 500;
                line-height: 140%;
            }

            .cart-discount-code {
                border-radius: 8px;
                background: #FFFBF0;
                background: var(--th-light-purple, #F9F8FF);
                padding: 16px;
                margin-bottom: 24px;

                .cart-discount-code-title {
                    color: var(--th-purple);
                    font-weight: 600;
                    font-size: 18px;
                }

                .cart-discount-code-subtitle {
                    color: var(--th-purple, #42376A);
                    font-size: 16px;
                    line-height: 140%;
                }

                .cart-discount-code-list {
                    margin-bottom: 10px;
                    row-gap: 8px;

                    .cart-discount-code-item {
                        display: flex;
                        flex-direction: row;
                        flex-wrap: wrap;
                        align-content: center;
                        justify-content: space-between;
                        align-items: center;

                        &:first-child {
                            margin-top: 4px;
                        }

                        .cart-discount-code-item-label {
                            position: relative;
                            padding-right: 24px;
                            flex-grow: 1;
                            color: var(--th-purple, #42376A);
                            font-size: 16px;
                            font-weight: 500;
                            line-height: 140%;
                        }

                        .cart-discount-code-item-value {
                            color: var(--th-purple, #42376A);
                            font-size: 16px;
                            font-weight: 500;
                            line-height: 140%;
                            margin-right: 24px;
                        }


                        .cart-discount-code-item-remove {
                            padding: 0;
                            background: transparent;
                            height: 16px;
                            margin-top: -2px;

                            .svgic {
                                width: 16px;
                                height: 16px;
                                color: rgba(66, 55, 106, 0.5);
                            }

                            &:hover {
                                .svgic {
                                    color: var(--th-purple1);
                                }
                            }
                        }
                    }
                }


                .cart-discount-add {
                    flex-wrap: wrap;
                    display: flex;
                    flex-direction: row;
                    row-gap: 16px;

                    .cart-discount-code-input {
                        border-radius: 25px;
                        padding: 0 !important;
                        padding-left: 16px !important;
                        max-width: 230px !important;
                        color: var(--th-purple);
                        font-family: Poppins, sans-serif;
                        font-weight: 400;
                        font-size: 14px;
                        border: unset !important;
                        background-color: #fff;
                        flex-grow: 1;
                        outline: none;
                        margin-right: 8px !important;
                        transition: all 0.3s ease;
                        height: auto;
                        min-height: 48px;
                    }

                    .cart-discount-code-button {

                    }
                }
            }

            .cart-invoicer-totals {
                .cart-invoicer-total {
                    font-size: 14px;
                }
            }

            .cart-invoicer-totals {
                display: flex;
                flex-direction: column;
                row-gap: 8px;
                padding: 16px;
                background: linear-gradient(#FFFBF0, #FFFBF0) padding-box, linear-gradient(to bottom, #EFCD7F, #AB812E) border-box;
                background: var(--th-light-purple, #F9F8FF);
                border: 4px solid transparent;
                border-radius: 12px;
                margin-bottom: 30px;

                .cart-invoicer-total {
                    display: flex;
                    flex-direction: row;
                    align-content: center;
                    align-items: center;
                    justify-content: space-between;
                    color: var(--th-purple, #42376A);
                    font-size: 16px;
                    line-height: 140%;

                    &:last-of-type {
                        border-top: 1px solid var(--th-gold2);
                        padding-top: 16px;
                        margin-top: 8px;
                        font-weight: 700;
                    }
                }
            }

            .cart-invoicer-payment {
                margin-bottom: 6px;

                .cart-invoicer-payment-button {
                    width: 100%;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    align-content: center;
                    white-space: normal;
                }
            }
        }
    }


    /* Cart items list */

    .cart-overview {
        ul.cart-items {
            list-style: none;
            padding: 0;
            margin: 0;

        }

        .cart-item {
            /*margin: 0 !important;*/
            padding: 0 !important;
            /*margin-top: 14px !important;*/
            /*margin-bottom: 16px;*/
            border-color: var(--th-gold2);


            &:last-child {
                margin-bottom: 0;
                padding-bottom: 0;
            }
        }
    }

    /* Product grid layout */

    .product-line-grid {
        display: flex;
        flex-wrap: nowrap;
        align-items: flex-start;
        padding: 16px;
        padding-top: 32px !important;

        /* Product image */

        .product-line-grid-left {
            width: 195px;
            margin-right: 0;

            .product-image {
                display: block;
                margin-top: 0;
                margin-right: 16px;

                img {
                    max-width: 100%;
                    max-height: 100%;
                    object-fit: contain;
                }
            }
        }

        /* Product info */

        /*
* Stacked Price Elements CSS
* Makes all price elements stack vertically except for discount price and percentage
*/

        .product-line-grid-body {
            flex: 1;
            min-width: 0;

            /* Product info with title */

            h5 {
                color: var(--th-purple, #42376A);
                font-family: Cinzel, sans-serif;
                font-weight: 700;
                font-size: 14px;
                line-height: 20px;
                letter-spacing: -0.14px;
                vertical-align: middle;
                text-transform: uppercase;
                margin-bottom: 8px;
                margin-top: 8px;

            }

            .product-line-info {
                margin-bottom: 8px;
                display: block;
                width: 100%;


                &.prod-features span {
                    color: var(--th-dark-grey, #252525FF) !important;
                    font-family: Poppins, sans-serif !important;
                    font-weight: 400;
                    font-size: 16px;
                    line-height: 18px;
                    letter-spacing: -0.14px;
                    vertical-align: middle;
                    display: unset;
                }

                /* Title */

                .label {
                    color: var(--th-purple, #42376A);
                    font-family: Cinzel, sans-serif !important;
                    font-weight: 700;
                    line-height: 20px;
                    letter-spacing: 0.26px;
                    vertical-align: middle;
                    font-size: 16px;
                    display: block;
                    white-space: normal;
                    word-break: break-word;
                    text-align: left;
                    padding: 0;

                }


                /* Price container */

                &.product-price {
                    margin-top: 12px; /* Add more space before prices section */
                    display: flex;
                    flex-direction: column; /* Stack price elements vertically */
                    gap: 8px;

                    /* Remove flex container behavior but keep class for consistency */

                    &.flex-container {
                        display: flex;
                        flex-direction: column;
                    }

                    /* Discount section - this stays horizontal */

                    .product-discount {
                        display: flex;
                        align-items: center;
                        margin-bottom: 0;

                        .regular-price {
                            color: var(--th-red);
                            font-family: 'Poppins', sans-serif;
                            font-weight: 400;
                            font-size: 14px;
                            line-height: 18px;
                            letter-spacing: -0.14px;
                            vertical-align: middle;
                            text-decoration: line-through;
                            margin-right: 8px;
                        }

                        .discount-percentage {
                            background: var(--th-red);
                            color: var(--th-white);
                            font-family: 'Poppins', sans-serif;
                            font-weight: 700;
                            font-size: 12px;
                            margin: 0 !important;
                            padding: 2px 6px;
                            border-radius: 4px;
                            transform: none !important;
                        }
                    }

                    /* Current price section - make vertical */

                    .current-price {
                        display: flex;
                        flex-direction: column; /* Stack price and unit price */
                        align-items: flex-start; /* Align to left */
                        gap: 8px;

                        .price {
                            color: var(--th-gold2, #D69A02FF);
                            font-family: 'Poppins', sans-serif;
                            font-weight: 700;
                            font-size: 16px;
                            display: block; /* Force display as block */
                            width: 100%;
                        }

                        .unit-price-cart {
                            margin-left: 0;
                            color: var(--th-purple, #42376A);
                            font-family: 'Poppins', sans-serif;
                            font-weight: 400 !important;
                            font-size: 14px;
                            display: block; /* Force display as block */
                            width: 100%;
                        }
                    }
                }
            }

            .product-reference {
                color: var(--th-dark-grey, #252525);
                font-size: 14px;
                font-weight: 400;
                letter-spacing: -0.14px;
                line-height: 18px;
                display: flex;
                flex-direction: column;
                flex-wrap: wrap;
                align-content: flex-start;
                justify-content: center;
                align-items: flex-start;
                row-gap: 4px;
                width: fit-content;
                margin-bottom: 8px;
            }

            #product-availability {
                display: flex;
                flex-direction: row;
                flex-wrap: nowrap;
                align-content: flex-start;
                align-items: flex-start;
                padding: 10px;
                border-radius: 6px;

                &.available {
                    background: rgba(0, 150, 25, 0.08);

                    .product-availability-status {
                        .product-availability-status-icon i,
                        .product-availability-status-text {
                            color: var(--th-green, #00A680);
                        }
                    }
                }

                &.not_available {
                    background: rgba(238, 0, 0, 0.08);

                    .product-availability-status {
                        .product-availability-status-icon i,
                        .product-availability-status-text {
                            color: var(--th-red, #B00300);
                        }
                    }
                }

                .product-availability-status {
                    min-width: fit-content;
                    display: flex;
                    flex-wrap: nowrap;
                    align-content: center;
                    align-items: center;

                    .product-availability-status-icon {
                        display: flex;
                        margin-right: 8px;
                    }

                    .product-availability-status-text {
                        font-size: 16px;
                        font-weight: 500;
                        line-height: 20px;
                        white-space: nowrap;
                    }
                }

                & .product-availability-content {
                    color: var(--th-dark-grey, #252525);
                    font-size: 14px;
                    line-height: 20px;
                    display: flex;

                    .product-availability-content-icon {
                        margin-left: 8px;
                        margin-right: 8px;
                        display: flex;
                        align-items: center;
                        align-content: center;
                        max-height: 20px;
                        height: 20px;
                    }

                    i {
                        font-size: 4px;
                        vertical-align: middle;
                    }

                }

            }
        }

        /* Quantity and actions */

        .product-line-grid-right {
            display: flex;
            align-items: flex-start;
            justify-content: flex-end;
            align-self: flex-start;
            margin-top: 0;
            flex-wrap: nowrap;
            width: 236px;

            @media (min-width: 768px) {
                flex-wrap: nowrap;
            }

            /* Quantity input */
            /*
   * Quantity Input with FontAwesome Icons
   * This CSS replaces the material icons with FontAwesome icons
   */

            .qty {
                .input-group {
                    /*padding: 0 !important;*/
                    border: 1px solid var(--th-purple1);
                    padding: 6px 18px !important;
                    border-radius: 170px;
                    background: #fff;

                    input.form-control {
                        border: none !important;
                        font-family: Poppins, sans-serif;
                        color: var(--th-purple);
                        font-weight: 400 !important;
                        font-size: 14px;
                        text-align: unset;
                        background: none;
                        /*width: 44px;*/
                        margin: 0;
                        padding: 0;
                        font-size: 19px;
                        font-weight: 600;
                    }

                    /* Quantity buttons */

                    .input-group-btn-vertical {
                        background: var(--th-light-purple);
                        color: var(--th-purple1) !important;
                        font-weight: 900 !important;


                        /* Completely hide original icons */

                        .btn-touchspin i {
                            display: none !important;
                            font-size: 0 !important;
                            visibility: hidden !important;
                            opacity: 0 !important;
                            width: 0 !important;
                            height: 0 !important;

                        }

                        /* Target material icons class specifically */

                        .material-icons {
                            display: none !important;
                            font-size: 0 !important;
                            visibility: hidden !important;
                            opacity: 0 !important;
                            width: 0 !important;
                            height: 0 !important;
                        }

                        /* Common button styling */

                        .btn-touchspin {
                            border: none !important;
                            font-weight: 900 !important;
                            position: relative;
                            background: none !important;
                            padding-left: 8px;
                            padding-right: 7px;

                            &.bootstrap-touchspin-up {
                                border-bottom-left-radius: 0;
                                border-bottom-right-radius: 0;
                            }

                            &.bootstrap-touchspin-down {
                                border-top-left-radius: 0;
                                border-top-right-radius: 0;

                            }

                            &:focus {
                                border: none !important;
                            }

                            /* Add FontAwesome icons */

                            &:before {
                                font-family: 'ceicons';
                                font-weight: 900 !important;
                                color: var(--th-purple1) !important;
                                position: absolute;
                                top: 50%;
                                left: 50%;
                                transform: translate(-50%, -50%);
                                font-size: 14px;
                                content: ""; /* Default empty content */
                            }

                            &:hover {
                                scale: 1.2;
                            }
                        }

                        /* Up arrow icon */

                        .bootstrap-touchspin-up:before {
                            content: "\e8ae";
                        }

                        /* Down arrow icon */

                        .bootstrap-touchspin-down:before {
                            content: "\e8ad";
                        }
                    }
                }
            }

            /* Product price */

            .price {

                margin: 0;
                padding: 9px 0;

                .product-price strong {
                    color: var(--th-purple, #42376AFF) !important;
                    font-family: Poppins;
                    font-weight: 600;
                    font-size: 20px;
                    line-height: 18.01px;
                    letter-spacing: -0.14px;
                    vertical-align: middle;
                    margin-right: 24px;

                }
            }

            /* Delete button */

            .cart-line-product-actions {
                padding: 6px 0;

                .remove-from-cart {
                    color: rgba(66, 55, 106, 0.5);

                    &:hover {
                        color: var(--th-purple1);
                    }

                    svg {
                        width: 16px;
                        height: 16px;
                    }
                }
            }
        }
    }

    /* Info alerts */

    .alert-info {
        background: var(--th-light-purple, #F1EFF9);
        border: none;
        border-radius: 8px;
        color: var(--th-purple, #42376A);
        font-family: 'Poppins', sans-serif;
        font-size: 14px;
        padding: 12px 16px;
        margin-top: 16px;
        display: flex;
        align-items: center;

        svg {
            margin-right: 8px;
            flex-shrink: 0;
        }

        a {
            color: var(--th-purple1, #6655A1);
            text-decoration: underline;
            font-weight: 500;

            &:hover {
                color: var(--th-purple, #42376A);
            }
        }
    }

    /* Cart summary (right column) */

    .card.cart-summary {
        margin: 0;
        padding: 0;
        margin-top: 48px !important;

        /* Cart detailed totals */

        .cart-detailed-totals {
            position: relative;
            background: linear-gradient(var(--th-light-yellow, #FFFBF0), var(--th-light-yellow, #FFFBF0)) padding-box,
            linear-gradient(to bottom, #EFCD7F, #AB812E) border-box;
            border: 4px solid transparent;
            border-radius: 12px;
            padding: 12px;
            margin: 0 !important;

            .card-block {
                padding: 0;

                &.card-separator {
                    border-bottom: 1px solid var(--th-gold2, #D69A02);
                    margin-bottom: 16px;
                    padding-bottom: 16px;
                }
            }

            /* Subtotal lines */

            .cart-summary-line {
                justify-content: space-between;
                margin-bottom: 0 !important;

                .label {
                    color: var(--th-purple, #42376A);
                    font-family: 'Poppins', sans-serif;
                    font-weight: 400;
                    font-size: 14px;
                    padding: 0;
                }

                .value {
                    color: var(--th-purple, #42376A);
                    font-family: 'Poppins', sans-serif;
                    font-weight: 400;
                    font-size: 14px;
                }

                small {
                    display: block;
                    color: var(--th-purple, #42376A);
                    opacity: 0.7;
                    font-size: 12px;
                    margin-top: 2px;
                }
            }

            /* Shipping line (hidden) */

            .shipping.hidden {
                display: none;
            }

            /* Total line */

            .cart-summary-line.cart-total {
                margin-top: 16px;

                .label, .value {
                    font-family: 'Poppins', sans-serif;
                    font-weight: 700;
                    font-size: 16px;
                    color: var(--th-purple, #42376A);
                }
            }
        }

        /* Checkout button area */

        .checkout.cart-detailed-actions {
            padding: 0;
            margin-top: 24px;

            .text-xs-center {
                text-align: center;

                .button.btn-big {
                    background: var(--th-purple1, #6655A1);
                    color: white;
                    border: none;
                    border-radius: 41px;
                    font-family: 'Poppins', sans-serif;
                    font-weight: 400;
                    font-size: 14px;
                    text-transform: uppercase;
                    transition: all 0.3s ease;
                    display: inline-block;
                    text-decoration: none;
                    width: 100%;
                    position: relative;
                    overflow: hidden;
                }

                .button.btn-big::before {
                    content: "";
                    display: inline-flex;
                    align-items: center;
                    position: absolute;
                    top: 0;
                    left: 0;
                    right: 0;
                    bottom: 0;
                    background: linear-gradient(96deg, #6655A1 1.27%, #372B61 98.39%) !important;
                    opacity: 0;
                    transition: opacity 0.3s ease-in-out;
                    z-index: 1;
                    pointer-events: none;
                }

                .btn {
                    &::after {
                        content: '';
                        background: rgba(255, 255, 255, 0);
                        width: 0;
                        height: 100%;
                        position: absolute;
                        inset: 0;
                        transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
                        z-index: -1;
                    }
                }

                .button.btn-big::before {
                    z-index: -2;
                }

                .button.btn-big,
                .button.btn-big * {
                    position: relative;
                    z-index: 2 !important;
                }

                .button.btn-big:hover::before {
                    opacity: 1;
                }

                /* Apple Pay button container */

                #mollie-applepay-direct-button {
                    margin-top: 16px;
                }
            }
        }
    }

    /* Mobile responsive styles */
    @media (max-width: 767px) {
        #wrapper {
            padding: 16px 0;
            justify-content: space-between !important;
        }

        /* Restructure the cart grid for mobile */
        #main.container .cart-grid {
            flex-direction: column;
        }

        /* Cart container adjustments */
        .card.cart-container {
            margin-right: 0 !important;
            margin-bottom: 16px;
        }

        /* Page header adjustments */
        .page-header h1.h1 {
            font-size: 20px !important;
            line-height: 28px !important;
            margin-bottom: 12px !important;
        }

        /* Cart item positioning for delete button */
        .cart-overview .cart-item {
            position: relative; /* Create positioning context */
        }

        /* Product grid layout adjustments */
        .product-line-grid {
            flex-wrap: wrap;
            padding: 12px;
            padding-top: 20px !important;

            /* Product image */

            .product-line-grid-left {
                width: 100px;
                margin-right: 12px;

                .product-image {
                    margin-right: 0;
                }
            }

            /* Product info */

            .product-line-grid-body {
                flex: 1;
                min-width: 0;

                h5 {
                    font-size: 12px;
                    line-height: 16px;
                    margin-top: 0 !important;
                }

                .product-line-info {
                    margin-bottom: 4px;

                    &.prod-features span {
                        font-size: 14px;
                        line-height: 16px;
                    }

                    .label {
                        font-size: 14px;
                        line-height: 18px;
                    }

                    /* Price container */

                    &.product-price {
                        margin-top: 8px;
                        gap: 4px;

                        .product-discount {
                            .regular-price {
                                font-size: 12px;
                                line-height: 16px;
                            }

                            .discount-percentage {
                                font-size: 10px;
                            }
                        }

                        .current-price {
                            gap: 4px;

                            .price {
                                font-size: 14px;
                            }

                            .unit-price-cart {
                                font-size: 12px;
                            }
                        }
                    }
                }
            }

            /* Quantity and actions */

            .product-line-grid-right {
                width: 100%;
                flex-wrap: wrap;
                justify-content: space-between !important;
                flex-direction: inherit;
                margin-top: 0 !important;

                /* Quantity input */

                .qty {
                    .input-group {
                        padding: 4px 12px !important;

                        input.form-control {
                            font-size: 16px;
                            font-weight: 600 !important;
                        }

                        /* Quantity buttons */

                        .input-group-btn-vertical {
                            .btn-touchspin::before {
                                font-size: 12px;
                            }
                        }
                    }
                }

                /* Product price */

                .price {
                    padding: 6px 0;

                    .product-price strong {
                        font-size: 14px;
                        line-height: 16px;
                        margin-right: 12px;
                    }
                }

                /* Delete button - positioned absolutely */

                .cart-line-product-actions {
                    position: absolute;
                    top: 10px;
                    right: 10px;
                    padding: 0;
                    margin: 0;
                    z-index: 5;

                    .remove-from-cart svg {
                        width: 14px;
                        height: 14px;
                    }
                }
            }
        }

        /* Info alerts */
        .alert-info {
            padding: 10px 12px;
            font-size: 12px;
            margin-top: 12px;

            svg {
                margin-right: 6px;
            }
        }

        /* Cart summary (right column) */
        .card.cart-summary {
            margin-top: 24px !important;

            .cart-detailed-totals {
                padding: 12px;

                .card-block.card-separator {
                    margin-bottom: 12px;
                    padding-bottom: 12px;
                }


                .cart-summary-line {
                    .label, .value {
                        font-size: 12px;
                    }

                    small {
                        font-size: 10px;
                    }
                }

                /* Total line */

                .cart-summary-line.cart-total {
                    margin-top: 12px;

                    .label, .value {
                        font-size: 14px;
                    }
                }
            }

            /* Checkout button area */

            .checkout.cart-detailed-actions {
                margin-top: 20px;

                .text-xs-center .button.btn-big {
                    font-size: 12px;
                    padding: 10px 16px;
                }
            }
        }
    }

    /* Extra small devices styles */
    @media (max-width: 575px) {
        .product-line-grid {
            /* Even more compact layout */
            padding: 10px;

            .product-line-grid-left {
                width: 80px;
            }

            /* Stack price and actions on tiny screens */

            .product-line-grid-right {
                justify-content: flex-start;

                .qty, .price {
                    margin-right: 12px;
                }

                /* Adjust position for extra small screens */

                .cart-line-product-actions {
                    top: 8px;
                    right: 8px;
                }
            }
        }
    }
}

.definition-list dl dd, 
.definition-list dl dt,
.definition-list dl dd:nth-of-type(even), 
.definition-list dl dt:nth-of-type(even){
    background: var(--th-light-yellow, #FFFBF0);
}
/* Promo code form styling */
.promo-code-form {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    margin-top: 20px !important;
    justify-content: space-between;
}

/* Promo input field styling */
.promo-input.flex-grow1 {
    border-radius: 25px;
    padding: 0 !important;
    padding-left: 16px !important;
    max-width: 230px !important;
    color: var(--th-purple);
    font-family: Poppins, sans-serif;
    font-weight: 400;
    font-size: 14px;
    border: unset !important;
    background-color: #fff;
    flex-grow: 1;
    outline: none;
    margin-right: 8px !important;
    transition: all 0.3s ease;
}

.promo-input.flex-grow1:focus {
    border-color: var(--th-gold);

}

.promo-input.flex-grow1::placeholder {
    color: rgba(66, 55, 106, 0.5);
}

/* Promo submit button styling to match your site's button style */
.promo-code-form .btn-primary {
    background: var(--th-purple1, #6655A1);
    color: white;
    border: none;
    border-radius: 41px;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 14px;
    text-transform: uppercase;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px !important;
    min-width: 50px !important;
    position: relative;
    overflow: hidden;
}

.promo-code-form .btn-primary::before {
    content: "";
    display: inline-flex;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(96deg, #6655A1 1.27%, #372B61 98.39%) !important;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    z-index: 1;
    pointer-events: none;
}

.promo-code-form .btn-primary:hover::before {
    opacity: 1;
}

.promo-code-form .btn-primary span {
    position: relative;
    z-index: 2;
}

/* Responsive styles */
@media (max-width: 991px) {
    .promo-code-form {
        flex-direction: row;
        flex-wrap: wrap;
        margin-top: 8px !important;
    }

    .promo-input.flex-grow1 {
        max-width: 173px !important;
        width: calc(100% - 130px);
    }
}

@media (max-width: 767px) {
    .promo-code-form {
        flex-direction: column;
        align-items: stretch;
    }

    .promo-input.flex-grow1 {
        max-width: 173px !important;
        width: 100%;
        margin-bottom: 10px;
    }

    .promo-code-form .btn-primary {
        width: 100%;
    }
}

/*
========================== CARTD END
*/

/*
================================================ Order Confirmation START ================================================
*/
/* Target all sections related to order confirmation */
#content-hook_order_confirmation.custom-order-confirmation,
#content-hook_order_confirmation.custom-order-confirmation ~ #content.page-order-confirmation,
#content-hook_order_confirmation.custom-order-confirmation ~ #content-hook_payment_return,
#content-hook_order_confirmation.custom-order-confirmation ~ #content-hook-order-confirmation-footer,
#content-hook_order_confirmation.custom-order-confirmation ~ .page-footer {
    /* Common styles for all order confirmation sections */
}

/* Success message styling */
#content-hook_order_confirmation.custom-order-confirmation {
    border: none;
    box-shadow: none;
    margin-bottom: 24px;

    .elementor-alert.elementor-alert-success {
        background-color: var(--th-light-green, rgba(0, 166, 128, 0.08));
        border: none;
        border-radius: 12px;
        padding: 24px;
        text-align: center;

        /* Success title */

        h3.h1.card-title {
            color: var(--th-green, #00A680);
            font-family: 'Cinzel', serif;
            font-weight: 700;
            font-size: 24px;
            margin-bottom: 16px;
            text-transform: uppercase;
            line-height: 1.4;
        }

        /* Confirmation message */

        p {
            color: var(--th-dark-grey, #252525);
            font-family: 'Poppins', sans-serif;
            font-size: 14px;
            margin-bottom: 0;

            a {
                color: var(--th-purple1, #6655A1);
                text-decoration: underline;
                font-weight: 500;

                &:hover {
                    color: var(--th-purple, #42376A);
                }
            }
        }
    }
}

body.page-order-confirmation {


    .th-shipping-order-confirmation {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        align-content: center;
        align-items: flex-start;
        justify-content: center;

        padding: 32px 16px;
        margin-bottom: 35px;

        /*background: linear-gradient(var(--th-light-yellow, #FFFBF0), var(--th-light-yellow, #FFFBF0)) padding-box, linear-gradient(to bottom, #EFCD7F, #AB812E) border-box;*/
        /*border: 4px solid transparent;*/
        /*border-radius: 12px;*/

        background-color: #f2dede;
        border-color: #ebcccc;
        color: #a94442;

        p{
            /*color: var(--th-purple, #42376A);*/
            color: #a94442;
            font-family: Cinzel, sans-serif !important;
            font-weight: 700 !important;
            font-size: 20px !important;
            line-height: 33.6px !important;
            padding: 0 !important;
            border-radius: 8px;
            margin-bottom: 0;
            margin-top: 0;
            text-align: left;
        }

        a {
            margin: 0 auto;
            margin-top: 16px;
            white-space: normal;
        }
    }
}
    /* Main content styling */
#content-hook_order_confirmation.custom-order-confirmation ~ #content.page-order-confirmation {
    border: none;
    box-shadow: none;
    padding: 0;

    /* Two column layout */

    .row {
        display: flex;
        flex-wrap: wrap;
    }

    /* Order items styling */

    #order-items {
        padding: 0 12px;
        border-color: var(--th-gold2);
        margin-bottom: 0;

        /* Section title */

        .card-title.h3 {
            color: var(--th-purple, #42376A);
            font-family: Cinzel, sans-serif !important;
            font-weight: 700 !important;
            font-size: 20px !important;
            line-height: 33.6px !important;
            text-transform: uppercase !important;
            padding: 9px 24px !important;
            border-radius: 8px;
            background: var(--th-bg-gradient-yellow);
            margin-bottom: 15px;
        }

        /* Order items table */

        .order-confirmation-table {
            /* Table headers */

            .order-line.order-titles {
                margin-bottom: 0;
                vertical-align: middle;
                justify-content: center;
                padding: 0 16px 8px;

                strong {
                    color: var(--th-purple, #42376A);
                    font-family: 'Poppins', sans-serif;
                    font-weight: 600;
                    font-size: 14px;
                }

                /* No bottom border on headers */
                border-bottom: none;
            }

            /* Order lines - products */

            .order-line.row {
                display: flex;
                flex-wrap: nowrap;
                align-items: flex-start;
                padding: 15px 16px;
                margin: 0;

                /* Apply border only from second child onwards */

                &:not(:first-of-type) {
                    border-top: 1px solid var(--th-gold2);
                }

                /* Product image */

                .col-sm-2.col-xs-3 {
                    flex: 0 0 auto;
                    width: auto !important;

                    .image {
                        display: block;
                        width: 100px !important;
                        min-width: 100px !important;
                        height: auto !important;
                        margin-top: 0;
                        margin-right: 16px;

                        img {
                            border: none;
                            max-width: 100%;
                            max-height: 100%;
                            object-fit: contain;
                        }
                    }
                }

                /* Product details */

                .col-sm-4.col-xs-9.details {
                    flex: 1;
                    min-width: 0;
                    width: auto;

                    span {
                        color: var(--th-purple, #42376A);
                        font-family: Cinzel, sans-serif !important;
                        font-weight: 700;
                        line-height: 20px;
                        letter-spacing: 0.26px;
                        vertical-align: middle;
                        font-size: 16px;
                        display: block;
                        white-space: normal;
                        word-break: break-word;
                        text-align: left;
                        padding: 0;
                        margin-bottom: 8px;
                    }

                    /* Seller information */

                    .shop_seller_link {
                        margin-top: 12px;

                        .shop_seller_infor {
                            color: var(--th-dark-grey, #252525) !important;
                            font-family: 'Poppins', sans-serif;
                            font-weight: 400;
                            font-size: 14px;
                            opacity: 0.7;

                            a {
                                color: var(--th-purple1, #6655A1);
                                text-decoration: none;

                                &:hover {
                                    text-decoration: underline;
                                    color: var(--th-purple, #42376A);
                                }
                            }
                        }
                    }
                }

                /* Price, quantity, total */

                .col-sm-6.col-xs-12.qty {
                    display: flex;
                    align-items: flex-start;
                    justify-content: flex-end;
                    align-self: flex-start;
                    margin-top: 0;
                    flex: 0 0 auto;
                    /* width: auto; */
                    width: 30%;

                    .row {
                        margin: 0;
                        width: 100%;

                        div {
                            padding: 0;
                            margin: 0 4px;

                            &.col-xs-5.text-sm-right.text-xs-left {
                                color: var(--th-purple, #42376A);
                                font-family: Poppins;
                                font-weight: 400;
                                font-size: 16px;
                                letter-spacing: -0.14px;
                                vertical-align: middle;
                            }

                            &.col-xs-2 {
                                color: var(--th-purple, #42376A);
                                font-family: 'Poppins', sans-serif;
                                font-weight: 400;
                                font-size: 16px;
                                text-align: center;
                                min-width: 24px;
                            }

                            &.col-xs-5.text-xs-right.bold {
                                color: var(--th-gold2, #D69A02FF);
                                font-family: 'Poppins', sans-serif;
                                font-weight: 700;
                                font-size: 16px;
                                text-align: right;
                            }
                        }
                    }
                }

                &:last-child {
                    margin-bottom: 0;
                    padding-bottom: 16px;
                }
            }

            .order-line {
                align-content: center !important;
                align-items: center !important;

                > .col-sm-2 {

                    .image {

                        img {
                            margin-bottom: 0;
                        }
                    }
                }

                > .details {
                    margin-bottom: 0;

                    .shop_seller_link {
                        display: none;
                    }
                }

                > .qty {
                    width: 32% !important;
                    min-width: 280px;
                    margin-bottom: 0;
                    align-self: unset !important;

                    > .row {

                        .col-xs-5 {
                            width: 36%;
                            margin: 0 !important;
                            text-align: center !important;
                        }

                        .col-xs-2 {
                            width: 28%;
                            margin: 0 !important;
                            text-align: center !important;
                        }

                    }
                }

                &.order-titles {

                    > .col-sm-2 {

                    }

                    > .details {

                    }

                    > .qty {
                        margin-bottom: 16px;

                        > .row {

                            .col-xs-5 {

                            }

                            .col-xs-2 {

                            }

                        }
                    }
                }
            }

            /* Separator line */

            hr {
                border: none;
                border-bottom: 1px solid var(--th-gold2, #D69A02) !important;
                margin: 0 0 15px 0;
            }

            /* Order totals table */

            table {
                position: relative;
                width: 100%;
                margin: 0 !important;
                margin-top: 24px !important;
                background: linear-gradient(var(--th-light-yellow, #FFFBF0), var(--th-light-yellow, #FFFBF0)) padding-box,
                linear-gradient(to bottom, #EFCD7F, #AB812E) border-box;
                border: 4px solid transparent;
                border-radius: 12px;
                padding: 16px;

                tr {
                    td {
                        margin: 0;
                        padding: 4px 0;
                        color: var(--th-purple, #42376A);
                        font-family: 'Poppins', sans-serif;
                        font-weight: 400;
                        font-size: 14px;

                        &.text-right {
                            text-align: right;
                        }
                    }

                    /* Total row styling */

                    &.total-value.font-weight-bold {
                        td {
                            padding-top: 16px;
                            font-family: 'Poppins', sans-serif;
                            font-weight: 700;
                            font-size: 16px;
                            color: var(--th-purple, #42376A);

                            .text-uppercase {
                                text-transform: uppercase;
                            }

                            &.text-right {
                                color: var(--th-purple);
                            }
                        }
                    }
                }
            }
        }
    }

    /* Order details styling */

    #order-details {
        .order-details-wrapper {
            position: relative;
            background: linear-gradient(var(--th-light-yellow, #FFFBF0), var(--th-light-yellow, #FFFBF0)) padding-box,
            linear-gradient(to bottom, #EFCD7F, #AB812E) border-box;
            border: 4px solid transparent;
            border-radius: 12px;
            padding: 16px;
            margin: 0 !important;
            margin-top: 24px !important;

            .order-details-space {
                /* Section title */

                h3.h3.card-title {
                    color: var(--th-purple, #42376A);
                    font-family: 'Cinzel', serif;
                    font-weight: 700;
                    font-size: 18px;
                    text-transform: uppercase;
                    margin-top: 0;
                    margin-bottom: 16px;
                }

                /* Details list */

                ul {
                    list-style: none;
                    padding: 0;
                    margin: 0;

                    li {
                        color: var(--th-purple, #42376A);
                        font-family: 'Poppins', sans-serif;
                        font-size: 14px;
                        padding: 8px 0;
                        border-bottom: 1px solid rgba(214, 154, 2, 0.3);

                        &:last-child {
                            border-bottom: none;
                        }
                    }
                }
            }
        }
    }
}

/* Payment return section styling */
#content-hook_order_confirmation.custom-order-confirmation ~ #content-hook_payment_return {
    padding: 0;
    margin: 15px 0;

    color: var(--th-purple, #42376A);
    font-family: 'Poppins', sans-serif;

    .price {
        color: var(--th-purple, #42376A);
        font-family: 'Poppins', sans-serif;
        font-size: 16px;
    }

    p {
        color: var(--th-purple, #42376A);
        font-family: 'Poppins', sans-serif;
        font-size: 14px;
        line-height: 1.5;
        margin-bottom: 16px;

        strong {
            font-weight: 600;
            color: var(--th-purple, #42376A);
        }

        a {
            color: var(--th-purple1, #6655A1);
            text-decoration: none;

            &:hover {
                text-decoration: underline;
            }
        }
    }

    /* Payment details list */

    ul, dl {
        position: relative;
        background: linear-gradient(var(--th-light-yellow, #FFFBF0), var(--th-light-yellow, #FFFBF0)) padding-box,
        linear-gradient(to bottom, #EFCD7F, #AB812E) border-box;
        border: 4px solid transparent;
        border-radius: 12px;
        padding: 16px;
        margin: 0 !important;
        font-size: 16px;

    }

}

#registration-form .th-confirmation-newaccaunt label p{
    margin-top: 5px;
    margin-bottom: 0;
}
#registration-form .th-confirmation-newaccaunt label span,
#registration-form .th-confirmation-newaccaunt label p span {
    color:var(--th-purple, #42376A) !important;
}

body#order-confirmation #registration-form {
    width: 100%;
    color: var(--th-purple, #42376A);
    font-family: 'Poppins', sans-serif;

    .card-block {
        padding: 0;

        h4 {
            margin-bottom: 16px;
        }

        ul {
            font-size: 14px;
            list-style: none;
            margin-bottom: 16px;
        }

        form {

            .form-group {

                .form-control-label {
                    color: var(--th-purple, #42376A);
                    font-family: 'Poppins', sans-serif;
                    font-size: 16px;
                    font-weight: 500;
                    margin-bottom: 8px;
                    display: flex;
                    padding-top: 0;
                }

                .form-control {
                    color: var(--th-purple1);
                    font-family: Poppins;
                    font-size: 14px;
                    font-weight: 400;
                    line-height: 100%;
                    background-color: var(--th-light-purple);
                    border: none;
                    height: 48px;
                    border-radius: 25px;
                    padding: 0px 30px 0px 30px;
                    max-width: 470px;
                }

                .form-footer {

                    .btn.btn-primary {

                    }
                }
            }
        }
    }

}

/* Footer hooks */
#content-hook_order_confirmation.custom-order-confirmation ~ #content-hook-order-confirmation-footer {
    margin-top: 40px;
}

/* Page footer */
#content-hook_order_confirmation.custom-order-confirmation ~ .page-footer {
    margin-top: 40px;
    text-align: center;
    padding: 16px 0;
}

/* Responsive styles */
@media (max-width: 767px) {
    #content-hook_order_confirmation.custom-order-confirmation ~ #content.page-order-confirmation .row {
        #order-items, #order-details {
            flex: 0 0 100%;
            padding: 0;
        }

        #order-details {
            margin-top: 24px !important;

            .order-details-wrapper {
                margin-top: 0 !important;
            }
        }
    }

    #content-hook_order_confirmation.custom-order-confirmation ~ #content.page-order-confirmation {
        .order-line.row {
            flex-wrap: wrap;
            padding: 15px 10px;

            .col-sm-2.col-xs-3 {
                width: auto !important;
                flex: 0 0 auto;

                .image {
                    width: 70px !important;
                    min-width: 70px !important;
                    margin-right: 10px;

                    img {
                        width: 100%;
                        min-width: 0;
                        height: auto !important;
                    }
                }
            }

            .col-sm-4.col-xs-9.details {
                flex: unset;
                width: calc(100% - 80px);

                span {
                    font-size: 14px;
                    line-height: 18px;
                }
            }

            .col-sm-6.col-xs-12.qty {
                flex: unset;
                width: 100%;
                margin-top: 15px;
                padding-left: 0;
                justify-content: flex-start;

                .row {
                    flex-wrap: wrap;

                    div {
                        text-align: left !important;
                        margin-right: 10px;

                        &.col-xs-5.text-sm-right.text-xs-left,
                        &.col-xs-5.text-xs-right.bold {
                            font-size: 14px;
                        }
                    }
                }
            }
        }
    }

    #content-hook_order_confirmation.custom-order-confirmation ~ #content-hook_payment_return {
        dl {
            dt, dd {
                float: none;
                width: 100%;
                margin-left: 0;
                padding-left: 0;
            }

            dd {
                margin-bottom: 8px;
            }
        }

        ul li {
            flex-direction: column;
            align-items: flex-start;

            .price {
                margin-top: 4px;
            }
        }
    }
}

@media (max-width: 575px) {
    #content-hook_order_confirmation.custom-order-confirmation ~ #content.page-order-confirmation {
        .order-line.row {
            .col-sm-2.col-xs-3 {
                width: auto !important;

                .image {
                    width: 60px !important;
                    min-width: 60px !important;
                }
            }

            .col-sm-4.col-xs-9.details {
                width: calc(100% - 70px);
            }
        }
    }
}


/* Base styling for all fixed buttons */
.pk-fixed-button {
    background-color: var(--th-purple1);
    color: var(--th-white) !important;
    transition: all 0.3s ease;
    position: relative;
    border-radius: 50% !important;


    /* Gradient overlay for all buttons */

    &::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient(96deg, #6655A1 1.27%, #372B61 98.39%) !important;
        transition: opacity 0.3s ease-in-out;
        z-index: 0;
        pointer-events: none;
        border-radius: 50% !important;

    }

    &:hover {
        scale: 1.05;

        &::before {
            opacity: 1;
        }
    }
}

/* Specific styling only for cookie and cart buttons */
.pk-cookie-toggler,
.pk-cart-button {
    display: flex;
    align-items: center;
    justify-content: center;

    /* Hide only these specific SVGs */

    & svg.svgic {
        display: none;
    }

}

/* Keep SVG visible in the scroll-to-top and What's New buttons */
.pk-scroll-totop svg.svgic,
.pkfp-wn.pk-show-panel svg.svgic {
    position: relative;
    z-index: 1; /* Keep above the gradient */
}

/* Make sure "What's New?" text stays visible */
.pkfp-wn.pk-show-panel {
    position: relative;

    /* Make text stay above gradient */

    & > * {
        position: relative;
        z-index: 1;
    }
}

/* Cookie button icon */
.pk-cookie-toggler {
    position: relative;

    &::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 28px;
        height: 28px;
        background-image: url("/img/cms/customImages/icon_cookie.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        z-index: 1; /* Keep icon above gradient */
    }
}

/* Cart button icon */
.pk-cart-button {
    position: relative;

    &::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 28px;
        height: 28px;
        background-image: url("/img/cms/customImages/icon_cart.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        z-index: 1; /* Keep icon above gradient */
    }

    &:hover {
        background: unset !important;
    }

    /* Cart counter positioning */

    .cart-counter {
        position: absolute;
        top: 20px;
        background-color: var(--th-gold2);
        color: var(--th-white);
        border-radius: 50%;
        font-size: 0.75rem;
        min-width: 18px;
        min-height: 18px;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 2; /* Keep counter above everything */
    }
}


/*.fade {*/
/*    opacity: 1;*/
/*    transition: opacity 0.15s linear;*/
/*}*/

/*
GENERIC CLASSES
*/
/* Secondary Button Styling */
.btn.btn-secondary,
.btn.btn-secondary:hover,
.btn.btn-secondary:focus,
.btn.btn-secondary:active {
    color: var(--th-white, #FFFFFF) !important;
    position: relative;
    background: var(--th-gold, #D0AA5AFF) !important;
    overflow: hidden;
    border-radius: 41px;
}

.btn.btn-secondary::after {
    display: none !important;
}

.btn.btn-secondary::before {
    content: "";
    display: inline-flex;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(96deg, #EFCD7F 1.27%, #AB812E 98.39%) !important;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    z-index: 1;
    pointer-events: none;
}

.btn.btn-secondary::before {
    z-index: -2;
}

.btn.btn-secondary,
.btn.btn-secondary * {
    position: relative;
    z-index: 2 !important;
}

.btn.btn-secondary:hover::before {
    opacity: 1;
}

/* Styling for when secondary button is next to primary in a modal footer */
.modal-footer {
    display: flex;
    justify-content: flex-start;
    gap: 16px;
    padding: 16px 24px;
    border-top: 1px solid var(--th-light-purple, #F5F3FA);
}

/* Secondary Button Styling */
.btn-secondary {
    /* Base styling */
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;
    padding: 12px 24px;
    border-radius: 25px;
    border: none;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    cursor: pointer;

    /* Default state gradient background - I'll leave colors for you to customize */
    background: linear-gradient(to right, var(--th-light-purple, #F5F3FA), var(--th-light-purple, #F5F3FA));
    color: var(--th-purple, #42376A);

    /* Gradient overlay effect on hover */

    &::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient(to right, var(--th-light-purple, #F5F3FA), var(--th-light-purple, #F5F3FA));
        opacity: 0;
        transition: opacity 0.3s ease;
        z-index: 0;
    }

    /* Keep text above the gradient */

    span,
    i,
    &::after {
        position: relative;
        z-index: 1;
    }

    /* Hover state */

    &:hover {
        color: var(--th-purple1, #6655A1);

        &::before {
            opacity: 1;
        }
    }

    /* Focus state */

    &:focus {
        outline: none;
        box-shadow: 0 0 0 2px rgba(102, 85, 161, 0.3);
    }

    /* Active state */

    &:active {
        transform: translateY(1px);
    }
}

/* Styling for when secondary button is next to primary in a modal footer */
.modal-footer {
    .btn-secondary {
        margin-right: 16px;
    }

    /* Layout for button container */
    display: flex;
    justify-content: flex-start;
    gap: 16px;
    padding: 16px 24px;
    border-top: 1px solid var(--th-light-purple, #F5F3FA);
}

.th-partners-width,
.homepage-newsletter-section > .elementor-container > .elementor-row {
    width: 90% !important;
    max-width: 1400px !important;
}

aside#notifications .container {
    max-width: 1400px;
    width: 90%;
    margin-top: 40px;
}

/* ======== PAGE WIDTH OPTIMIZATION FOR LAPTOPS ONLY ======== */
/* Target ONLY laptop screens (1200px to 1399px) */
@media only screen and (min-width: 1200px) and (max-width: 1560px) {
    /* Main container elements */
    .container,
    .elementor-section.elementor-section-boxed > .elementor-container,
    #wrapper .container,
    .site-container,
    #header .elementor-container,
    #main.container,
    .cart-grid,
    .cart-grid-body,
    .cart-grid-right,
    #header .page-width,
    #footer .page-width,
    #main-content .page-width,
    body .elementor-section.elementor-section-boxed > .elementor-container,
    #header .pk-sub-menu .elementor,
    .th-partners-width,
    .homepage-newsletter-section > .elementor-container > .elementor-row,
    aside#notifications .container{
        max-width: 1170px !important;
    }

    .homepage-newsletter {
        &::before {
            transform: translate(29%, 15%) scale(0.9) !important;
        }

        .pk-ce-widget-wrapper {
            width: 74%;
        }
    }

    /* Fix mega menu width calculations that rely on container width */
    .mm_columns_contents_ul {
        min-width: calc(1170px - 326px) !important;
    }

    /* Ensure full-width sections still span the entire width */
    .elementor-section-full,
    .elementor-section-stretched,
    .elementor-section.elementor-section-full-width {
    }

    /* But content inside full-width sections should be contained */
    .elementor-section-full > .elementor-container,
        /*.elementor-section-stretched > .elementor-container,*/
    .elementor-section.elementor-section-full-width > .elementor-container {
        max-width: 1170px !important;
    }

    /* Cart and checkout specific containers */
    .custom-cart #main.container .cart-grid,
    .checkout-container {
        max-width: 1170px !important;
    }

    /* Fix any specific widths in the header */
    .ets_mm_megamenu_content .container {
        max-width: 1170px !important;
    }
}

.background-gradient-yellow {
    background: var(--th-bg-gradient-yellow);
}


/*
Variables
 */

:root {
    --th-dark-purple: #242335;
    --th-purple: #42376A;
    --th-purple1: #6655A1;
    --th-light-purple: #F9F8FF;
    --th-disable-purple: #42376A80;
    --th-light-yellow: #FFFBF0;
    --th-yellow: #EFCD7F;
    --th-dark-yellow: #AB812E;
    --th-gold: #D0AA5A;
    --th-gold2: #D69A02;
    --th-white: #FFFFFF;
    --th-red: #B00300;
    --th-blue: #002F65;
    --th-black: #0E0E0E;
    --th-light-grey: #A19BB5;
    --th-dark-grey: #252525;
    --th-green: #00A680;


    --th-bg-border-gradient-yellow: linear-gradient(to top, #AB812E, #EFCD7F) border-box;

    --th-bg-gradient-yellow: linear-gradient(to bottom, rgba(255, 255, 255, 0.07), rgba(0, 0, 0, 0)),
    linear-gradient(90deg, #C9A253 0%, #eecb79 30%, #f7dc97 55%, #f7dc97 70%, #eecb79 80%, #C9A253 100%);

    --th-bg-gradient-purple-left-og: linear-gradient(94deg, #6655A1 -0.46%, #6655A1 102.42%);
    --th-bg-gradient-purple-left: linear-gradient(94deg, #6655A1 -0.46%, #372B61 102.42%);

    --th-bg-gradient-yellow-reverse: linear-gradient(90deg, #EFCD7F, #AB812E, #EFCD7F);

    --th-bg-gradient-purple: linear-gradient(97.36deg, #42376A -35%, #242335 55%, #42376A 99%);

    /*linear-gradient(97.36deg, #42376A -150%, #242335 55%, #42376A 130%);*/


}
