/*
Theme Name: 	   Shopire V2
Text Domain: 	   shopire-v2
Version:            9.2.03
Tested up to:       6.9
Requires at least:  4.7
Requires PHP:       5.6
Author:             WPFable
*/

:root {
    --wf-main-color: #284C3D;
    --wf-secondary-color: #9C7BB3;
    --v2-bg-main: #F9F6F2;
    --v2-bg-section: #F2EDE6;
    --v2-bg-soft: #F3EFF7;
    --wf-text-color: #2B2B2B;
    --v2-text-secondary: #6B6B6B;
    --v2-border-color: #E6E2DF;
    --v2-accent-gold: #D6B97B;
    --v2-accent-purple: #BDA3D6;
    --v2-accent-pink: #E7B6C6;
    --v2-accent-mint: #8FBFA3;
    --v2-accent-blue: #4C6FB7;
    --wf-title-family: 'Open Sans', sans-serif;
    --wf-base-family: 'Lato', 'Nunito', 'Montserrat', sans-serif;
    --v2-container-width: 1440px;
}

/* ============================================================
   GLOBAL RESET & BASE
   ============================================================ */
body {
    background-color: var(--v2-bg-main) !important;
    color: var(--wf-text-color);
    font-family: var(--wf-base-family);
    margin: 0; padding: 0;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--wf-title-family);
    color: var(--wf-main-color);
    font-weight: 400;
}

.v2-container {
    max-width: var(--v2-container-width);
    margin: 0 auto;
    padding: 0 20px;
}

/* ============================================================
   HEADER & TOPBAR
   ============================================================ */
.v2-topbar {
    background-color: var(--wf-secondary-color);
    color: #fff;
    text-align: center;
    padding: 10px 0;
    font-size: 13px;
    letter-spacing: 0.5px;
}
.v2-topbar p { margin: 0; }

.v2-header {
    background-color: transparent;
    padding: 10px 0;
    border-bottom: 1px solid rgba(230, 226, 223, 0.5);
}
.v2-header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 60px;
}
.v2-main-logo {
    max-height: 50px;
    width: auto;
    display: block;
    object-fit: contain;
    transform: translateY(2px);
}

.v2-nav-menu {
    list-style: none;
    margin: 0; padding: 0;
    display: flex;
    gap: 35px;
}
.v2-nav-menu li {
    position: relative;
}
.v2-nav-menu li a {
    text-decoration: none;
    color: var(--wf-text-color);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}
.v2-nav-menu li a:hover,
.v2-nav-menu li.current-menu-item > a {
    color: var(--wf-secondary-color);
}

/* Sub-menu (Dropdown) */
.v2-nav-menu .sub-menu {
    position: absolute;
    top: calc(100% + 20px); left: 50%;
    transform: translateX(-50%) translateY(15px);
    background: #ffffff;
    min-width: 220px;
    box-shadow: 0 15px 35px rgba(40, 76, 61, 0.08), 0 5px 15px rgba(0,0,0,0.04);
    border: 1px solid #e2dcd5;
    border-top: 3px solid var(--wf-main-color);
    border-radius: 8px;
    padding: 10px 0;
    list-style: none;
    opacity: 0; visibility: hidden;
    transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0.3s;
    z-index: 100;
}
/* Invisible hover bridge to prevent menu from closing when crossing the 20px gap */
.v2-nav-menu .sub-menu::before {
    content: '';
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    height: 20px;
    background: transparent;
    z-index: 1;
}
/* Elegant top arrow pointing to the parent menu item, matching the forest green accent bar */
.v2-nav-menu .sub-menu::after {
    content: '';
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 10px;
    height: 10px;
    background: var(--wf-main-color);
    border-left: 1px solid #e2dcd5;
    border-top: 1px solid #e2dcd5;
    z-index: 2;
}
.v2-nav-menu li:hover > .sub-menu {
    opacity: 1; visibility: visible;
    transform: translateX(-50%) translateY(0);
}
.v2-nav-menu .sub-menu li {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}
.v2-nav-menu .sub-menu li a {
    display: block;
    padding: 10px 24px;
    font-family: var(--wf-base-family);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--wf-text-color);
    transition: all 0.25s ease;
}
.v2-nav-menu .sub-menu li a:hover {
    background-color: var(--v2-bg-main);
    color: var(--wf-secondary-color);
    padding-left: 30px;
}

.v2-header__icons { display: flex; gap: 25px; align-items: center; }
.v2-header__icons a { color: var(--wf-text-color); font-size: 18px; }

/* ============================================================
   GLOBAL BUTTONS (PILL/SQUARE, V2 COLORS)
   ============================================================ */
.v2-btn, .button, button, input[type="submit"], 
.woocommerce a.button, .woocommerce button.button, 
.woocommerce input.button, .woocommerce #respond input#submit {
    display: inline-block;
    padding: 14px 30px !important;
    font-family: var(--wf-base-family) !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    transition: all 0.3s ease !important;
    line-height: 1.5 !important;
    border: none !important;
    text-align: center !important;
}

/* Primary Color: Purple */
.v2-btn--purple, .woocommerce a.button.alt, .woocommerce button.button.alt, 
.woocommerce input.button.alt, .woocommerce #respond input#submit.alt,
.checkout-button, .single_add_to_cart_button,
.woocommerce #respond input#submit, 
.woocommerce a.button, 
.woocommerce button.button, 
.woocommerce input.button,
.wc-block-components-button,
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link,
.v2-btn,
button:not(.wf_search-submit):not(.wf_search-close):not(.site--close):not(.wc-block-components-quantity-selector__button):not(.show-password-input):not(.v2-testimonials__arrow),
input[type="submit"] {
    background-color: var(--wf-secondary-color) !important;
    color: #fff !important;
    box-shadow: 0 4px 15px rgba(156, 123, 179, 0.3) !important;
}

.v2-btn--purple:hover, .woocommerce a.button.alt:hover, 
.checkout-button:hover, .single_add_to_cart_button:hover,
.woocommerce #respond input#submit:hover, 
.woocommerce a.button:hover, 
.woocommerce button.button:hover, 
.woocommerce input.button:hover,
.wc-block-components-button:hover,
button:not(.wf_search-submit):not(.wf_search-close):not(.site--close):not(.wc-block-components-quantity-selector__button):not(.show-password-input):not(.v2-testimonials__arrow):hover,
input[type="submit"]:hover {
    background-color: #8A6AA0 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(156, 123, 179, 0.4) !important;
}

/* ============================================================
   HOME MODULES
   ============================================================ */
.v2-hero { position: relative; overflow: hidden; }
.v2-hero__inner { display: flex; align-items: center; justify-content: space-between; padding: 20px; }
.v2-hero__content { flex: 1; padding-right: 50px; }
.v2-hero__title { font-size: 72px; line-height: 1.1; margin-bottom: 20px; }
.v2-hero__subtitle { font-size: 18px; line-height: 1.6; margin-bottom: 40px; opacity: 0.8; }
.v2-hero__image { flex: 1; display: flex; justify-content: flex-end; }
.v2-hero__image-wrapper { position: relative; width: 480px; height: 480px; }
.v2-circle-outer { position: absolute; top: 0; left: 0; right: 0; bottom: 0; border: 2px solid var(--wf-secondary-color); border-radius: 50%; transform: scale(1.03); }
.v2-circle-inner { width: 100%; height: 100%; border-radius: 50%; overflow: hidden; border: 8px solid var(--wf-secondary-color); background: #fff; }
.v2-circle-inner img { width: 100%; height: 100%; object-fit: cover; }
/*  */
.v2-features { 
    background: #F9F6F2 !important; 
    padding: 30px 0 !important; 
    margin: 0 !important; 
    border-top: 1px solid #e6e2df !important; 
    border-bottom: 1px solid #e6e2df !important; 
    display: block !important;
}
.v2-features__inner { display: flex; justify-content: space-between; align-items: center; }
.v2-feature-divider { width: 1px; height: 40px; background-color: var(--v2-border-color); margin: 0 20px; }
.v2-feature { display: flex; align-items: center; gap: 20px; flex: 1; justify-content: center; }
.v2-feature__icon { font-size: 36px; color: var(--wf-main-color); }
.v2-feature__text h4 { font-family: var(--wf-base-family); font-size: 15px; font-weight: 700; margin: 0 0 5px 0; }
.v2-feature__text p { margin: 0; font-size: 13px; color: var(--v2-text-secondary); }

/* Section Headers */
.v2-section-header {
    text-align: center;
    margin-bottom: 45px;
}

.v2-collections { padding: 100px 0; }
/* Product Grid Overrides */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 30px !important; margin: 0 !important; padding: 0 !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { border: none !important; background: transparent !important; padding: 0 !important; margin-bottom: 30px !important; width: 100% !important;}
.woocommerce ul.products li.product .inner { background: #fff !important; border: 1px solid var(--v2-border-color) !important; border-radius: 8px !important; padding: 20px !important; transition: all 0.3s ease !important; height: 100% !important; display: flex !important; flex-direction: column !important; }
.woocommerce ul.products li.product .inner:hover { transform: translateY(-5px) !important; box-shadow: 0 10px 30px rgba(0,0,0,0.05) !important; }
.woocommerce ul.products li.product img { margin-bottom: 20px; border-radius: 4px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--wf-base-family) !important; font-size: 16px !important; font-weight: 600 !important; color: var(--wf-text-color) !important; margin-bottom: 8px; }
.woocommerce ul.products li.product .price { color: var(--v2-text-secondary) !important; font-weight: 600 !important; font-size: 15px; }

/* Force remove border-top from product actions */
.product-action { border-top: none !important; margin-top: auto !important; }

/* Testimonials */
.v2-testimonials { padding: 100px 0; }
.v2-testimonials__wrapper { display: flex; align-items: center; gap: 30px; }
.v2-testimonials__grid { flex: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.v2-testimonial-card { background: #fff !important; border: 1px solid var(--v2-border-color); padding: 40px; border-radius: 8px; }
.v2-stars { color: var(--wf-secondary-color); margin-bottom: 20px; font-size: 14px; }
.v2-testimonial-card__text { font-size: 15px; line-height: 1.6; color: var(--wf-text-color); margin-bottom: 30px; min-height: 70px; }
.v2-author { display: flex; align-items: center; gap: 15px; }
.v2-author__avatar { width: 40px; height: 40px; border-radius: 50%; background-size: cover; }
.v2-author__name { font-size: 14px; color: var(--v2-text-secondary); }

/* Newsletter */
.v2-newsletter { background-color: var(--v2-bg-soft); padding: 80px 0; }
.v2-newsletter__inner { display: flex; align-items: center; justify-content: center; gap: 50px; }
.v2-newsletter__text { display: flex; align-items: center; gap: 20px; }
.v2-newsletter__icon { width: 70px; height: 70px; background: var(--wf-secondary-color); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 28px; }
.v2-newsletter__content h3 { margin: 0 0 5px 0; font-size: 24px; font-family: var(--wf-base-family); color: var(--wf-text-color); }
.v2-newsletter__content p { margin: 0; font-size: 14px; color: var(--v2-text-secondary); }
.v2-newsletter__form form { display: flex; gap: 15px; }
.v2-newsletter__form input { width: 300px; padding: 0 20px; border: 1px solid var(--v2-border-color); border-radius: 4px; font-family: var(--wf-base-family); }


/* ============================================================
   MY ACCOUNT & CART (CRITICAL FIXES)
   ============================================================ */
/* Input widths consistency */
.woocommerce-edit-account .form-row-first,
.woocommerce-edit-account .form-row-last,
.woocommerce-edit-account .form-row-wide {
    width: 100% !important;
    float: none !important;
    clear: both !important;
}

/* PASSWORD TOGGLE FIX - Definitive Centering */
.woocommerce-input-wrapper {
    position: relative !important;
    display: block !important;
}

button.show-password-input {
    width: 30px !important;
    height: 30px !important;
    background-color: #eee !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    position: absolute !important;
    right: 5px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 5 !important;
    box-shadow: none !important;
}

button.show-password-input::before {
    content: "" !important;
    position: static !important; /* Switch to static for Flex centering */
    transform: none !important;
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23284C3D' d='M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64a64 64 0 1 0 0 128 64 64 0 1 0 0-128z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
}

/* CART QUANTITY BUTTONS - ULTIMATE FIX */
.wc-block-components-quantity-selector {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: fit-content !important;
    border: 1px solid var(--v2-border-color) !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    background: #fff !important;
    height: 36px !important;
}

.wc-block-components-quantity-selector__input {
    width: 50px !important;
    height: 100% !important;
    border: none !important;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 14px !important;
    -moz-appearance: textfield !important;
    background: transparent !important;
}

.wc-block-components-quantity-selector__button {
    width: 32px !important;
    height: 100% !important;
    min-height: 100% !important;
    background-color: #f5f5f5 !important;
    color: var(--wf-text-color) !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

.wc-block-components-quantity-selector__button:hover { background-color: #e0e0e0 !important; }
.wc-block-components-quantity-selector__button--minus { order: 1 !important; }
.wc-block-components-quantity-selector__input { order: 2 !important; }
.wc-block-components-quantity-selector__button--plus { order: 3 !important; }

/* CART REMOVE BUTTON ICON CENTERING */
.wc-block-cart-item__remove-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    width: 30px !important;
    height: 30px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    min-height: auto !important;
}

.wc-block-cart-item__remove-link svg {
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    display: block !important;
}

/* Force Edit/Add links to a new line and style them */
.woocommerce-Address-title {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    border-bottom: 1px solid var(--v2-border-color) !important;
    padding-bottom: 15px !important;
    margin-bottom: 20px !important;
}

.woocommerce-Address-title h2, 
.woocommerce-Address-title h3 {
    margin: 0 0 10px 0 !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
}

.woocommerce-Address-title .edit {
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-decoration: underline !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--wf-secondary-color) !important;
}

/* ============================================================
   FOOTER
   ============================================================ */
.v2-footer { background-color: var(--wf-main-color) !important; color: #fff !important; padding: 80px 0 0 0 !important; clear: both !important; margin-bottom: 0 !important; display: block !important; }
.v2-footer-logo { max-height: 40px; width: auto; display: block; }
.v2-footer__col h4 { color: #fff !important; font-family: var(--wf-base-family) !important; font-size: 14px; letter-spacing: 1px; margin-bottom: 25px; }
.v2-footer__col ul { list-style: none; padding: 0; margin: 0; }
.v2-footer__col ul li { margin-bottom: 12px; }
.v2-footer__col ul li a { color: rgba(255,255,255,0.7); text-decoration: none; font-size: 14px; transition: color 0.3s; }
.v2-footer__col ul li a:hover { color: #fff; }
.v2-footer__social { display: flex; gap: 15px; margin-top: 30px; }
.v2-footer__social a { color: #fff; font-size: 18px; opacity: 0.8; transition: opacity 0.3s; }
.v2-footer__social a:hover { opacity: 1; }

.v2-footer__col ul li span { font-size: 1.2rem; }
.v2-footer__bottom { border-top: 1px solid rgba(255,255,255,0.1); padding: 25px 0; text-align: center; font-size: 12px; color: rgba(255,255,255,0.5); }
.v2-footer__inner { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 60px; }


/* UTILITIES */
.v2-text-green { color: var(--wf-main-color) !important; }
.v2-text-purple { color: var(--wf-secondary-color) !important; }
.v2-font-italic { font-style: italic !important; }
.v2-text-center { text-align: center !important; }
.v2-mt-50 { margin-top: 50px !important; }

/* HIDE THEMES LEGACY & ROGUE ELEMENTS */
#wf_pagetitle, .wf_pagetitle, .author, .post-author, .avatar, .wf_pagetitle_content, .wf-container > .wf_pagetitle_content { display: none !important; }
.quickview-trigger, .button.quickview-trigger, .shopire-wcqv-button, .product-img .button.quickview-trigger, .product-single:hover .product-img .button.quickview-trigger, .woocommerce ul.products li.product:hover .quickview-trigger, [class*="quickview"] { display: none !important; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }

/* Hide WooCommerce result count and ordering for a cleaner layout alignment */
.woocommerce-result-count, 
.woocommerce-ordering {
    display: none !important;
}

/* Search Form Refinement: Stack vertically */
.search-form { display: flex !important; flex-direction: column !important; gap: 12px !important; width: 100% !important; }
.search-form label { width: 100% !important; margin: 0 !important; }
.search-form .search-field { width: 100% !important; background-color: #fff !important; border: 1px solid var(--v2-border-color) !important; border-radius: 4px !important; padding: 12px 15px !important; }
.search-form .search-submit { width: 100% !important; margin: 0 !important; }

/* ============================================================
   INTERNAL PAGE GRID & LAYOUT
   ============================================================ */
.wf-container { width: 100% !important; max-width: var(--v2-container-width) !important; margin: 0 auto !important; padding: 0 20px !important; }
.wf-row { display: flex !important; flex-wrap: wrap !important; margin-right: -15px !important; margin-left: -15px !important; width: auto !important;}

/* Increase Gutter/Gap between Sidebar and Main Content */
.wf-row.wf-g-5 { margin-right: -30px !important; margin-left: -30px !important; box-sizing: border-box !important; }
.wf-row.wf-g-5 > [class*="wf-col-"] { padding-right: 30px !important; padding-left: 30px !important; box-sizing: border-box !important; }

.wf-col-lg-10 { flex: 0 0 83.333333%; max-width: 83.333333%; position: relative; width: 100%; padding-right: 15px; padding-left: 15px; box-sizing: border-box !important; }
.wf-col-lg-2 { flex: 0 0 16.666667%; max-width: 16.666667%; position: relative; width: 100%; padding-right: 15px; padding-left: 15px; box-sizing: border-box !important; }
.wf-col-lg-4 { flex: 0 0 33.333333%; max-width: 33.333333%; position: relative; width: 100%; padding-right: 15px; padding-left: 15px; box-sizing: border-box !important; }

/* ============================================================
   Unified Sidebar Navigation & My Account Menu Premium Styling
   ============================================================ */

/* 1. Containers Uniform Aesthetics */
.woocommerce-MyAccount-navigation,
.wf_widget-area .widget,
#wf-sidebar .widget {
    background-color: #ffffff !important; /* Premium pure white card background */
    border: 1px solid #e2dcd5 !important; /* Unified fine outer border */
    border-radius: 8px !important;
    padding: 25px 30px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02) !important;
    box-sizing: border-box !important;
    margin-bottom: 30px !important;
}

/* 2. Unified Titles Styling */
.widget-title,
.wf_widget-area .widget .widgettitle,
#wf-sidebar .widget .widgettitle,
.wf_widget-area .widget .widget-title,
#wf-sidebar .widget .widget-title {
    font-family: var(--wf-headings-font, inherit) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: var(--wf-main-color, #284C3D) !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    padding-bottom: 8px !important;
    border-bottom: 2px solid var(--wf-main-color, #284C3D) !important;
    display: block !important;
    width: 100% !important;
}

/* 3. List Item Reset & Unified Structure */
.woocommerce-MyAccount-navigation ul,
.wf_widget-area .widget ul,
#wf-sidebar .widget ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-MyAccount-navigation ul li,
.wf_widget-area .widget ul li,
#wf-sidebar .widget ul li {
    padding: 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(226, 220, 213, 0.6) !important;
}

.woocommerce-MyAccount-navigation ul li:last-child,
.wf_widget-area .widget ul li:last-child,
#wf-sidebar .widget ul li:last-child {
    border-bottom: none !important;
}

/* 4. Link elements Unified hover & active interactions */
.woocommerce-MyAccount-navigation ul li a,
.wf_widget-area .widget ul li a,
#wf-sidebar .widget ul li a {
    display: block !important;
    padding: 12px 0 !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #4a4a4a !important;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    border-left: 0 solid transparent !important;
}

/* Hover effect: text shifts slightly right and converts to brand green */
.woocommerce-MyAccount-navigation ul li a:hover,
.wf_widget-area .widget ul li a:hover,
#wf-sidebar .widget ul li a:hover {
    color: var(--wf-main-color, #284C3D) !important;
    padding-left: 8px !important;
}

/* Active / Current Link State */
.woocommerce-MyAccount-navigation ul li.is-active a,
.wf_widget-area .widget ul li.current-cat a,
#wf-sidebar .widget ul li.current-cat a,
.wf_widget-area .widget ul li.current-menu-item a,
#wf-sidebar .widget ul li.current-menu-item a {
    color: var(--wf-main-color, #284C3D) !important;
    font-weight: 700 !important;
    padding-left: 12px !important;
    border-left: 3px solid var(--wf-main-color, #284C3D) !important;
}

.woo-products, .wf_posts { background-color: var(--v2-bg-main) !important; padding-top: 100px !important; }
/* #wf-main { padding: 0 !important; } Removed to allow gutter padding */

.wf_post_block { background: transparent !important; border: none !important; padding: 0 !important; margin-bottom: 40px !important; box-shadow: none !important; }
.wf_post_block:hover { transform: translateY(-5px); }

/* ============================================================
   RESPONSIVE DESIGN & MOBILE DRAWER
   ============================================================ */

/* Mobile Toggle Icon */
.v2-mobile-toggle {
    display: none !important;
    font-size: 22px;
    color: var(--wf-text-color);
    padding: 5px;
    cursor: pointer;
    line-height: 1;
}

/* Mobile Drawer */
.v2-mobile-drawer {
    position: fixed;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    z-index: 99999 !important; /* Ensure it overlays everything */
    visibility: hidden;
    pointer-events: none;
    transition: visibility 0.4s ease;
}

.v2-mobile-drawer.active {
    visibility: visible;
    pointer-events: auto;
}

.v2-mobile-drawer__overlay {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.4);
    opacity: 0;
    transition: opacity 0.4s ease;
    backdrop-filter: blur(2px);
}

.v2-mobile-drawer.active .v2-mobile-drawer__overlay {
    opacity: 1;
}

.v2-mobile-drawer__content {
    position: absolute;
    top: 0; right: 0;
    width: 320px; height: 100%;
    background-color: var(--v2-bg-main);
    box-shadow: -5px 0 30px rgba(0,0,0,0.15);
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    box-sizing: border-box;
}

.v2-mobile-drawer.active .v2-mobile-drawer__content {
    transform: translateX(0);
}

.v2-mobile-drawer__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid var(--v2-border-color);
    background: #fff;
}

.v2-mobile-drawer__logo {
    max-height: 36px;
    width: auto;
    object-fit: contain;
}

.v2-mobile-drawer__close {
    font-size: 20px;
    color: var(--wf-text-color);
    text-decoration: none;
}

.v2-mobile-drawer__body {
    flex: 1;
    overflow-y: auto;
    padding: 30px 24px;
    display: flex;
    flex-direction: column;
}

.v2-mobile-nav {
    margin-bottom: auto;
}

/* Mobile Menu List */
.v2-mobile-menu {
    list-style: none;
    margin: 0; padding: 0;
}

.v2-mobile-menu li {
    position: relative;
    border-bottom: 1px solid rgba(230, 226, 223, 0.5);
}
.v2-mobile-menu li:last-child {
    border-bottom: none;
}

.v2-mobile-menu li a {
    display: block;
    padding: 14px 0;
    color: var(--wf-text-color);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none;
}

.v2-mobile-menu li a:hover,
.v2-mobile-menu li.current-menu-item > a {
    color: var(--wf-secondary-color);
}

/* Accordion Submenu Trigger Button */
.v2-submenu-toggle {
    position: absolute;
    top: 0; right: 0;
    width: 48px; height: 48px;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: var(--wf-text-color) !important;
    cursor: pointer;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    transition: transform 0.3s ease;
}

.v2-submenu-toggle i {
    font-size: 14px;
    transition: transform 0.3s ease;
}

.v2-submenu-toggle.active i {
    transform: rotate(180deg);
}

/* Nested Sub-menu inside Mobile Menu */
.v2-mobile-menu .sub-menu {
    list-style: none;
    margin: 0; padding: 0 0 10px 15px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

.v2-mobile-menu .sub-menu li {
    border-bottom: none;
}

.v2-mobile-menu .sub-menu li a {
    padding: 8px 0;
    font-size: 12px;
    text-transform: none;
    letter-spacing: 0.5px;
    color: var(--v2-text-secondary);
}

/* Drawer Footer */
.v2-mobile-drawer__footer {
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid var(--v2-border-color);
    text-align: center;
}

.v2-mobile-drawer__social {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.v2-mobile-drawer__social a {
    color: var(--wf-text-color);
    font-size: 18px;
    transition: color 0.3s;
}

.v2-mobile-drawer__social a:hover {
    color: var(--wf-secondary-color);
}

/* Media Queries */
@media (max-width: 992px) {
    .v2-header__inner {
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        padding: 0 20px !important;
        min-height: 50px !important;
    }
    .v2-header__logo img {
        max-height: 38px !important;
    }
    .v2-header__nav {
        display: none !important; /* Hide original navigation on mobile */
    }
    .v2-mobile-toggle {
        display: block !important; /* Show mobile hamburger toggle */
    }
    .v2-header__icons {
        gap: 18px !important;
    }
    
    .v2-hero__inner { flex-direction: column !important; text-align: center !important; padding-top: 40px !important; }
    .v2-newsletter__inner { flex-direction: column !important; text-align: center !important; }
    .v2-hero__content { margin-bottom: 40px !important; padding-right: 0 !important; }
    
    .v2-hero__image {
        display: none !important;
    }
    
    .v2-feature-divider { display: none !important; }
    .v2-story__content { margin: 0 auto !important; text-align: center !important; }
    .v2-story__bg { width: 100% !important; opacity: 0.2 !important; }
    .v2-testimonials__grid { grid-template-columns: 1fr !important; }
    
    .v2-newsletter__form form { margin-top: 20px !important; flex-direction: column !important; }
    .v2-newsletter__form input { width: 100% !important; height: 50px !important; }
    
    .v2-footer__inner {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 30px !important;
        padding-bottom: 40px !important;
    }
    .v2-footer__inner > .v2-footer__col:first-child {
        grid-column: 1 / -1 !important;
        text-align: center !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        margin-bottom: 20px !important;
    }
    .v2-footer-logo {
        margin: 0 auto !important;
    }
}

@media (max-width: 768px) {
    .v2-hero__title { font-size: 40px !important; line-height: 1.2 !important; }
    .v2-hero__subtitle { font-size: 15px !important; margin-bottom: 25px !important; }
    
    /* 2-Column Product Grid on Mobile */
    .woocommerce ul.products, 
    .woocommerce-page ul.products,
    .woocommerce .v2-collections__grid ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
        display: grid !important;
    }
    .woocommerce ul.products[class*="columns-"] li.product,
    .woocommerce-page ul.products[class*="columns-"] li.product,
    .woocommerce .v2-collections__grid ul.products li.product {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        float: none !important;
        clear: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 15px !important;
    }
    .woocommerce ul.products li.product .inner {
        padding: 12px !important;
        border-radius: 6px !important;
    }
    .woocommerce ul.products li.product img {
        margin-bottom: 12px !important;
    }
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: 13px !important;
        margin-bottom: 6px !important;
        line-height: 1.3 !important;
    }
    .woocommerce ul.products li.product .price {
        font-size: 13px !important;
    }
    
    /* 2x2 Features Grid on Mobile */
    .v2-features__inner {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
        padding: 0 10px !important;
    }
    .v2-feature {
        flex-direction: column !important;
        text-align: center !important;
        gap: 8px !important;
        padding: 10px !important;
    }
    .v2-feature__icon {
        font-size: 28px !important;
    }
    .v2-feature__text h4 {
        font-size: 13px !important;
        margin-bottom: 3px !important;
    }
    .v2-feature__text p {
        font-size: 11px !important;
    }
    
    /* Story Banner Mobile */
    .v2-story {
        padding: 60px 0 !important;
        min-height: 350px !important;
    }
    .v2-story h2 {
        font-size: 32px !important;
        margin-bottom: 15px !important;
    }
    .v2-story p {
        font-size: 15px !important;
        margin-bottom: 25px !important;
    }
    
    /* Testimonials Mobile */
    .v2-testimonials {
        padding: 50px 0 !important;
    }
    .v2-testimonial-card {
        padding: 25px !important;
        margin-bottom: 15px !important;
    }
    .v2-testimonial-card__text {
        font-size: 14px !important;
        min-height: auto !important;
        margin-bottom: 20px !important;
    }
    
    /* Newsletter Mobile */
    .v2-newsletter {
        padding: 50px 0 !important;
    }
    .v2-newsletter__text {
        flex-direction: column !important;
        gap: 15px !important;
    }
    .v2-newsletter__icon {
        width: 54px !important;
        height: 54px !important;
        font-size: 22px !important;
    }
    .v2-newsletter__content h3 {
        font-size: 20px !important;
    }
    .v2-newsletter__content p {
        font-size: 13px !important;
    }
    .v2-newsletter__form {
        width: 100% !important;
        max-width: 400px !important;
        margin: 25px auto 0 auto !important;
    }
    .v2-newsletter__form form {
        gap: 10px !important;
    }
    .v2-newsletter__form input {
        height: 46px !important;
        text-align: center !important;
    }
    
    .v2-footer__col h4 {
        margin-bottom: 15px !important;
    }
    .v2-footer__col ul li a {
        font-size: 13px !important;
    }
    
    .wf-col-lg-10, .wf-col-lg-2, .wf-col-lg-4, .wf-col-lg-3, .wf-col-lg-8, .wf-col-lg-9, .wf-col-md-6, .wf-col-sm-12 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    .wf_post_block {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        float: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

@media (max-width: 480px) {
    .v2-hero__title {
        font-size: 32px !important;
    }
    .woocommerce ul.products, 
    .woocommerce-page ul.products {
        gap: 10px !important;
    }
    .woocommerce ul.products li.product .inner {
        padding: 10px !important;
    }
}

/* ============================================================
   MINI-CART DROPDOWN
   ============================================================ */
.v2-cart-wrapper {
    position: relative;
    padding-bottom: 10px;
    margin-bottom: -10px;
}

.v2-cart-trigger {
    position: relative;
    display: flex;
    align-items: center;
}

.v2-cart-count {
    position: absolute;
    top: -8px;
    right: -10px;
    background: var(--wf-secondary-color);
    color: #fff;
    font-size: 10px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

.v2-mini-cart-dropdown {
    position: absolute;
    top: calc(100% + 20px);
    right: 0;
    width: 320px;
    background: #ffffff;
    border: 1px solid #e2dcd5;
    border-top: 3px solid var(--wf-main-color);
    border-radius: 8px;
    box-shadow: 0 15px 35px rgba(40, 76, 61, 0.08), 0 5px 15px rgba(0,0,0,0.04);
    padding: 25px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0.3s;
    z-index: 999;
}
/* Invisible hover bridge to prevent cart dropdown from closing when crossing the 20px gap */
.v2-mini-cart-dropdown::before {
    content: '';
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    height: 20px;
    background: transparent;
    z-index: 1;
}
/* Elegant top arrow pointing to the cart icon, matching the forest green accent bar */
.v2-mini-cart-dropdown::after {
    content: '';
    position: absolute;
    top: -6px;
    right: 20px;
    transform: rotate(45deg);
    width: 10px;
    height: 10px;
    background: var(--wf-main-color);
    border-left: 1px solid #e2dcd5;
    border-top: 1px solid #e2dcd5;
    z-index: 2;
}

.v2-cart-wrapper:hover .v2-mini-cart-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Style the WooCommerce mini-cart content to match V2 */
.v2-mini-cart-dropdown .widget_shopping_cart_content {
    font-family: var(--wf-base-family);
}

.v2-mini-cart-dropdown .cart_list li {
    padding: 15px 0 !important;
    border-bottom: 1px solid var(--v2-bg-main) !important;
}

.v2-mini-cart-dropdown .total {
    padding: 20px 0 !important;
    font-weight: 700 !important;
    color: var(--wf-main-color) !important;
}

.v2-mini-cart-dropdown .buttons .button {
    width: 100% !important;
    margin-bottom: 10px !important;
    text-align: center !important;
}

.v2-mini-cart-dropdown .buttons .checkout {
    background-color: var(--wf-secondary-color) !important;
}

/* Hide SKU on single product pages */
.single-product .sku_wrapper {
    display: none !important;
}

/* ============================================================
   FIX: GDPR COOKIE BAR ALIGNMENT
   ============================================================ */
.moove-gdpr-info-bar-content {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px !important;
    flex-wrap: wrap !important;
    padding: 10px 20px !important;
}

.moove-gdpr-cookie-notice {
    margin: 0 !important;
    flex: 0 1 auto !important;
}

.moove-gdpr-cookie-notice p {
    margin: 0 !important;
    display: inline !important;
    line-height: 1.5 !important;
}

.moove-gdpr-button-holder {
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
}

/* Style the buttons to match V2 theme */
button.change-settings-button, 
.moove-gdpr-infobar-allow-all {
    border-radius: 4px !important;
    padding: 8px 20px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    font-size: 11px !important;
    letter-spacing: 1px !important;
    transition: all 0.3s ease !important;
}

button.change-settings-button {
    background: transparent !important;
    border: 1px solid currentColor !important;
    margin: 0 5px !important;
}

.moove-gdpr-infobar-allow-all {
    background-color: var(--wf-secondary-color) !important;
    color: #fff !important;
    border: none !important;
}

@media (max-width: 768px) {
    .moove-gdpr-info-bar-content {
        flex-direction: column !important;
        text-align: center !important;
        gap: 15px !important;
    }
}

/* Fix for GDPR Modal Close Button Centering */
button.moove-gdpr-modal-close {
    width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #f2f2f2 !important;
    border-radius: 50% !important;
    border: none !important;
    box-shadow: none !important;
    min-height: auto !important;
    top: 10px !important;
    right: 10px !important;
}

button.moove-gdpr-modal-close span.moovegdpr-arrow-close {
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    display: block !important;
    line-height: 1 !important;
}

/* Buy It Now Button Styling */
.v2-buy-now-button {
    margin-left: 10px !important;
    background-color: var(--wf-secondary-color) !important;
    color: #fff !important;
}

.v2-buy-now-button:hover {
    background-color: #8A6AA0 !important;
    transform: translateY(-2px) !important;
}

@media (max-width: 480px) {
    .v2-buy-now-button {
        margin-left: 0 !important;
        margin-top: 10px !important;
        display: block !important;
        width: 100% !important;
    }
}

/* FORCE 100% WIDTH ON MOBILE FOR ALL WOOCOMMERCE GRIDS */
@media (max-width: 768px) {
    .woocommerce ul.products, 
    .woocommerce-page ul.products {
        grid-template-columns: 1fr !important;
        display: grid !important;
    }
    .woocommerce ul.products[class*="columns-"] li.product,
    .woocommerce-page ul.products[class*="columns-"] li.product,
    .woocommerce .v2-collections__grid ul.products li.product {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        float: none !important;
        clear: both !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 30px !important;
    }
}

/* Mobile Layout Fix for Single Product Add to Cart Form */
@media (max-width: 768px) {
    .woocommerce div.product form.cart {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px;
    }
    .woocommerce div.product form.cart .quantity {
        margin-bottom: 10px !important;
        width: 100% !important;
        display: flex;
        justify-content: flex-start;
    }
    .woocommerce div.product form.cart .button {
        margin-left: 0 !important;
        width: 100% !important;
        float: none !important;
        display: block !important;
    }
}

/* V2 Search Dropdown */
.v2-search-dropdown {
    position: absolute;
    top: calc(100% + 20px);
    right: -10px;
    width: 300px;
    background: #ffffff;
    border: 1px solid #e2dcd5;
    border-top: 3px solid var(--wf-main-color);
    border-radius: 8px;
    box-shadow: 0 15px 35px rgba(40, 76, 61, 0.08), 0 5px 15px rgba(0,0,0,0.04);
    padding: 20px;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transition: opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0.3s;
}
/* Invisible hover bridge to prevent search dropdown from closing when crossing the 20px gap */
.v2-search-dropdown::before {
    content: '';
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    height: 20px;
    background: transparent;
    z-index: 1;
}
/* Elegant top arrow pointing to the search icon, matching the forest green accent bar */
.v2-search-dropdown::after {
    content: '';
    position: absolute;
    top: -6px;
    right: 25px;
    transform: rotate(45deg);
    width: 10px;
    height: 10px;
    background: var(--wf-main-color);
    border-left: 1px solid #e2dcd5;
    border-top: 1px solid #e2dcd5;
    z-index: 2;
}

.v2-search-wrapper:hover .v2-search-dropdown {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}
.v2-search-dropdown form.woocommerce-product-search {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.v2-search-dropdown form.woocommerce-product-search label {
    display: none;
}
.v2-search-dropdown form.woocommerce-product-search input[type='search'] {
    width: 100%;
    padding: 8px 15px;
    border: 1px solid #e1e1e1;
    border-radius: 4px;
    font-size: 14px;
    box-sizing: border-box;
}
.v2-search-dropdown form.woocommerce-product-search button[type='submit'] {
    background-color: var(--wf-secondary-color);
    color: #fff;
    border: none;
    padding: 5px 12px;
    border-radius: 4px;
    font-size: 12px;
    cursor: pointer;
    align-self: flex-end;
}


/* V2 Story Section */
.v2-story {
    position: relative;
    padding: 120px 0;
    overflow: hidden;
    background-color: var(--wf-main-color);
    color: #fff;
    display: flex;
    align-items: center;
    min-height: 450px;
}

.v2-story__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0.3;
    z-index: 1;
}

.v2-story__inner {
    position: relative;
    z-index: 2;
}

.v2-story__content {
    max-width: 600px;
}

.v2-story__label {
    display: block;
    font-size: 14px;
    letter-spacing: 2px;
    margin-bottom: 20px;
    opacity: 0.8;
}

.v2-story h2 {
    font-size: 48px;
    line-height: 1.1;
    margin-bottom: 25px;
    color: #fff !important;
}

.v2-story p {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 35px;
    opacity: 0.9;
}

/* ============================================================
   WOOCOMMERCE REVIEWS ALIGNMENT FIX
   ============================================================ */
.woocommerce-Reviews ol.commentlist {
    padding-left: 0 !important;
    margin-left: 0 !important;
    list-style: none !important;
}

.woocommerce-Reviews ol.commentlist li.review {
    padding-left: 0 !important;
    margin-left: 0 !important;
    list-style: none !important;
}

.woocommerce-Reviews ol.commentlist li.review .comment-text {
    margin-left: 0 !important;
}

/* ============================================================
   PREMIUM POPUP SPLIT-COLUMN LAYOUT & STYLING
   ============================================================ */
.popucoge-popup-container {
    padding: 0 !important; /* Remove default padding for clean image bleed */
    overflow: hidden !important; /* Clip the image round corners */
    border: 1px solid #e2dcd5 !important;
    box-shadow: 0 25px 60px rgba(40, 76, 61, 0.18) !important;
}

/* Close button premium style */
.popucoge-popup-container button.popucoge-popup-close {
    top: 15px !important;
    right: 15px !important;
    z-index: 99 !important;
    color: #2b2b2b !important;
    background: rgba(255, 255, 255, 0.8) !important;
    border-radius: 50% !important;
    width: 30px !important;
    height: 30px !important;
    line-height: 28px !important;
    padding: 0 !important;
    font-size: 20px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
    border: none !important;
    cursor: pointer !important;
}

/* Grid Layout wrapper */
.popucoge-popup-content {
    display: grid !important;
    grid-template-columns: 1.25fr 1fr !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: stretch !important;
}

/* Left text section */
.popup-text-section {
    grid-column: 1 !important;
    grid-row: 1 !important;
    padding: 40px 30px 10px 40px !important;
}

/* Left form section */
.popucoge-popup-form {
    grid-column: 1 !important;
    grid-row: 2 !important;
    padding: 0 30px 40px 40px !important;
}

/* Right image section spanning both grid rows */
.popup-image-section {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: block !important;
}

.popup-mahjong-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* Fills and crops beautifully */
    display: block !important;
}

/* Typography styles matching our luxury aesthetic */
.popup-brand-title {
    font-family: var(--wf-title-family) !important;
    font-size: 12px !important;
    color: var(--wf-secondary-color) !important;
    text-transform: uppercase !important;
    margin: 0 0 10px 0 !important;
    font-weight: 700 !important;
    display: block !important;
}

.popup-offer-title {
    font-family: var(--wf-title-family) !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    color: var(--wf-main-color) !important;
    margin: 0 0 12px 0 !important;
    font-weight: 700 !important;
    display: block !important;
}

.popup-desc {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #666 !important;
    margin: 0 !important;
    display: block !important;
}

/* Custom form fields styling */
.popucoge-popup-form form input[type="email"],
.popucoge-popup-form form input[type="text"] {
    width: 100% !important;
    padding: 12px 15px !important;
    border: 1px solid #e2dcd5 !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    margin-bottom: 12px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
}

.popucoge-popup-form form button[type="submit"],
.popucoge-popup-form form input[type="submit"] {
    width: 100% !important;
    background-color: var(--wf-main-color) !important;
    color: #fff !important;
    padding: 12px 20px !important;
    border: none !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    cursor: pointer !important;
    transition: background 0.3s !important;
    text-transform: uppercase !important;
}

.popucoge-popup-form form button[type="submit"]:hover,
.popucoge-popup-form form input[type="submit"]:hover {
    background-color: var(--wf-secondary-color) !important;
}

/* Mobile responsive adjustments */
@media (max-width: 767px) {
    .popucoge-popup-content {
        grid-template-columns: 1fr !important;
    }
    
    .popup-image-section {
        display: none !important; /* Hide image on mobile to save vertical space */
    }
    
    .popup-text-section {
        padding: 35px 25px 10px 25px !important;
    }
    
    .popucoge-popup-form {
        padding: 0 25px 35px 25px !important;
    }
}

/* ============================================================
   FLOATING COUPON TRIGGER BUTTON
   ============================================================ */
.v2-floating-coupon-trigger {
    position: fixed !important;
    bottom: 30px !important;
    right: 30px !important;
    background-color: rgba(250, 249, 247, 0.85) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    color: var(--wf-secondary-color, #9C7BB3) !important;
    border: 1px solid rgba(156, 123, 179, 0.3) !important;
    border-radius: 50px !important;
    padding: 10px 24px !important;
    font-family: var(--wf-title-family), sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    box-shadow: 0 8px 32px rgba(156, 123, 179, 0.15) !important;
    cursor: pointer !important;
    z-index: 99999 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    animation: v2FloatingFloat 3s ease-in-out infinite alternate !important;
}

/* Glowing Aura Dot Indicator */
.v2-floating-coupon-trigger::before {
    content: "" !important;
    display: inline-block !important;
    width: 6px !important;
    height: 6px !important;
    margin-right: 10px !important;
    border-radius: 50% !important;
    background-color: var(--wf-secondary-color, #9C7BB3) !important;
    box-shadow: 0 0 8px var(--wf-secondary-color, #9C7BB3) !important;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

.v2-floating-coupon-trigger:hover {
    background-color: rgba(40, 76, 61, 0.95) !important;
    color: #ffffff !important;
    border-color: rgba(40, 76, 61, 0.5) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 35px rgba(40, 76, 61, 0.25) !important;
}

.v2-floating-coupon-trigger:hover::before {
    background-color: #ffffff !important;
    box-shadow: 0 0 8px #ffffff !important;
}

@keyframes v2FloatingFloat {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-6px);
    }
}

/* Mobile responsive adjustments */
@media (max-width: 767px) {
    .v2-floating-coupon-trigger {
        bottom: 20px !important;
        right: 20px !important;
        padding: 10px 18px !important;
        font-size: 11px !important;
        letter-spacing: 1px !important;
    }
}

/* ============================================================
   WOOCOMMERCE GRID BUTTON ALIGNMENT FIX (HEIGHT LOCK & POSITIONING)
   ============================================================ */
.woocommerce ul.products li.product .product-content-outer {
    height: 180px !important;
    position: relative !important;
    display: block !important;
}

.woocommerce ul.products li.product .product-content {
    padding: 15px 12px 0 !important;
}

.woocommerce ul.products li.product .product-single h3 {
    min-height: 41px !important;
    max-height: 41px !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    margin-bottom: 8px !important;
}

.woocommerce ul.products li.product .product-action {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    text-align: center !important;
    margin-top: auto !important;
    width: 100% !important;
}

/* ============================================================
   WOOCOMMERCE BLOCKS COUPON CHIP REMOVE BUTTON ALIGNMENT FIX
   ============================================================ */
/* 1. 彻底清除全局按钮对关闭按钮的 Padding 侵入，将其锁死为 20px 直径的圆形 */
.wc-block-components-chip__remove {
    padding: 0 !important;
    margin: 0 0 0 4px !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    line-height: 1 !important;
    background: rgba(0, 0, 0, 0.05) !important; /* 加一层极淡的灰色圆底，更具高级质感 */
    border: none !important;
    border-radius: 50% !important;
    
    /* 2. 强行使用弹性盒模型 (Flexbox) 将内部的 X (SVG) 锁死在正中心 */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
}

/* 鼠标悬停在 X 按钮上时背景变深，提供极佳的手感反馈 */
.wc-block-components-chip__remove:hover {
    background: rgba(220, 53, 69, 0.1) !important; /* 悬浮时变红底 */
    color: #dc3545 !important; /* X 变红色 */
}

/* 3. 严格控制内部 X (SVG) 的尺寸，并居中显示 */
.wc-block-components-chip__remove svg.wc-block-components-chip__remove-icon {
    width: 10px !important;
    height: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    fill: currentColor !important; /* 颜色与父级同步 */
}

/* ============================================================
   PREMIUM WOOCOMMERCE ORDERS TABLE BEAUTIFICATION
   ============================================================ */
/* 1. Prevent Total cell text wrapping */
.woocommerce-orders-table__cell-order-total {
    white-space: nowrap !important;
    font-size: 14px !important;
    color: var(--wf-text-color) !important;
}

.woocommerce-orders-table__cell-order-total .amount {
    font-weight: 700 !important;
    color: var(--wf-main-color) !important;
}

/* 2. Actions column alignment and button spacing */
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table {
    table-layout: auto !important; /* Allow columns to size dynamically based on explicit settings */
    width: 100% !important;
}

/* Explicitly scale the width of each column to give Total and Actions maximum room */
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table th.woocommerce-orders-table__header-order-number,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-number {
    min-width: 100px !important;
    white-space: nowrap !important;
}

.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table th.woocommerce-orders-table__header-order-date,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-date {
    min-width: 120px !important;
}

.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table th.woocommerce-orders-table__header-order-status,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-status {
    min-width: 100px !important;
}

.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table th.woocommerce-orders-table__header-order-total,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-total {
    min-width: 160px !important;
    white-space: nowrap !important;
}

.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table th.woocommerce-orders-table__header-order-actions,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
    min-width: 270px !important;
    text-align: left !important;
    white-space: nowrap !important; /* Keep buttons strictly on a single line */
}

/* Base button styling overrides for compact luxury table action buttons */
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a.woocommerce-button.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 5px 10px !important; /* Slightly more compact padding to prevent crowding */
    font-size: 11px !important; /* Elegant compact font size */
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    margin: 0 6px 0 0 !important; /* Add neat spacing between inline buttons */
    transition: all 0.2s ease-in-out !important;
    cursor: pointer !important;
    height: auto !important;
    border: 1px solid transparent !important;
    white-space: nowrap !important; /* Prevent text inside buttons from wrapping */
    vertical-align: middle !important;
}

.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a.woocommerce-button.button:last-child {
    margin-right: 0 !important;
}

/* Pay Button (Primary Purple Action) */
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a.woocommerce-button.button.pay {
    background-color: var(--wf-secondary-color, #9C7BB3) !important;
    color: #ffffff !important;
}

.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a.woocommerce-button.button.pay:hover {
    background-color: var(--wf-main-color, #284C3D) !important;
}

/* View Button (Secondary Calm Gray/Beige) */
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a.woocommerce-button.button.view {
    background-color: #F2EDE6 !important;
    color: #2B2B2B !important;
    border: 1px solid #e2dcd5 !important;
}

.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a.woocommerce-button.button.view:hover {
    background-color: #e2dcd5 !important;
    color: #111 !important;
}

/* Cancel Button (Soft Warning Red outline/light bg) */
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a.woocommerce-button.button.cancel {
    background-color: rgba(220, 53, 69, 0.05) !important;
    color: #dc3545 !important;
    border: 1px solid rgba(220, 53, 69, 0.15) !important;
}

.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a.woocommerce-button.button.cancel:hover {
    background-color: #dc3545 !important;
    color: #ffffff !important;
    border-color: #dc3545 !important;
}

/* Extra polishing for the table header and borders */
.woocommerce-MyAccount-orders.shop_table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #e2dcd5 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.woocommerce-MyAccount-orders.shop_table th {
    background-color: #F9F6F2 !important;
    border-bottom: 2px solid #e2dcd5 !important;
    padding: 15px 20px !important;
    font-weight: 700 !important;
    color: var(--wf-main-color) !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    letter-spacing: 1px !important;
}

.woocommerce-MyAccount-orders.shop_table td,
.woocommerce-MyAccount-orders.shop_table th[scope="row"] {
    padding: 15px 20px !important;
    border-bottom: 1px solid #e2dcd5 !important;
    vertical-align: middle !important;
}

.woocommerce-MyAccount-orders.shop_table tr:last-child td,
.woocommerce-MyAccount-orders.shop_table tr:last-child th[scope="row"] {
    border-bottom: none !important;
}

/* Mobile responsive styling for My Account Orders table */
@media (max-width: 768px) {
    /* Remove table borders & background constraints */
    .woocommerce-MyAccount-orders.shop_table {
        border: none !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table thead {
        display: none !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table,
    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody,
    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tr,
    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table th,
    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tr {
        background: #ffffff !important;
        border: 1px solid #e2dcd5 !important;
        border-radius: 8px !important;
        padding: 16px !important;
        margin-bottom: 16px !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.02) !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table th,
    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td {
        padding: 10px 0 !important;
        border: none !important;
        border-bottom: 1px dashed rgba(226, 220, 213, 0.5) !important;
        display: flex !important;
        justify-content: flex-start !important; /* Left-aligned */
        align-items: center !important;
        text-align: left !important;
        white-space: normal !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table th:last-child,
    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td:last-child {
        border-bottom: none !important;
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table th::before,
    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td::before {
        content: attr(data-title) ": " !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        font-size: 11px !important;
        letter-spacing: 0.5px !important;
        color: #888888 !important;
        width: 100px !important; /* Fixed width label */
        min-width: 100px !important;
        flex-shrink: 0 !important;
        text-align: left !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table th > a,
    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table th > time,
    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table th > span,
    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td > a,
    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td > time,
    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td > span {
        text-align: left !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-total {
        white-space: normal !important;
        text-align: left !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        align-items: center !important;
        padding-top: 12px !important;
        gap: 8px !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a.woocommerce-button.button {
        flex: 1 !important;
        margin: 0 !important;
        padding: 10px 12px !important;
        height: 38px !important;
        font-size: 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}


/* ============================================================
   WooCommerce View Order Page Premium Custom Styling
   ============================================================ */

/* 1. Order Status Notification Header Banner */
.woocommerce-account .woocommerce-MyAccount-content > p {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #4a4a4a !important;
    background-color: #F9F6F2 !important;
    border: 1px solid #e2dcd5 !important;
    border-left: 4px solid var(--wf-main-color, #284C3D) !important;
    padding: 16px 20px !important;
    border-radius: 6px !important;
    margin-bottom: 30px !important;
    font-weight: 500 !important;
}

.woocommerce-account .woocommerce-MyAccount-content > p mark {
    background: none !important;
    font-weight: 700 !important;
    color: #111 !important;
    padding: 0 4px !important;
}

/* Luxury accent status badge inside notice banner */
.woocommerce-account .woocommerce-MyAccount-content > p mark.order-status {
    background-color: rgba(40, 76, 61, 0.08) !important;
    color: var(--wf-main-color, #284C3D) !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    display: inline-block !important;
    margin-left: 4px !important;
}

/* 2. View Order Section Titles */
.woocommerce-order-details__title,
.woocommerce-column__title {
    font-family: var(--wf-headings-font, inherit) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: var(--wf-main-color, #284C3D) !important;
    margin-top: 35px !important;
    margin-bottom: 20px !important;
    border-bottom: 2px solid #e2dcd5 !important;
    padding-bottom: 10px !important;
}

/* 3. Order Details Table Structure & Card Aesthetics */
.woocommerce-table--order-details {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #e2dcd5 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    margin-bottom: 40px !important;
}

.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
    padding: 15px 20px !important;
    border-bottom: 1px solid #e2dcd5 !important;
    vertical-align: middle !important;
    font-size: 14px !important;
    color: #4a4a4a !important;
}

.woocommerce-table--order-details thead th {
    background-color: #F9F6F2 !important;
    border-bottom: 2px solid #e2dcd5 !important;
    font-weight: 700 !important;
    color: var(--wf-main-color, #284C3D) !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    letter-spacing: 1px !important;
}

/* Elegant product links & item quantity indicators */
.woocommerce-table--order-details td.product-name a {
    color: #111 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
}

.woocommerce-table--order-details td.product-name a:hover {
    color: var(--wf-main-color, #284C3D) !important;
}

.woocommerce-table--order-details td.product-name strong.product-quantity {
    color: #888 !important;
    font-weight: 400 !important;
    margin-left: 6px !important;
}

.woocommerce-table--order-details td.product-total,
.woocommerce-table--order-details tfoot td {
    font-weight: 600 !important;
    color: #111 !important;
}

/* Style footers labels and table structure */
.woocommerce-table--order-details tfoot th {
    background-color: #F9F6F2 !important;
    font-weight: 700 !important;
    color: var(--wf-main-color, #284C3D) !important;
    border-right: 1px solid #e2dcd5 !important;
    width: 200px !important;
    text-transform: uppercase !important;
    font-size: 11px !important;
    letter-spacing: 0.5px !important;
}

.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
    border-bottom: none !important;
}

/* 4. Elegant Action Buttons inside Details Table Footer */
.woocommerce-table--order-details tfoot td a.woocommerce-button.button.order-actions-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 5px 12px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-radius: 4px !important;
    margin-right: 8px !important;
    transition: all 0.2s ease-in-out !important;
    line-height: 1 !important;
    height: auto !important;
    border: 1px solid transparent !important;
}

.woocommerce-table--order-details tfoot td a.woocommerce-button.button.order-actions-button.pay {
    background-color: var(--wf-main-color, #284C3D) !important;
    color: #ffffff !important;
}

.woocommerce-table--order-details tfoot td a.woocommerce-button.button.order-actions-button.pay:hover {
    background-color: var(--wf-secondary-color, #9C7BB3) !important;
}

.woocommerce-table--order-details tfoot td a.woocommerce-button.button.order-actions-button.cancel {
    background-color: rgba(220, 53, 69, 0.05) !important;
    color: #dc3545 !important;
    border: 1px solid rgba(220, 53, 69, 0.15) !important;
}

.woocommerce-table--order-details tfoot td a.woocommerce-button.button.order-actions-button.cancel:hover {
    background-color: #dc3545 !important;
    color: #ffffff !important;
    border-color: #dc3545 !important;
}

/* 5. Address Columns Side-by-Side Cards (Perfectly Aligned Grid) */
.woocommerce-customer-details {
    margin-top: 40px !important;
}

.woocommerce-columns--addresses.col2-set.addresses {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 24px !important;
    margin: 0 !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
}

/* CRITICAL: Disable clearfix pseudo-elements so they do not become empty ghost grid items */
.woocommerce-columns--addresses.col2-set.addresses::before,
.woocommerce-columns--addresses.col2-set.addresses::after {
    display: none !important;
    content: none !important;
}

.woocommerce-columns--addresses.col2-set.addresses .woocommerce-column {
    background-color: #F9F6F2 !important;
    border: 1px solid #e2dcd5 !important;
    border-radius: 8px !important;
    padding: 24px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    box-sizing: border-box !important;
}

/* Prevent Bootstrap conflicts where .col-1 and .col-2 are scaled down to 8.33% / 16.66% */
.woocommerce-columns--addresses.col2-set.addresses .woocommerce-column.col-1,
.woocommerce-columns--addresses.col2-set.addresses .woocommerce-column.col-2 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
}

.woocommerce-columns--addresses.col2-set.addresses .woocommerce-column__title {
    border-bottom: 2px solid var(--wf-main-color, #284C3D) !important;
    padding-bottom: 8px !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    font-size: 15px !important;
}

.woocommerce-columns--addresses.col2-set.addresses address {
    font-style: normal !important;
    font-size: 13.5px !important;
    line-height: 1.7 !important;
    color: #4a4a4a !important;
    margin: 0 !important;
}

/* Enhanced Contact details inside Address blocks */
.woocommerce-customer-details--phone,
.woocommerce-customer-details--email {
    margin: 8px 0 0 0 !important;
    font-size: 13px !important;
    color: #666 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.woocommerce-customer-details--phone::before {
    content: "📞" !important;
    font-size: 12px !important;
}

.woocommerce-customer-details--email::before {
    content: "✉️" !important;
    font-size: 12px !important;
}

/* ============================================================
   WooCommerce Pay Order Page (/checkout/order-pay/) Custom Styling
   ============================================================ */

/* 1. Center and Containerize the review form to completely eliminate half-screen empty space */
.woocommerce-order-pay #order_review,
.woocommerce-checkout.woocommerce-order-pay form#order_review {
    float: none !important;
    width: 100% !important;
    max-width: 800px !important;
    margin: 40px auto !important;
    background-color: #ffffff !important;
    box-sizing: border-box !important;
}

/* 2. Products Summary Table inside Pay Order page */
.woocommerce-order-pay #order_review table.shop_table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #e2dcd5 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    margin-bottom: 30px !important;
}

.woocommerce-order-pay #order_review table.shop_table th,
.woocommerce-order-pay #order_review table.shop_table td {
    padding: 15px 20px !important;
    border-bottom: 1px solid #e2dcd5 !important;
    vertical-align: middle !important;
    font-size: 14px !important;
    color: #4a4a4a !important;
}

.woocommerce-order-pay #order_review table.shop_table thead th {
    background-color: #F9F6F2 !important;
    border-bottom: 2px solid #e2dcd5 !important;
    font-weight: 700 !important;
    color: var(--wf-main-color, #284C3D) !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    letter-spacing: 1px !important;
}

.woocommerce-order-pay #order_review table.shop_table tbody td.product-name {
    font-weight: 600 !important;
    color: #111 !important;
}

.woocommerce-order-pay #order_review table.shop_table tbody td.product-quantity {
    font-weight: 500 !important;
}

.woocommerce-order-pay #order_review table.shop_table tbody td.product-subtotal,
.woocommerce-order-pay #order_review table.shop_table tfoot td.product-total {
    font-weight: 700 !important;
    color: #111 !important;
}

/* Style footers labels and table structure */
.woocommerce-order-pay #order_review table.shop_table tfoot th {
    background-color: #F9F6F2 !important;
    font-weight: 700 !important;
    color: var(--wf-main-color, #284C3D) !important;
    border-right: 1px solid #e2dcd5 !important;
    text-transform: uppercase !important;
    font-size: 11px !important;
    letter-spacing: 0.5px !important;
}

.woocommerce-order-pay #order_review table.shop_table tfoot tr:last-child th,
.woocommerce-order-pay #order_review table.shop_table tfoot tr:last-child td {
    border-bottom: none !important;
}

/* 3. Luxury Payment Card Panel Container */
.woocommerce-order-pay #order_review #payment {
    background-color: #F9F6F2 !important;
    border: 1px solid #e2dcd5 !important;
    border-radius: 8px !important;
    padding: 30px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02) !important;
}

.woocommerce-order-pay #order_review #payment ul.payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 25px 0 !important;
    border-bottom: 1px solid #e2dcd5 !important;
}

.woocommerce-order-pay #order_review #payment ul.payment_methods li.wc_payment_method {
    padding: 15px 0 !important;
    border-bottom: 1px solid rgba(226, 220, 213, 0.5) !important;
}

.woocommerce-order-pay #order_review #payment ul.payment_methods li.wc_payment_method:last-child {
    border-bottom: none !important;
    padding-bottom: 5px !important;
}

.woocommerce-order-pay #order_review #payment ul.payment_methods li.wc_payment_method input.input-radio {
    margin-right: 10px !important;
}

.woocommerce-order-pay #order_review #payment ul.payment_methods li.wc_payment_method label {
    font-weight: 700 !important;
    color: #111 !important;
    font-size: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
}

.woocommerce-order-pay #order_review #payment ul.payment_methods li.wc_payment_method label img {
    max-height: 24px !important;
}

/* Smooth expansion payment detail box */
.woocommerce-order-pay #order_review #payment .payment_box {
    background-color: #ffffff !important;
    border: 1px solid #e2dcd5 !important;
    border-radius: 6px !important;
    padding: 20px !important;
    margin-top: 12px !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.02) !important;
}

/* Pay icons styling (VISA, Mastercard, etc.) */
#op-payment-icons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-bottom: 15px !important;
}

#op-payment-icons img {
    height: 28px !important;
    background-color: #ffffff !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 3px !important;
    padding: 2px 4px !important;
}

/* Seamless iframe display */
#oceanpayment-element iframe {
    border-radius: 4px !important;
    border: 1px solid #e8e8e8 !important;
}

/* 4. Terms and conditions section */
.woocommerce-order-pay #order_review .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 25px !important;
}

.woocommerce-order-pay #order_review .woocommerce-privacy-policy-text p {
    font-size: 12.5px !important;
    line-height: 1.6 !important;
    color: #666 !important;
    margin-bottom: 15px !important;
}

.woocommerce-order-pay #order_review .validate-required label.checkbox {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    cursor: pointer !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #333 !important;
    font-weight: 500 !important;
}

.woocommerce-order-pay #order_review .validate-required label.checkbox input.input-checkbox {
    margin-top: 3px !important;
}

.woocommerce-order-pay #order_review .validate-required label.checkbox a {
    color: var(--wf-main-color, #284C3D) !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}

/* 5. Giant Premium CTA Checkout Button */
.woocommerce-order-pay #order_review button#place_order {
    display: block !important;
    width: 100% !important;
    background-color: var(--wf-main-color, #284C3D) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 16px 30px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 12px rgba(40, 76, 61, 0.15) !important;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    cursor: pointer !important;
}

.woocommerce-order-pay #order_review button#place_order:hover {
    background-color: var(--wf-secondary-color, #9C7BB3) !important;
    box-shadow: 0 6px 16px rgba(156, 123, 179, 0.25) !important;
    transform: translateY(-1px) !important;
}

/* ============================================================
   Custom Premium FAQ / details & summary elements alignment
   ============================================================ */

details summary {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    list-style: none !important;
    cursor: pointer !important;
}

/* Hide default browser marker arrows completely */
details summary::-webkit-details-marker {
    display: none !important;
}
details summary::-moz-list-bullet {
    display: none !important;
}
details summary::marker {
    display: none !important;
    content: "" !important;
}

/* Hide <br> line breaks inside summary so they do not break flexbox layout alignment */
details summary br {
    display: none !important;
}

/* Force the last span containing the "+" or "-" sign to align perfectly to the absolute right */
details summary > span:last-of-type,
details summary > span:last-child {
    margin-left: auto !important;
    text-align: right !important;
    white-space: nowrap !important;
    float: right !important;
}

/* Elegant rotation or transition support for the details summary elements */
details[open] summary > span:last-of-type {
    transform: rotate(45deg) !important; /* Elegant subtle cross effect */
    transition: transform 0.2s ease-in-out !important;
}

/* ============================================================
   WooCommerce My Account Edit Account Details Page Styling
   ============================================================ */

/* 1. Master grid container with custom luxury theme aesthetics */
.woocommerce-EditAccountForm.edit-account {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
    max-width: 750px !important;
    margin: 30px auto !important;
    background-color: #F9F6F2 !important;
    border: 1px solid #e2dcd5 !important;
    border-radius: 8px !important;
    padding: 35px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02) !important;
    box-sizing: border-box !important;
}

/* 2. Responsive grid column spanning */
.woocommerce-EditAccountForm.edit-account .form-row-first {
    grid-column: 1 !important;
}

.woocommerce-EditAccountForm.edit-account .form-row-last {
    grid-column: 2 !important;
}

.woocommerce-EditAccountForm.edit-account .form-row-wide,
.woocommerce-EditAccountForm.edit-account fieldset,
.woocommerce-EditAccountForm.edit-account p:last-child {
    grid-column: span 2 !important;
    width: 100% !important;
    margin: 0 !important;
}

.woocommerce-EditAccountForm.edit-account .clear {
    display: none !important;
}

/* 3. Input & Labels Premium Overrides */
.woocommerce-EditAccountForm.edit-account label {
    font-weight: 700 !important;
    font-size: 12.5px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #111111 !important;
    margin-bottom: 8px !important;
    display: block !important;
}

.woocommerce-EditAccountForm.edit-account label span.required {
    color: #dc3545 !important;
    font-weight: 700 !important;
}

.woocommerce-EditAccountForm.edit-account input.input-text {
    width: 100% !important;
    padding: 12px 15px !important;
    border: 1px solid #e2dcd5 !important;
    border-radius: 5px !important;
    font-size: 14px !important;
    color: #111111 !important;
    background-color: #ffffff !important;
    transition: all 0.2s ease-in-out !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.woocommerce-EditAccountForm.edit-account input.input-text:focus {
    border-color: var(--wf-main-color, #284C3D) !important;
    box-shadow: 0 0 0 3px rgba(40, 76, 61, 0.05) !important;
}

/* Inline description styling */
.woocommerce-EditAccountForm.edit-account #account_display_name_description {
    display: block !important;
    font-size: 12px !important;
    color: #666666 !important;
    margin-top: 6px !important;
    font-style: italic !important;
    line-height: 1.4 !important;
}

/* 4. Luxury fieldset container (Password change block) */
.woocommerce-EditAccountForm.edit-account fieldset {
    border: 1px solid #e2dcd5 !important;
    border-radius: 6px !important;
    padding: 24px !important;
    margin: 20px 0 !important;
    background-color: #ffffff !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    box-sizing: border-box !important;
}

.woocommerce-EditAccountForm.edit-account fieldset legend {
    font-family: var(--wf-headings-font, inherit) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: var(--wf-main-color, #284C3D) !important;
    padding: 0 10px !important;
    margin-left: 10px !important;
    background-color: #ffffff !important;
}

/* Eye icon toggle inside password input span */
.woocommerce-EditAccountForm.edit-account span.password-input {
    position: relative !important;
    display: block !important;
    width: 100% !important;
}

.woocommerce-EditAccountForm.edit-account button.show-password-input {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    width: 20px !important;
    height: 20px !important;
    cursor: pointer !important;
    opacity: 0.6 !important;
    transition: opacity 0.2s !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.woocommerce-EditAccountForm.edit-account button.show-password-input::before {
    content: "👁️" !important;
    font-size: 13px !important;
}

.woocommerce-EditAccountForm.edit-account button.show-password-input:hover {
    opacity: 1 !important;
}

/* 5. Save Changes Checkout button */
.woocommerce-EditAccountForm.edit-account button[name="save_account_details"] {
    display: inline-block !important;
    background-color: var(--wf-main-color, #284C3D) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 14px 35px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border-radius: 5px !important;
    box-shadow: 0 4px 10px rgba(40, 76, 61, 0.1) !important;
    transition: all 0.3s ease-in-out !important;
    cursor: pointer !important;
}

.woocommerce-EditAccountForm.edit-account button[name="save_account_details"]:hover {
    background-color: var(--wf-secondary-color, #9C7BB3) !important;
    box-shadow: 0 6px 14px rgba(156, 123, 179, 0.2) !important;
    transform: translateY(-1px) !important;
}

/* ============================================================
   WooCommerce My Account Edit Addresses Pages Styling
   ============================================================ */

/* ------------------------------------------------------------
   1. Address List Page (my-account/edit-address)
   ------------------------------------------------------------ */

.woocommerce-Addresses.col2-set.addresses {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 24px !important;
    margin: 30px 0 !important;
    width: 100% !important;
}

/* Clear standard floats and clearfix items */
.woocommerce-Addresses.col2-set.addresses::before,
.woocommerce-Addresses.col2-set.addresses::after {
    display: none !important;
    content: none !important;
}

.woocommerce-Addresses.col2-set.addresses .woocommerce-Address {
    background-color: #F9F6F2 !important;
    border: 1px solid #e2dcd5 !important;
    border-radius: 8px !important;
    padding: 24px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    box-sizing: border-box !important;
}

.woocommerce-Addresses.col2-set.addresses .woocommerce-Address.col-1,
.woocommerce-Addresses.col2-set.addresses .woocommerce-Address.col-2 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
}

/* Header bar inside Address cards */
.woocommerce-Address-title.title {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    border-bottom: 2px solid var(--wf-main-color, #284C3D) !important;
    padding-bottom: 8px !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    float: none !important;
    clear: both !important;
}

.woocommerce-Address-title.title h2,
.woocommerce-Address-title.title h3 {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: var(--wf-main-color, #284C3D) !important;
    line-height: 1.2 !important;
    display: inline-block !important;
    width: auto !important;
    max-width: calc(100% - 90px) !important; /* Lock space for EDIT button */
    float: none !important;
    clear: none !important;
    box-sizing: border-box !important;
}

.woocommerce-Address-title.title h2 span,
.woocommerce-Address-title.title h3 span {
    display: inline !important;
}

/* Boutique "Edit" button inside card headers */
.woocommerce-Address-title.title a.edit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 4px 12px !important;
    font-size: 0 !important; /* HIDE original long dynamic text completely */
    letter-spacing: 0 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    background-color: var(--wf-main-color, #284C3D) !important;
    color: #ffffff !important;
    transition: all 0.2s ease-in-out !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
    white-space: nowrap !important; /* Force single line to prevent layout wrapping */
    margin-left: 15px !important;
    flex-shrink: 0 !important;
    float: none !important;
    clear: none !important;
    box-sizing: border-box !important;
}

/* Bulletproof CSS-only text replacement to guarantee it says EDIT regardless of caching/translation */
.woocommerce-Address-title.title a.edit::after {
    content: "EDIT" !important;
    font-size: 11px !important; /* Set correct visible font size */
    letter-spacing: 0.5px !important;
    color: #ffffff !important;
    display: inline-block !important;
}

.woocommerce-Address-title.title a.edit:hover {
    background-color: var(--wf-secondary-color, #9C7BB3) !important;
}

.woocommerce-Address-title.title a.edit:hover::after {
    color: #ffffff !important;
}

.woocommerce-Address address {
    font-style: normal !important;
    font-size: 13.5px !important;
    line-height: 1.7 !important;
    color: #4a4a4a !important;
    margin: 0 !important;
}

/* ------------------------------------------------------------
   2. Address Edit Form Pages (edit-address/billing & shipping)
   ------------------------------------------------------------ */

.woocommerce-address-fields {
    background-color: #F9F6F2 !important;
    border: 1px solid #e2dcd5 !important;
    border-radius: 8px !important;
    padding: 35px !important;
    max-width: 800px !important;
    margin: 30px auto !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02) !important;
    box-sizing: border-box !important;
}

.woocommerce-address-fields h3 {
    font-family: var(--wf-headings-font, inherit) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: var(--wf-main-color, #284C3D) !important;
    margin-top: 0 !important;
    margin-bottom: 25px !important;
    border-bottom: 2px solid var(--wf-main-color, #284C3D) !important;
    padding-bottom: 10px !important;
}

/* Grid alignment inside Address Field Form */
.woocommerce-address-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 15px 20px !important;
}

.woocommerce-address-fields__field-wrapper .form-row-first {
    grid-column: 1 !important;
    width: 100% !important;
    margin: 0 !important;
}

.woocommerce-address-fields__field-wrapper .form-row-last {
    grid-column: 2 !important;
    width: 100% !important;
    margin: 0 !important;
}

.woocommerce-address-fields__field-wrapper .form-row-wide {
    grid-column: span 2 !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Inputs, Selectors and Options styling */
.woocommerce-address-fields__field-wrapper p.form-row label {
    font-weight: 700 !important;
    font-size: 12.5px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #111111 !important;
    margin-bottom: 8px !important;
    display: block !important;
}

.woocommerce-address-fields__field-wrapper p.form-row label span.required {
    color: #dc3545 !important;
    font-weight: 700 !important;
}

/* Inputs & select controls formatting */
.woocommerce-address-fields__field-wrapper input.input-text,
.woocommerce-address-fields__field-wrapper select,
.woocommerce-address-fields__field-wrapper .select2-container--default .select2-selection--single {
    width: 100% !important;
    padding: 12px 15px !important;
    border: 1px solid #e2dcd5 !important;
    border-radius: 5px !important;
    font-size: 14px !important;
    color: #111111 !important;
    background-color: #ffffff !important;
    transition: all 0.2s ease-in-out !important;
    outline: none !important;
    box-sizing: border-box !important;
    height: auto !important;
}

.woocommerce-address-fields__field-wrapper input.input-text:focus,
.woocommerce-address-fields__field-wrapper select:focus,
.woocommerce-address-fields__field-wrapper .select2-container--default.select2-container--focus .select2-selection--single {
    border-color: var(--wf-main-color, #284C3D) !important;
    box-shadow: 0 0 0 3px rgba(40, 76, 61, 0.05) !important;
}

/* Adjust Select2 elements for country/state selections */
.woocommerce-address-fields__field-wrapper .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 0 !important;
    line-height: 1.4 !important;
    color: #111111 !important;
}

.woocommerce-address-fields__field-wrapper .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50% !important;
    transform: translateY(-50%) !important;
    right: 12px !important;
}

/* Luxury Save Address submit button */
.woocommerce-address-fields button[name="save_address"] {
    display: inline-block !important;
    background-color: var(--wf-main-color, #284C3D) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 14px 35px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border-radius: 5px !important;
    box-shadow: 0 4px 10px rgba(40, 76, 61, 0.1) !important;
    transition: all 0.3s ease-in-out !important;
    cursor: pointer !important;
    margin-top: 25px !important;
}

.woocommerce-address-fields button[name="save_address"]:hover {
    background-color: var(--wf-secondary-color, #9C7BB3) !important;
    box-shadow: 0 6px 14px rgba(156, 123, 179, 0.2) !important;
    transform: translateY(-1px) !important;
}

/* ============================================================
   WooCommerce My Account Dashboard Luxury Makeover
   ============================================================ */

/* Hide default plain welcome text on the dashboard */
.woocommerce-account .woocommerce-MyAccount-content > p:nth-of-type(1),
.woocommerce-account .woocommerce-MyAccount-content > p:nth-of-type(2) {
    display: none !important;
}

.v2-luxury-dashboard {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* 1. Dashboard Welcome Banner Card */
.v2-dashboard-welcome-banner {
    position: relative !important;
    background-color: var(--wf-main-color, #284C3D) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    padding: 40px !important;
    margin-bottom: 40px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(40, 76, 61, 0.15) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    box-sizing: border-box !important;
}

.v2-welcome-banner-content {
    max-width: 600px !important;
    z-index: 2 !important;
}

.v2-welcome-tag {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: #c9a054 !important; /* Gold accent color */
    display: block !important;
    margin-bottom: 8px !important;
}

.v2-welcome-title {
    font-family: var(--wf-headings-font, inherit) !important;
    font-weight: 700 !important;
    font-size: 28px !important;
    color: #ffffff !important;
    margin: 0 0 12px 0 !important;
    letter-spacing: 0.5px !important;
    line-height: 1.2 !important;
}

.v2-welcome-desc {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: rgba(255, 255, 255, 0.8) !important;
    margin: 0 0 25px 0 !important;
}

.v2-welcome-actions {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
}

.v2-btn-gold {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 24px !important;
    background-color: var(--wf-secondary-color, #9C7BB3) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    transition: all 0.2s ease-in-out !important;
    box-shadow: 0 4px 15px rgba(156, 123, 179, 0.25) !important;
}

.v2-btn-gold:hover {
    background-color: var(--wf-main-color, #284C3D) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 14px rgba(40, 76, 61, 0.3) !important;
    color: #ffffff !important;
}

.v2-link-logout {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    text-decoration: underline !important;
    transition: opacity 0.2s !important;
}

.v2-link-logout:hover {
    opacity: 0.8 !important;
    color: #ffffff !important;
}

/* Background watermark clover decoration */
.v2-welcome-banner-decor {
    position: absolute !important;
    right: -20px !important;
    bottom: -60px !important;
    font-size: 240px !important;
    color: rgba(255, 255, 255, 0.04) !important;
    line-height: 1 !important;
    user-select: none !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* 2. Grid Dashboard Quick Action Cards */
.v2-dashboard-cards-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 24px !important;
    margin-bottom: 30px !important;
}

.v2-dashboard-card {
    background-color: #F9F6F2 !important;
    border: 1px solid #e2dcd5 !important;
    border-radius: 8px !important;
    padding: 30px !important;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
}

.v2-dashboard-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 24px rgba(40, 76, 61, 0.06) !important;
    border-color: var(--wf-main-color, #284C3D) !important;
}

.v2-card-icon-wrapper {
    width: 44px !important;
    height: 44px !important;
    background-color: rgba(40, 76, 61, 0.06) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 20px !important;
}

.v2-card-icon {
    font-size: 20px !important;
}

.v2-card-title {
    font-family: var(--wf-headings-font, inherit) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #111111 !important;
    margin: 0 0 10px 0 !important;
}

.v2-card-desc {
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: #666666 !important;
    margin: 0 0 20px 0 !important;
    flex-grow: 1 !important;
}

.v2-card-link {
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--wf-main-color, #284C3D) !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    transition: color 0.2s !important;
}

.v2-card-link::after {
    content: " →" !important;
    transition: transform 0.2s !important;
}

.v2-card-link:hover {
    color: var(--wf-secondary-color, #9C7BB3) !important;
}

.v2-card-link:hover::after {
    transform: translateX(3px) !important;
}

/* ============================================================
   WooCommerce Layout Widen & Luxury Left Navigation Overhaul
   ============================================================ */

/* 1. Widen Sidebar Columns dynamically on Desktop ONLY when coexisting with a sidebar in the same row */
@media (min-width: 992px) {
    /* Widen sidebar from 16.6% to 20% for perfect proportional balance */
    .wf-row:has(#wf-sidebar) #wf-sidebar.wf-col-lg-2 {
        flex: 0 0 20% !important;
        max-width: 20% !important;
        width: 20% !important;
        box-sizing: border-box !important;
    }
    /* Narrow main content from 83.3% to 80% to prevent content squishing, only when a sidebar exists */
    .wf-row:has(#wf-sidebar) #wf-main.wf-col-lg-10 {
        flex: 0 0 80% !important;
        max-width: 80% !important;
        width: 80% !important;
        box-sizing: border-box !important;
    }
}

/* 2. Luxury My Account Navigation & Sidebar Widgets - Perfect 1:1 Mirror Layout */
.woocommerce-MyAccount-navigation,
.wf_widget-area .widget,
#wf-sidebar .widget {
    background-color: #ffffff !important; /* Unified pure white premium card background */
    border: 1px solid #e2dcd5 !important; /* Unified fine outer border */
    border-radius: 8px !important;
    padding: 25px 30px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02) !important;
    margin-bottom: 30px !important;
    box-sizing: border-box !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation > ul,
.woocommerce-account .woocommerce-MyAccount-navigation ul,
.woocommerce-MyAccount-navigation ul,
.wf_widget-area .widget ul,
#wf-sidebar .widget ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important; /* No gaps so list items stack continuously with internal dividers */
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Force-remove individual outer borders/boxes on each list item to prevent "border-all-around" on items */
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link,
.woocommerce-account .woocommerce-MyAccount-navigation li,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link,
.woocommerce-account .woocommerce-MyAccount-navigation ul li,
.woocommerce-MyAccount-navigation ul li,
.wf_widget-area .widget ul li,
#wf-sidebar .widget ul li,
.woocommerce .widget.widget_product_categories li {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(226, 220, 213, 0.6) !important; /* Unified light divider ONLY between items */
    background: transparent !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

/* Absolutely no bottom border on the last menu item or logout button specifically */
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link:last-child,
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link:last-child,
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child,
.woocommerce-MyAccount-navigation ul li:last-child,
.wf_widget-area .widget ul li:last-child,
#wf-sidebar .widget ul li:last-child,
.woocommerce .widget.widget_product_categories li:last-child {
    border-bottom: none !important;
    border-bottom-width: 0 !important;
}

/* Unified generous padding, font weight, and uppercase aesthetics */
.woocommerce-account .woocommerce-MyAccount-navigation > ul li a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a,
.woocommerce-MyAccount-navigation ul li a,
.wf_widget-area .widget ul li a,
#wf-sidebar .widget ul li a,
.woocommerce .widget.widget_product_categories li a {
    display: flex !important;
    align-items: center !important;
    padding: 18px 0 !important; /* Generous vertical gap spacing between items */
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important; /* Replicate CATEGORIES uppercase styling exactly */
    letter-spacing: 0.8px !important;
    color: #4a4a4a !important;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    border: none !important;
    border-width: 0 !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    background-color: transparent !important; /* Clear any background fills */
    border-radius: 0 !important; /* Remove button roundings */
    box-sizing: border-box !important;
}

/* Hover: text shifts slightly right and converts to brand green */
.woocommerce-account .woocommerce-MyAccount-navigation > ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li a:hover,
.wf_widget-area .widget ul li a:hover,
#wf-sidebar .widget ul li a:hover,
.woocommerce .widget.widget_product_categories li a:hover {
    background-color: transparent !important;
    color: var(--wf-main-color, #284C3D) !important;
    padding-left: 8px !important; /* Smooth sliding indent matching Categories */
}

/* Active / Current Link State - Match Categories Widget */
.woocommerce-account .woocommerce-MyAccount-navigation > ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li.is-active a,
.wf_widget-area .widget ul li.current-cat a,
#wf-sidebar .widget ul li.current-cat a,
.woocommerce .widget.widget_product_categories li.current-cat a,
.wf_widget-area .widget ul li.current-menu-item a,
#wf-sidebar .widget ul li.current-menu-item a {
    background-color: transparent !important;
    color: var(--wf-main-color, #284C3D) !important;
    font-weight: 700 !important;
    padding-left: 12px !important;
    border-left: 3px solid var(--wf-main-color, #284C3D) !important; /* Premium left indicator bar */
    box-shadow: none !important;
}

/* 100% FORCE REMOVE all theme/plugin pseudo-elements (FontAwesome/LineIcons/Icons) inside navigation links */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a::after,
.woocommerce-MyAccount-navigation ul li a::before,
.woocommerce-MyAccount-navigation ul li a::after {
    display: none !important;
    content: none !important;
}

/* Clean My Account Content container (No border, background or padding) */
.woocommerce-account .woocommerce-MyAccount-content {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
}

/* Remove margins and padding from notices wrapper */
.woocommerce-notices-wrapper {
    margin: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

/* 3. Product Categories Count Pill-Badge styling (never wrap count indicator) */
.wf_widget-area .widget_product_categories ul li,
#wf-sidebar .widget_product_categories ul li {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Aggressively block all default theme list bullets, arrows or folder icons in category sidebar */
.wf_widget-area .widget_product_categories ul li::before,
.wf_widget-area .widget_product_categories ul li::after,
.wf_widget-area .widget_product_categories ul li a::before,
.wf_widget-area .widget_product_categories ul li a::after,
#wf-sidebar .widget_product_categories ul li::before,
#wf-sidebar .widget_product_categories ul li::after,
#wf-sidebar .widget_product_categories ul li a::before,
#wf-sidebar .widget_product_categories ul li a::after,
.woocommerce .widget.widget_product_categories li a::before,
.woocommerce .widget.widget_product_categories li a::after {
    display: none !important;
    content: none !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.wf_widget-area .widget_product_categories ul li a,
#wf-sidebar .widget_product_categories ul li a {
    display: inline-flex !important;
    align-items: center !important;
    flex-grow: 1 !important;
    padding-right: 10px !important;
}

.wf_widget-area .widget_product_categories ul li span.count,
#wf-sidebar .widget_product_categories ul li span.count {
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #888888 !important;
    background-color: rgba(40, 76, 61, 0.05) !important;
    padding: 2px 7px !important;
    border-radius: 10px !important;
    flex-shrink: 0 !important; /* Absolutely prevent wrapping */
    white-space: nowrap !important;
    display: inline-block !important;
    line-height: 1.2 !important;
}

.wf_widget-area .widget_product_categories ul li.current-cat span.count,
#wf-sidebar .widget_product_categories ul li.current-cat span.count {
    background-color: var(--wf-main-color, #284C3D) !important;
    color: #ffffff !important;
}

/* ============================================================
   WooCommerce Sidebar Widgets Custom Premium Styling
   ============================================================ */

/* 1. Global: Remove header bullet/icon span from all widget titles */
.widget-title span,
.wf_widget-area .widget .widget-title span,
#wf-sidebar .widget .widget-title span,
.wf_widget-area .widget .widgettitle span,
#wf-sidebar .widget .widgettitle span {
    display: none !important;
}

/* 2. Global: Eliminate default bullets, folder icons or arrows on ALL widget lists */
.wf_widget-area .widget ul li::before,
.wf_widget-area .widget ul li::after,
.wf_widget-area .widget ul li a::before,
.wf_widget-area .widget ul li a::after,
#wf-sidebar .widget ul li::before,
#wf-sidebar .widget ul li::after,
#wf-sidebar .widget ul li a::before,
#wf-sidebar .widget ul li a::after {
    display: none !important;
    content: none !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 3. Search Widget Premium Makeover (Flex column layout + Stretched input/button) */
.wf_widget-area .widget_search .search-form,
#wf-sidebar .widget_search .search-form {
    display: flex !important;
    flex-direction: column !important; /* Stack vertically so input takes its own line */
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.wf_widget-area .widget_search .search-form label,
#wf-sidebar .widget_search .search-form label {
    width: 100% !important;
    margin: 0 !important;
    display: block !important;
}

/* Search input field text box */
.wf_widget-area .widget_search input.search-field,
#wf-sidebar .widget_search input.search-field {
    width: 100% !important;
    padding: 10px 14px !important;
    border: 1px solid #e2dcd5 !important;
    border-radius: 5px !important;
    font-size: 13px !important;
    color: #111111 !important;
    background-color: #ffffff !important;
    outline: none !important;
    box-sizing: border-box !important;
    height: 38px !important;
    transition: all 0.2s ease-in-out !important;
    display: block !important;
}

.wf_widget-area .widget_search input.search-field:focus,
#wf-sidebar .widget_search input.search-field:focus {
    border-color: var(--wf-main-color, #284C3D) !important;
    box-shadow: 0 0 0 3px rgba(40, 76, 61, 0.05) !important;
}

/* Search submit button (Smaller, boutique style) */
.wf_widget-area .widget_search input.search-submit,
#wf-sidebar .widget_search input.search-submit {
    background-color: var(--wf-secondary-color, #9C7BB3) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 0 16px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    height: 38px !important;
    transition: all 0.2s ease-in-out !important;
    box-shadow: 0 2px 6px rgba(156, 123, 179, 0.1) !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
}

.wf_widget-area .widget_search input.search-submit:hover,
#wf-sidebar .widget_search input.search-submit:hover {
    background-color: var(--wf-main-color, #284C3D) !important;
    box-shadow: 0 4px 10px rgba(40, 76, 61, 0.2) !important;
}

/* ============================================================
   WooCommerce Login & Register – Full Viewport Luxury Layout
   ============================================================ */

/* ── Hide sidebar & expand main column on account page ── */
.woocommerce-account #wf-sidebar {
    display: none !important;
}
.woocommerce-account #wf-main {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
}

/* Override the 80% sidebar-based constraint on account page */
@media (min-width: 992px) {
    .woocommerce-account .wf-row:has(#wf-sidebar) #wf-main.wf-col-lg-10 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}

/* ── Remove parent container constraints on login page ── */
.woocommerce-account .woo-products {
    padding: 0 !important;
}
.woocommerce-account .woo-products > .wf-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
.woocommerce-account .woo-products > .wf-container > .wf-row {
    margin: 0 !important;
    padding: 0 !important;
}

/* ── Notices wrapper ── */
.woocommerce-account .woocommerce-notices-wrapper {
    margin: 0 !important;
    padding: 0 !important;
}

/* ── Main login wrapper: block layout ── */
#customer_login {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* ── Each col (login / register): full-viewport flex row ── */
.woocommerce-account #customer_login.col2-set .col-1,
.woocommerce-account #customer_login.col2-set .col-2,
#customer_login .col-1,
#customer_login .col-2 {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: row !important;
    height: 550px !important;
    min-height: 0 !important;
    max-height: 600px !important;
    background: transparent !important;
    background-color: transparent !important;
    overflow: hidden !important;
    transition: none !important;
}

/* Hide register form by default (CSS-only, no flash before JS) */
#customer_login .col-2 {
    display: none !important;
}

@media (max-width: 768px) {
    .woocommerce-account #customer_login.col2-set .col-1,
    .woocommerce-account #customer_login.col2-set .col-2,
    #customer_login .col-1,
    #customer_login .col-2 {
        flex-direction: column !important;
        height: auto !important;
        max-height: none !important;
    }
}

/* No hover effect on full-width layout */
#customer_login .col-1:hover,
#customer_login .col-2:hover {
    transform: none !important;
}

/* ── Hide WooCommerce h2 headings (we use the tab switcher instead) ── */
#customer_login h2 {
    display: none !important;
}

/* ── Forms wrapper: 40% left column ── */
.v2-forms-wrapper {
    width: 40% !important;
    flex: 0 0 40% !important;
    margin: 0 !important;
    padding: 50px 50px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    background: transparent !important;
    overflow-y: auto !important;
}

@media (max-width: 1024px) {
    .v2-forms-wrapper {
        width: 50% !important;
        flex: 0 0 50% !important;
        padding: 40px 36px !important;
    }
}

@media (max-width: 768px) {
    .v2-forms-wrapper {
        width: 100% !important;
        flex: 0 0 100% !important;
        padding: 30px 24px !important;
    }
}

/* ── Individual forms inside wrapper ── */
#customer_login form {
    width: 100% !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background: transparent !important;
    background-color: transparent !important;
}

/* Register form hidden by default; JS shows it on tab click */
#customer_login form.v2-form-register {
    display: none;
}

/* Tabs wrapper must be visible inside the forms wrapper */
.v2-forms-wrapper .v2-login-tabs-wrapper {
    display: flex !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 0 30px 0 !important;
    background: transparent !important;
}

/* ── Form field rows ── */
#customer_login form p,
#customer_login form .form-row {
    margin-bottom: 20px !important;
    padding: 0 !important;
    display: block !important;
    float: none !important;
    width: 100% !important;
}

/* ── Labels ── */
#customer_login form label {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #4a4a4a !important;
    margin-bottom: 8px !important;
    display: block !important;
}

#customer_login form label .required {
    color: var(--wf-secondary-color, #9C7BB3) !important;
    text-decoration: none !important;
}

/* ── Input fields ── */
#customer_login form input.input-text {
    width: 100% !important;
    padding: 12px 16px !important;
    border: 1.5px solid #e2dcd5 !important;
    border-radius: 6px !important;
    background-color: #faf9f7 !important;
    color: #111111 !important;
    font-size: 14px !important;
    height: 50px !important;
    outline: none !important;
    box-sizing: border-box !important;
    transition: all 0.25s ease-in-out !important;
}

#customer_login form input.input-text:focus {
    border-color: var(--wf-secondary-color, #9C7BB3) !important;
    box-shadow: 0 0 0 3px rgba(156, 123, 179, 0.1) !important;
    background-color: #ffffff !important;
}

/* ── Password eye toggle ── */
#customer_login .password-input {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

#customer_login .password-input input.input-text {
    padding-right: 50px !important;
}

#customer_login .show-password-input {
    position: absolute !important;
    top: 50% !important;
    right: 16px !important;
    transform: translateY(-50%) !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    width: 24px !important;
    height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}

#customer_login .show-password-input::after {
    content: "👁" !important;
    font-size: 16px !important;
    color: #888888 !important;
    display: block !important;
    text-align: center !important;
    line-height: 24px !important;
}

/* ── Remember me ── */
#customer_login form .woocommerce-form-login__rememberme {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 20px !important;
    width: auto !important;
    float: none !important;
    cursor: pointer !important;
}

#customer_login form .woocommerce-form-login__rememberme input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    accent-color: var(--wf-secondary-color, #9C7BB3) !important;
    margin: 0 !important;
    cursor: pointer !important;
}

#customer_login form .woocommerce-form-login__rememberme span {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #666666 !important;
    cursor: pointer !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* ── PURPLE Boutique Buttons (matching site secondary color) ── */
#customer_login form button.button {
    background-color: var(--wf-secondary-color, #9C7BB3) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 0 32px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    height: 50px !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    box-shadow: 0 4px 15px rgba(156, 123, 179, 0.25) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    margin: 10px 0 0 0 !important;
}

#customer_login form button.button:hover {
    background-color: #8664a0 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(156, 123, 179, 0.35) !important;
}

/* ── Lost password ── */
#customer_login form .lost_password {
    margin-top: 24px !important;
    text-align: center !important;
    float: none !important;
    width: 100% !important;
}

#customer_login form .lost_password a {
    color: #999999 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color 0.2s ease-in-out !important;
}

#customer_login form .lost_password a:hover {
    color: var(--wf-secondary-color, #9C7BB3) !important;
}

/* ── Register description text ── */
#customer_login .col-2 > form > p {
    font-size: 13px !important;
    color: #666666 !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* ── Privacy policy ── */
#customer_login .woocommerce-privacy-policy-text {
    margin-bottom: 20px !important;
    float: none !important;
    width: 100% !important;
}

#customer_login .woocommerce-privacy-policy-text p {
    font-size: 12px !important;
    line-height: 1.6 !important;
    color: #888888 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
}

#customer_login .woocommerce-privacy-policy-text a {
    color: var(--wf-secondary-color, #9C7BB3) !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}

/* ============================================================
   Tab Switcher – Elegant Integrated Design
   ============================================================ */
.v2-login-tabs-wrapper {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 0 35px 0 !important;
    background: transparent !important;
}

.v2-login-tabs {
    display: flex !important;
    gap: 0 !important;
    width: 100% !important;
    position: relative !important;
    border: none !important;
    border-bottom: 2px solid #e2dcd5 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.v2-login-tab {
    flex: 1 !important;
    background: var(--v2-bg-main) !important;
    border: none !important;
    border-bottom: 3px solid transparent !important;
    color: #888888 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    padding: 16px 0 !important;
    cursor: pointer !important;
    transition: all 0.25s ease-in-out !important;
    outline: none !important;
    position: relative !important;
    text-align: center !important;
    border-radius: 0 !important;
    margin: 0 !important;
    margin-bottom: -2px !important;
    line-height: 1.2 !important;
}

.v2-login-tab:first-child {
    border-radius: 0 !important;
}

.v2-login-tab:last-child {
    border-radius: 0 !important;
}

.v2-login-tab:hover {
    color: var(--wf-main-color, #284C3D) !important;
    background: var(--v2-bg-main) !important;
}

.v2-login-tab.active {
    color: var(--wf-main-color, #284C3D) !important;
    background: var(--v2-bg-main) !important;
    border-bottom: 3px solid var(--wf-main-color, #284C3D) !important;
}

.v2-login-tab.active::after {
    display: none !important;
}

/* ============================================================
   Right Column – Image (60%)
   ============================================================ */
.v2-login-img-col {
    flex: 0 0 60% !important;
    width: 60% !important;
    position: relative !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    display: block !important;
    padding: 40px !important;
}

@media (max-width: 1024px) {
    .v2-login-img-col {
        flex: 0 0 50% !important;
        width: 50% !important;
    }
}

@media (max-width: 768px) {
    .v2-login-img-col {
        display: none !important;
    }
}

.v2-login-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

.v2-login-img-col:hover .v2-login-img {
    transform: scale(1.04) !important;
}

/* ── Hide the old hero banner elements (no longer needed) ── */
.v2-account-hero,
.v2-account-hero__overlay,
.v2-account-hero__inner,
.v2-account-hero__title,
.v2-account-hero__subtitle {
    display: none !important;
}

/* ============================================================
   EMBEDDED EMPTY CART SANCTUARY & GRID HEIGHT ALIGNMENT
   ============================================================ */

/* ── Redesigned Empty Cart Page ── */
.v2-empty-cart-sanctuary {
    text-align: center !important;
    padding: 30px 20px !important;
    background-color: transparent !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: 600px !important;
    margin: 10px auto !important;
    box-sizing: border-box !important;
}

/* Luxury empty cart icon with pulse dot */
.v2-empty-cart-icon-wrapper {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 90px !important;
    height: 90px !important;
    background-color: #faf9f7 !important;
    border: 1px solid #e2dcd5 !important;
    border-radius: 50% !important;
    margin-bottom: 30px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02) !important;
}

.v2-empty-cart-icon {
    font-size: 32px !important;
}

.v2-empty-cart-dot {
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    width: 10px !important;
    height: 10px !important;
    background-color: var(--wf-secondary-color, #9C7BB3) !important;
    border-radius: 50% !important;
    box-shadow: 0 0 8px var(--wf-secondary-color, #9C7BB3) !important;
    animation: v2FloatingPulse 2.5s infinite alternate !important;
}

.v2-empty-cart-title {
    font-family: var(--wf-title-family), sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: var(--wf-main-color, #284C3D) !important;
    margin: 0 0 15px 0 !important;
}

.v2-empty-cart-desc {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #666666 !important;
    max-width: 480px !important;
    margin: 0 0 35px 0 !important;
    text-transform: none !important;
}

/* Return to shop button matches main site buttons */
.v2-empty-cart-sanctuary a.button.wc-backward {
    background-color: var(--wf-secondary-color, #9C7BB3) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 15px 36px !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    box-shadow: 0 4px 15px rgba(156, 123, 179, 0.25) !important;
}

.v2-empty-cart-sanctuary a.button.wc-backward:hover {
    background-color: var(--wf-main-color, #284C3D) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(40, 76, 61, 0.25) !important;
}

/* ── Align Product Card Heights Symmetrically ── */

/* Force product cards inside loops to behave as structured flex containers */
.woocommerce ul.products li.product .product-single,
.woocommerce-page ul.products li.product .product-single {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: 100% !important;
    background-color: #ffffff !important;
    border: 1px solid #e2dcd5 !important;
    border-radius: 8px !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    transition: all 0.3s ease-in-out !important;
}

/* Unified hover card shadows */
.woocommerce ul.products li.product .product-single:hover,
.woocommerce-page ul.products li.product .product-single:hover {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04) !important;
    transform: translateY(-3px) !important;
    border-color: var(--wf-secondary-color, #9C7BB3) !important;
}

/* Wrap product content outer */
.woocommerce ul.products li.product .product-content-outer,
.woocommerce-page ul.products li.product .product-content-outer {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    flex-grow: 1 !important;
    margin-top: 15px !important;
}

/* Wrap product content */
.woocommerce ul.products li.product .product-content,
.woocommerce-page ul.products li.product .product-content {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

/* Fix product title height to support up to 2 lines symmetrically */
.woocommerce ul.products li.product .product-content h3,
.woocommerce-page ul.products li.product .product-content h3 {
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    color: #111111 !important;
    min-height: 44px !important;
    max-height: 44px !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    margin: 0 0 10px 0 !important;
    text-transform: none !important;
}

/* Fix star rating size and spaces */
.woocommerce ul.products li.product .product-content .star-rating,
.woocommerce-page ul.products li.product .product-content .star-rating {
    margin: 0 0 10px 0 !important;
    height: 16px !important;
    float: none !important;
}

/* CRITICAL SYMMETRY TRICK: If the card has no rating block, add margin to price to align perfectly */
.woocommerce ul.products li.product .product-content:not(:has(.star-rating)) .price,
.woocommerce-page ul.products li.product .product-content:not(:has(.star-rating)) .price {
    margin-top: 36px !important; /* Standard 10px + 26px rating block offset */
}

/* Elegant price tag typography */
.woocommerce ul.products li.product .product-content .price,
.woocommerce-page ul.products li.product .product-content .price {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--wf-main-color, #284C3D) !important;
    margin-top: 10px !important; /* Standard spacing beneath rating block */
    margin-bottom: 25px !important; /* Added breathing room before buttons */
    display: block !important;
}

/* Add to cart buttons aligned at bottom */
.woocommerce ul.products li.product .product-action a.button,
.woocommerce-page ul.products li.product .product-action a.button {
    margin-top: auto !important;
    background-color: var(--wf-secondary-color, #9C7BB3) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 12px 20px !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-align: center !important;
    width: 100% !important;
    display: block !important;
    box-shadow: 0 4px 10px rgba(156, 123, 179, 0.15) !important;
    transition: all 0.25s ease-in-out !important;
    box-sizing: border-box !important;
}

.woocommerce ul.products li.product .product-action a.button:hover,
.woocommerce-page ul.products li.product .product-action a.button:hover {
    background-color: var(--wf-main-color, #284C3D) !important;
    box-shadow: 0 6px 15px rgba(40, 76, 61, 0.25) !important;
}

/* ============================================================
   WOOCOMMERCE GUTENBERG BLOCKS SUPPORT
   ============================================================ */

/* ── Gutenberg Empty Cart Block Redesign ── */
.wp-block-woocommerce-empty-cart-block {
    text-align: center !important;
    padding: 20px 20px !important;
    background-color: transparent !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: 1200px !important;
    margin: 10px auto !important;
    box-sizing: border-box !important;
}

/* Hide plain dots divider in Gutenberg empty cart */
.wp-block-woocommerce-empty-cart-block .wp-block-separator {
    display: none !important;
}

/* Elegant subtitle text spacing */
.wp-block-woocommerce-empty-cart-block p.has-text-align-center {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #666666 !important;
    max-width: 480px !important;
    margin: 0 0 20px 0 !important;
    text-transform: none !important;
}

/* Make empty cart heading stand out beautifully */
.wp-block-woocommerce-empty-cart-block p.has-text-align-center:first-of-type {
    font-family: var(--wf-title-family), sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: var(--wf-main-color, #284C3D) !important;
    margin: 0 0 15px 0 !important;
}

/* Add custom icon before empty cart text in blocks mode */
.wp-block-woocommerce-empty-cart-block::before {
    content: "🛒" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 90px !important;
    height: 90px !important;
    background-color: #faf9f7 !important;
    border: 1px solid #e2dcd5 !important;
    border-radius: 50% !important;
    margin-bottom: 30px !important;
    font-size: 32px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02) !important;
}

/* Return to shop button in blocks mode matches brand purple */
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__button,
.wp-block-woocommerce-empty-cart-block a.wp-block-button__link {
    background-color: var(--wf-secondary-color, #9C7BB3) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 15px 36px !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    box-shadow: 0 4px 15px rgba(156, 123, 179, 0.25) !important;
    margin-top: 15px !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__button:hover,
.wp-block-woocommerce-empty-cart-block a.wp-block-button__link:hover {
    background-color: var(--wf-main-color, #284C3D) !important;
    box-shadow: 0 8px 25px rgba(40, 76, 61, 0.25) !important;
}

/* ── Gutenberg / WooCommerce Blocks Card Heights Alignment ── */

/* Force product templates inside blocks query loops to behave as structured flex containers */
.wc-block-grid__product,
.wp-block-woocommerce-product-template,
.wp-block-woocommerce-product-collection li,
.wc-block-grid__products li {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: 100% !important;
    background-color: #ffffff !important;
    border: 1px solid #e2dcd5 !important;
    border-radius: 8px !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    transition: all 0.3s ease-in-out !important;
}

.wc-block-grid__product:hover,
.wp-block-woocommerce-product-template:hover,
.wp-block-woocommerce-product-collection li:hover {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04) !important;
    transform: translateY(-3px) !important;
    border-color: var(--wf-secondary-color, #9C7BB3) !important;
}

/* Fix product title height symmetrically in blocks mode */
.wc-block-grid__product-title,
.wp-block-post-title,
.wp-block-woocommerce-product-template h2,
.wp-block-woocommerce-product-template h2 a {
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    color: #111111 !important;
    min-height: 40px !important;
    max-height: 40px !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    margin-bottom: 12px !important;
    text-transform: none !important;
    margin-top: 15px !important;
}

/* Rating size and spaces in blocks mode */
.wc-block-grid__product-rating,
.wc-block-woocommerce-product-rating,
.wp-block-woocommerce-product-template .star-rating {
    margin: 0 0 10px 0 !important;
    height: 16px !important;
}

/* CRITICAL SYMMETRY TRICK: Offset if rating block is missing in blocks mode */
.wc-block-grid__product:not(:has(.star-rating)):not(:has(.wc-block-grid__product-rating)) .wc-block-grid__product-price,
.wp-block-woocommerce-product-template:not(:has(.star-rating)):not(:has(.wc-block-woocommerce-product-rating)) .wp-block-woocommerce-product-price,
.wp-block-woocommerce-product-collection li:not(:has(.star-rating)) .wp-block-woocommerce-product-price {
    margin-top: 36px !important; /* Standard 10px + 26px rating block offset */
}

/* Price tag typography in blocks mode */
.wc-block-grid__product-price,
.wp-block-woocommerce-product-price {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--wf-main-color, #284C3D) !important;
    margin-top: 10px !important; /* Standard spacing beneath rating block */
    margin-bottom: 25px !important; /* Added breathing room before buttons */
    display: block !important;
}

/* Aligned add to cart buttons in blocks mode */
.wc-block-grid__product-add-to-cart,
.wp-block-woocommerce-product-button {
    margin-top: auto !important;
    width: 100% !important;
}

.wc-block-grid__product-add-to-cart a,
.wp-block-woocommerce-product-button a.wp-block-button__link {
    background-color: var(--wf-secondary-color, #9C7BB3) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 12px 20px !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-align: center !important;
    display: block !important;
    width: 100% !important;
    box-shadow: 0 4px 10px rgba(156, 123, 179, 0.15) !important;
    transition: all 0.25s ease-in-out !important;
    box-sizing: border-box !important;
}

.wc-block-grid__product-add-to-cart a:hover,
.wp-block-woocommerce-product-button a.wp-block-button__link:hover {
    background-color: var(--wf-main-color, #284C3D) !important;
    box-shadow: 0 6px 15px rgba(40, 76, 61, 0.25) !important;
}

/* Premium grid styling for WooCommerce Blocks grid to prevent squeezing */
ul.wc-block-grid__products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 30px !important;
    padding: 0 !important;
    margin: 40px auto !important;
    width: 100% !important;
    max-width: 1200px !important;
    list-style: none !important;
    float: none !important;
}

ul.wc-block-grid__products::after,
ul.wc-block-grid__products::before {
    display: none !important; /* Remove float clearing helpers if they break grid */
}

/* Clear WooCommerce Blocks default float-based widths */
.wc-block-grid__products li.wc-block-grid__product,
ul.wc-block-grid__products li.wc-block-grid__product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
    flex: 1 1 auto !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
}

/* Ensure images within cards fill space correctly and have premium feel */
.wc-block-grid__product-image {
    margin-bottom: 20px !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    background-color: #faf9f7 !important;
}

.wc-block-grid__product-image img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    transition: transform 0.5s ease !important;
}

.wc-block-grid__product:hover .wc-block-grid__product-image img {
    transform: scale(1.05) !important;
}

/* Responsive adjustments for columns */
@media (max-width: 1024px) {
    ul.wc-block-grid__products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}

@media (max-width: 600px) {
    ul.wc-block-grid__products {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
}

/* ── Redesigned No Products Found Sanctuary ── */
.v2-no-products-found-sanctuary {
    text-align: center !important;
    padding: 60px 40px !important;
    background-color: transparent !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: 600px !important;
    margin: 40px auto !important;
    box-sizing: border-box !important;
}

.v2-no-products-icon-wrapper {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 90px !important;
    height: 90px !important;
    background-color: #faf9f7 !important;
    border: 1px solid #e2dcd5 !important;
    border-radius: 50% !important;
    margin-bottom: 25px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02) !important;
}

.v2-no-products-icon {
    font-size: 32px !important;
}

.v2-no-products-pulse {
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    width: 10px !important;
    height: 10px !important;
    background-color: var(--wf-secondary-color, #9C7BB3) !important;
    border-radius: 50% !important;
    box-shadow: 0 0 8px var(--wf-secondary-color, #9C7BB3) !important;
    animation: v2FloatingPulse 2.5s infinite alternate !important;
}

.v2-no-products-title {
    font-family: var(--wf-title-family), sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: var(--wf-main-color, #284C3D) !important;
    margin: 0 0 15px 0 !important;
}

.v2-no-products-desc {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #666666 !important;
    max-width: 480px !important;
    margin: 0 0 30px 0 !important;
    text-transform: none !important;
}

.v2-btn-luxury {
    background-color: var(--wf-secondary-color, #9C7BB3) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 15px 36px !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    box-shadow: 0 4px 15px rgba(156, 123, 179, 0.25) !important;
}

.v2-btn-luxury:hover {
    background-color: var(--wf-main-color, #284C3D) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(40, 76, 61, 0.25) !important;
}

/* ============================================================
   PREMIUM LUXURY BLOG LIST LAYOUT (1 COLUMN, NO TABLES)
   ============================================================ */

/* Force each blog post block to display as a full-row boutique card */
.wf_post_block {
    width: 100% !important;
    margin-bottom: 40px !important;
}

.wf_post_item.wf_posts--one {
    display: flex !important;
    flex-direction: row !important; /* Horizontal layout on desktop */
    align-items: stretch !important;
    background-color: #ffffff !important;
    border: 1px solid #e2dcd5 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02) !important;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    margin-bottom: 30px !important;
    position: relative !important; /* Anchor absolute coordinate for badges */
}

.wf_post_item.wf_posts--one:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 35px rgba(156, 123, 179, 0.1) !important;
    border-color: var(--wf-secondary-color, #9C7BB3) !important;
}

/* Post thumbnail on the left */
.wf_post_item.wf_posts--one .image {
    width: 380px !important;
    max-width: 380px !important;
    flex-shrink: 0 !important;
    position: relative !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #faf9f7 !important;
}

.wf_post_item.wf_posts--one .image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

.wf_post_item.wf_posts--one:hover .image img {
    transform: scale(1.06) !important;
}

/* Float-in date badge styled in elegant boutique theme */
.wf_post_item.wf_posts--one .image .date {
    position: absolute !important;
    top: 20px !important;
    left: 20px !important;
    z-index: 5 !important;
    background-color: var(--wf-main-color, #284C3D) !important;
    color: #ffffff !important;
    padding: 10px 14px !important;
    border-radius: 6px !important;
    text-align: center !important;
    box-shadow: 0 4px 15px rgba(40, 76, 61, 0.2) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.wf_post_item.wf_posts--one .image .date .day {
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    margin-bottom: 2px !important;
}

.wf_post_item.wf_posts--one .image .date .month {
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

/* Post text content on the right */
.wf_post_item.wf_posts--one .inner {
    flex-grow: 1 !important;
    padding: 35px 40px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    background: transparent !important;
    position: static !important; /* Break relative scope to allow badges to float on the main card */
    border: none !important;
}

.wf_post_item.wf_posts--one:not(.single-post):hover .inner,
.wf_post_item.wf_posts--one:not(.single-post):focus-within .inner {
    background: transparent !important;
    transform: none !important;
}

/* Category tag */
.wf_post_item.wf_posts--one .catetag {
    margin-bottom: 12px !important;
}

.wf_post_item.wf_posts--one .catetag a {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: var(--wf-secondary-color, #9C7BB3) !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.wf_post_item.wf_posts--one .catetag a:hover {
    color: var(--wf-main-color, #284C3D) !important;
}

/* Post Title */
.wf_post_item.wf_posts--one h5.title {
    font-family: var(--wf-title-family), sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin: 0 0 15px 0 !important;
}

.wf_post_item.wf_posts--one h5.title a {
    color: #111111 !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.wf_post_item.wf_posts--one h5.title a:hover {
    color: var(--wf-main-color, #284C3D) !important;
}

/* Metadata bar (Author, comments, read time) */
.wf_post_item.wf_posts--one .meta {
    margin-bottom: 20px !important;
    padding-bottom: 15px !important;
    border-bottom: 1px dashed #e2dcd5 !important;
}

.wf_post_item.wf_posts--one .meta ul {
    display: flex !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 20px !important;
    align-items: center !important;
}

.wf_post_item.wf_posts--one .meta ul li {
    font-size: 12px !important;
    color: #777777 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.wf_post_item.wf_posts--one .meta ul li a {
    color: #555555 !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.wf_post_item.wf_posts--one .meta ul li a:hover {
    color: var(--wf-secondary-color, #9C7BB3) !important;
}

.wf_post_item.wf_posts--one .meta .author img {
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    border: 1px solid #e2dcd5 !important;
}

/* Post Excerpt */
.wf_post_item.wf_posts--one .content.clear {
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: #555555 !important;
    margin-bottom: 20px !important;
}

/* Premium Read More Button */
.wf_post_item.wf_posts--one .more-link,
.wf_post_item.wf_posts--one .read-more-btn {
    align-self: flex-start !important;
    background-color: transparent !important;
    color: var(--wf-main-color, #284C3D) !important;
    border: 1px solid var(--wf-main-color, #284C3D) !important;
    padding: 8px 24px !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    margin-top: 5px !important;
}

.wf_post_item.wf_posts--one .more-link:hover,
.wf_post_item.wf_posts--one .read-more-btn:hover {
    background-color: var(--wf-main-color, #284C3D) !important;
    color: #ffffff !important;
    transform: translateX(4px) !important;
}

/* Responsive styles for tablet and mobile devices */
@media (max-width: 991px) {
    .wf_post_item.wf_posts--one {
        flex-direction: column !important; /* Stack vertically on smaller screens */
    }
    
    .wf_post_item.wf_posts--one .image {
        width: 100% !important;
        max-width: 100% !important;
        height: 250px !important;
    }
    
    .wf_post_item.wf_posts--one .inner {
        padding: 30px 25px !important;
    }
}

/* Container for top-right badges */
.v2-post-badges-top-right {
    position: absolute !important;
    top: 10px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 10 !important;
    display: block !important;
    pointer-events: none !important; /* Allow clicking elements underneath */
}

/* Category badge container - Left Aligned */
.v2-badge-cat {
    position: absolute !important;
    left: 10px !important;
    top: 0 !important;
    display: inline-flex !important;
    pointer-events: auto !important; /* Restore clickability */
}

.v2-badge-cat a,
.v2-badge-cat ul.post-categories li a {
    background-color: var(--wf-main-color, #284C3D) !important;
    color: #ffffff !important;
    border: 1px solid var(--wf-main-color, #284C3D) !important;
    padding: 6px 14px !important;
    border-radius: 30px !important;
    box-shadow: 0 4px 15px rgba(40, 76, 61, 0.15) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center;
    margin: 0 !important;
}

.v2-badge-cat a:hover,
.v2-badge-cat ul.post-categories li a:hover {
    background-color: var(--wf-secondary-color, #9C7BB3) !important;
    border-color: var(--wf-secondary-color, #9C7BB3) !important;
    box-shadow: 0 6px 18px rgba(156, 123, 179, 0.25) !important;
}

/* Strip default ul/li margins for category lists inside our badge */
.v2-badge-cat ul.post-categories {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    gap: 6px !important;
}

.v2-badge-cat ul.post-categories li {
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
}

/* Comments reply badge - Right Aligned */
.v2-badge-comments {
    position: absolute !important;
    right: 10px !important;
    top: 0 !important;
    display: inline-flex !important;
    pointer-events: auto !important; /* Restore clickability */
}

.v2-badge-comments a {
    background-color: rgba(255, 255, 255, 0.9) !important;
    backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(226, 220, 213, 0.8) !important;
    padding: 6px 14px !important;
    border-radius: 30px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
    color: var(--wf-main-color, #284C3D) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    transition: all 0.3s ease !important;
    line-height: 1 !important;
}

.v2-badge-comments a i {
    font-size: 12px !important;
    color: var(--wf-secondary-color, #9C7BB3) !important;
    transition: color 0.3s ease !important;
}

.v2-badge-comments a .count {
    font-size: 11px !important;
    font-weight: 700 !important;
    margin-left: 2px !important;
}

.v2-badge-comments a:hover {
    background-color: var(--wf-main-color, #284C3D) !important;
    border-color: var(--wf-main-color, #284C3D) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 18px rgba(40, 76, 61, 0.2) !important;
}

.v2-badge-comments a:hover i {
    color: #ffffff !important;
}

/* ============================================================
   ULTIMATE GLOBAL STICKY FOOTER & LAYOUT PATCH (ZERO WHITE SPACES)
   ============================================================ */
html, body {
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 100% !important;
}

body {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important;
}

#page {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    min-height: 100vh !important;
}

#content {
    flex-grow: 1 !important;
}

.v2-footer {
    margin-top: auto !important; /* Force sticky footer to sit perfectly at the bottom of viewport/scroll */
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    clear: both !important;
}

/* Mobile responsive styles for Product CTA Buttons */
@media (max-width: 768px) {
    form.cart {
        display: flex !important;
        flex-direction: column !important;
    }
    
    .single_add_to_cart_button.button,
    #v2-buy-now-final {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        display: block !important;
        float: none !important;
        box-sizing: border-box !important;
    }
    
    #v2-buy-now-final {
        margin-top: 12px !important; /* Elegant spacing between buttons */
    }
}







