/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/

/* Custom styles for Tile N Style */

/* Change top bar background from green to dark gray */
.whb-top-bar {
    background-color: #444444 !important;
}

.tns-header-offer-link-wrap {
    display: flex;
    align-items: center;
    margin-right: 18px;
    white-space: nowrap;
}

.tns-header-offer-link {
    color: rgba(255, 255, 255, 0.88);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.01em;
    text-decoration: none;
    transition: color 0.18s ease, opacity 0.18s ease;
}

.tns-header-offer-link:hover,
.tns-header-offer-link:focus {
    color: #d7ac56;
    text-decoration: none;
}

/* Also update any buttons with the green color */
.button.add_to_cart_button,
.button.product_type_simple,
.button.product_type_grouped,
.button.product_type_variable,
.btn.wc-backward,
.woocommerce-button {
    background-color: #444444 !important;
}

.button.add_to_cart_button:hover,
.button.product_type_simple:hover,
.button.product_type_grouped:hover,
.button.product_type_variable:hover,
.btn.wc-backward:hover,
.woocommerce-button:hover {
    background-color: #333333 !important;
}

/* Slider text color to white - Added by Claude */
.wd-slide .slide-title,
.wd-slide h1,
.wd-slide h2,
.wd-slide h3,
.wd-slide h4,
.wd-slide .title,
.slide-content .slide-title,
.slide-content h1,
.slide-content h2,
.slider-title,
.woodmart-slider .slide-title,
.wd-slide-content .slide-title,
.wd-slide-content h1,
.wd-slide-content h2,
.wd-slide-content h3 {
    color: white !important;
}

/* Slider subtitle and description text */
.wd-slide .slide-subtitle,
.wd-slide p,
.slide-content .slide-subtitle,
.slide-content p,
.woodmart-slider .slide-subtitle,
.woodmart-slider p,
.wd-slide-content p,
.wd-slide-content .slide-subtitle,
.wd-slide-content span {
    color: white !important;
}

/* Make sure text is visible on all slide backgrounds */
.wd-slide-content,
.wd-slide-content * {
    color: white !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}

/* Button text on sliders */
.wd-slide .btn,
.slide-content .btn,
.wd-slide-content .btn,
.wd-slide-content a.btn {
    color: white !important;
    border-color: white !important;
}

.wd-slide .btn:hover,
.slide-content .btn:hover,
.wd-slide-content .btn:hover {
    background-color: white !important;
    color: #444444 !important;
}

/* Homepage slider: clear the overlapping header so slide labels are not clipped. */
.home #slider-70 .wd-slide-container {
    box-sizing: border-box;
    padding-top: 125px !important;
}

/* Bathroom slide uses a pale image, so force dark readable copy only there. */
.home #slider-70 #slide-11018 .wd-text-block,
.home #slider-70 #slide-11018 .wd-text-block p,
.home #slider-70 #slide-11018 .wd-text-block span,
.home #slider-70 #slide-11018 .woodmart-title-container,
.home #slider-70 #slide-11018 .title-wrapper .title {
    color: #2f3437 !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.72), 0 12px 24px rgba(255, 255, 255, 0.46) !important;
}

.home #slider-70 #slide-11018 .btn-style-bordered,
.home #slider-70 #slide-11018 .btn-style-bordered .wd-btn-text {
    border-color: #2f3437 !important;
    color: #2f3437 !important;
    text-shadow: none !important;
}

.home #slider-70 #slide-11018 .btn-style-bordered:hover {
    background-color: #2f3437 !important;
    border-color: #2f3437 !important;
}

.home #slider-70 #slide-11018 .btn-style-bordered:hover,
.home #slider-70 #slide-11018 .btn-style-bordered:hover .wd-btn-text {
    color: #ffffff !important;
}

/* Remove the irrelevant Add to Cart CTA from the bathroom homepage slide. */
.home #slider-70 #slide-11018 .elementor-element-dd7d864 {
    display: none !important;
}

/* Strengthen the small bathroom-slide subtitle over the pale tiled background. */
.home #slider-70 #slide-11018 .elementor-element-240895a .wd-text-block,
.home #slider-70 #slide-11018 .elementor-element-240895a .wd-text-block p,
.home #slider-70 #slide-11018 .elementor-element-240895a .wd-text-block span {
    color: #20262a !important;
    font-weight: 600 !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.95), 0 0 14px rgba(255, 255, 255, 0.9) !important;
}

@media (max-width: 767px) {
    .home #slider-70 .wd-slide-container {
        padding-top: 95px !important;
    }
}

/* Mega menu: keep dropdown scrollable on all screen sizes */
#menu-item-29156 .wd-dropdown-menu.wd-scroll,
#menu-item-29156 .wd-dropdown-menu.wd-scroll .wd-scroll-content,
#menu-item-29156 .wd-dropdown-menu.wd-scroll .wd-dropdown-inner,
#menu-item-28986 .wd-dropdown-menu.wd-scroll,
#menu-item-28986 .wd-dropdown-menu.wd-scroll .wd-scroll-content,
#menu-item-28986 .wd-dropdown-menu.wd-scroll .wd-dropdown-inner,
#menu-item-32802 .wd-dropdown-menu.wd-scroll,
#menu-item-32802 .wd-dropdown-menu.wd-scroll .wd-scroll-content,
#menu-item-32802 .wd-dropdown-menu.wd-scroll .wd-dropdown-inner {
    height: calc(100vh - 140px) !important;
    max-height: calc(100vh - 140px) !important;
}

/* Prevent Woodmart/Elementor scripts from forcing dropdown menus into document flow.
   Some blocks can inject inline `position: relative;` on the dropdown, which breaks
   the header layout (logo/icons pushed off-screen) and can cause page-load shifts. */
.wd-nav-main li.menu-mega-dropdown > .wd-dropdown-menu {
    position: absolute !important;
}

/* Mega menu: on open, force the dropdown to behave like a full-viewport overlay.
   This prevents the page content from showing "behind" the menu on category pages. */
:root {
    --tns-mega-offset: 90px;
}

#menu-item-29156.wd-opened > .wd-dropdown-menu,
#menu-item-28986.wd-opened > .wd-dropdown-menu {
    position: fixed !important;
    top: var(--tns-mega-offset) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    /* Explicit height avoids some browsers shrinking the overlay to content height. */
    height: calc(100vh - var(--tns-mega-offset)) !important;
    max-height: none !important;
    margin: 0 !important;
    z-index: 9999 !important;
    overflow: auto !important;
    /* Override WoodMart offset-calc guard that blocks opacity when position is forced. */
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

#menu-item-29156.wd-opened::before,
#menu-item-28986.wd-opened::before {
    content: "";
    position: fixed;
    inset: var(--tns-mega-offset) 0 0 0;
    background: #f6f3ee;
    z-index: 9998;
}

#menu-item-29156 .wd-dropdown-menu.wd-scroll .wd-scroll-content,
#menu-item-29156 .wd-dropdown-menu.wd-scroll .wd-dropdown-inner,
#menu-item-28986 .wd-dropdown-menu.wd-scroll .wd-scroll-content,
#menu-item-28986 .wd-dropdown-menu.wd-scroll .wd-dropdown-inner,
#menu-item-32802 .wd-dropdown-menu.wd-scroll .wd-scroll-content,
#menu-item-32802 .wd-dropdown-menu.wd-scroll .wd-dropdown-inner {
    overflow-y: auto !important;
    overscroll-behavior: contain;
}

/* Ensure mega menu is interactive (scroll/click) */
#menu-item-29156 > .wd-dropdown-menu,
#menu-item-29156 .wd-scroll-content,
#menu-item-29156 .wd-dropdown-inner,
#menu-item-28986 > .wd-dropdown-menu,
#menu-item-28986 .wd-scroll-content,
#menu-item-28986 .wd-dropdown-inner,
#menu-item-32802 > .wd-dropdown-menu,
#menu-item-32802 .wd-scroll-content,
#menu-item-32802 .wd-dropdown-inner {
    pointer-events: auto !important;
}

/* Mega menu (Bathroom): soften the all-white look with a subtle warm background */
#menu-item-29156 > .wd-dropdown-menu {
    background: #f6f3ee;
}

/* Mega menu (Shop): use the same subtle warm background as Bathroom */
#menu-item-28986 > .wd-dropdown-menu {
    background: #f6f3ee;
}

/* Fix: WoodMart add-to-cart popup can render in the document flow instead of as
   a fixed overlay, pushing the header down. Two scenarios:
   1) .mfp-wrap exists but has position:static (non-admin / slide-from-left variant)
   2) .mfp-wrap is never created and .wd-popup renders inline (admin / JS conflict)
   Both are fixed below. */
.mfp-wrap.wd-popup-slide-from-left {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 10000 !important;
}

/* Scenario 2: The .wd-popup renders inline (no .mfp-wrap parent).
   Convert it to a centered fixed overlay so it doesn't push the header down. */
.wd-popup.popup-added_to_cart {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 10000 !important;
    background: #fff !important;
    box-shadow: 0 8px 40px rgba(0,0,0,0.25) !important;
    padding: 30px 35px !important;
    max-width: 450px !important;
    width: 90% !important;
    border-radius: 12px !important;
    text-align: center !important;
}

/* When inside .mfp-wrap, reset only the fixed positioning —
   Magnific Popup flex container handles centering, and the standalone
   max-width/border-radius/shadow from above are harmless here. */
.mfp-wrap .wd-popup.popup-added_to_cart {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
}

/* Mega menu (Shop): compact the header — shrink the gap above the 3-column grid */
#menu-item-28986 .tns-shop-menu > h2 {
    margin: 0 0 8px !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    display: flex;
    align-items: center;
    gap: 10px;
}

#menu-item-28986 .tns-shop-menu > h2 br {
    display: none !important;
}

#menu-item-28986 .tns-shop-menu > h2 a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: 600 !important;
    opacity: 0.85;
}

#menu-item-28986 .tns-shop-menu > h2 a:hover {
    opacity: 1;
}

#menu-item-28986 .tns-shop-menu > h2 a svg {
    margin-top: 0 !important;
}

/* Mega menu (Shop): remove the centered container constraint so the menu content spans full width. */
#menu-item-28986 > .wd-dropdown-menu .container.wd-entry-content {
    max-width: none !important;
    width: 100% !important;
    padding-left: clamp(16px, 4vw, 64px) !important;
    padding-right: clamp(16px, 4vw, 64px) !important;
}

#menu-item-28986 .tns-shop-shell {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 20px;
    margin-top: 0;
    align-items: start;
}

@media (min-width: 1401px) {
    #menu-item-28986 .tns-shop-shell {
        grid-template-columns: 260px minmax(0, 1fr) 240px;
    }
}

#menu-item-28986 .tns-shop-left {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 14px;
    padding: 12px 14px;
}

/* The Shop CMS block uses <br> between buttons; hide them so the list matches Bathroom spacing. */
#menu-item-28986 .tns-shop-left br {
    display: none !important;
}

#menu-item-28986 .tns-shop-parent {
    width: 100%;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    padding: 12px 10px 12px 52px;
    min-height: 48px;
    border-radius: 12px;
    background: transparent;
    border: 0;
    color: #3f3f46;
    font-weight: 600;
    letter-spacing: 0.01em;
    cursor: pointer;
}

/* Shop menu left-side icons (set via JS: data-tns-icon=...). Match Bathroom icon sizing. */
#menu-item-28986 .tns-shop-parent {
    position: relative;
}

#menu-item-28986 .tns-shop-parent::before {
    content: "";
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.7;
}

#menu-item-28986 .tns-shop-parent[data-tns-icon="tiles"]::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/tiles.svg");
}

#menu-item-28986 .tns-shop-parent[data-tns-icon="paint"]::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/paint.svg");
}

#menu-item-28986 .tns-shop-parent[data-tns-icon="carpets"]::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/carpets.svg");
}

#menu-item-28986 .tns-shop-parent[data-tns-icon="flooring"]::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/flooring.svg");
}

#menu-item-28986 .tns-shop-parent[data-tns-icon="wallpaper"]::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/wallpaper.svg");
}

#menu-item-28986 .tns-shop-parent[data-tns-icon="installation"]::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/installation.svg");
}

#menu-item-28986 .tns-shop-parent[data-tns-icon="wrx"]::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/wrx-paint.svg");
}

#menu-item-28986 .tns-shop-parent:hover {
    background: rgba(0, 0, 0, 0.04);
}

#menu-item-28986 .tns-shop-parent.is-active {
    background: rgba(0, 0, 0, 0.06);
    color: #18181b;
}

#menu-item-28986 .tns-shop-right {
    min-width: 0;
}

#menu-item-28986 .tns-shop-panel {
    display: none;
}

#menu-item-28986 .tns-shop-panel.is-active {
    display: block;
}

#menu-item-28986 .tns-panel-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

#menu-item-28986 .tns-panel-head h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 750;
    color: #27272a;
}

#menu-item-28986 .tns-panel-head a {
    color: #52525b;
    text-decoration: none;
    font-weight: 650;
}

#menu-item-28986 .tns-panel-head a:hover {
    text-decoration: underline;
}

#menu-item-28986 .tns-shop-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-top: 14px;
}

#menu-item-28986 .tns-shop-panel[data-tns-shop-panel="tiles"] .tns-shop-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

#menu-item-28986 .tns-shop-panel[data-tns-shop-panel="installation"] .tns-shop-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

#menu-item-28986 .tns-shop-benefits {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    margin-top: 20px;
    padding: 16px 18px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(28, 28, 28, 0.06);
    box-shadow: 0 14px 34px rgba(45, 39, 31, 0.08);
}

#menu-item-28986 .tns-shop-panel:not([data-tns-shop-panel="tiles"]):not([data-tns-shop-panel="flooring"]):not([data-tns-shop-panel="wallpaper"]):not([data-tns-shop-panel="installation"]):not([data-tns-shop-panel="carpets"]):not([data-tns-shop-panel="paint"]) .tns-shop-benefits {
    display: none;
}

#menu-item-28986 .tns-shop-benefit {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 0 16px;
    border-right: 1px solid rgba(24, 24, 27, 0.08);
}

#menu-item-28986 .tns-shop-benefit:first-child {
    padding-left: 0;
}

#menu-item-28986 .tns-shop-benefit:last-child {
    padding-right: 0;
    border-right: 0;
}

#menu-item-28986 .tns-shop-benefit-icon {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    color: #27272a;
}

#menu-item-28986 .tns-shop-benefit-icon svg {
    width: 100%;
    height: 100%;
}

#menu-item-28986 .tns-shop-benefit-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.25;
}

#menu-item-28986 .tns-shop-benefit-text strong {
    color: #27272a;
    font-size: 13px;
    font-weight: 750;
}

#menu-item-28986 .tns-shop-benefit-text small {
    color: #5f6368;
    font-size: 12px;
    font-weight: 500;
}

#menu-item-29156 .tns-bathroom-benefits {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    margin-top: 22px;
    width: 100%;
    flex: 0 0 auto;
    padding: 16px 18px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(28, 28, 28, 0.06);
    box-shadow: 0 14px 34px rgba(45, 39, 31, 0.08);
}

#menu-item-29156 .tns-bathroom-benefit {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 0 16px;
    border-right: 1px solid rgba(24, 24, 27, 0.08);
}

#menu-item-29156 .tns-bathroom-benefit:first-child {
    padding-left: 0;
}

#menu-item-29156 .tns-bathroom-benefit:last-child {
    padding-right: 0;
    border-right: 0;
}

#menu-item-29156 .tns-bathroom-benefit-icon {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    color: #27272a;
}

#menu-item-29156 .tns-bathroom-benefit-icon svg {
    width: 100%;
    height: 100%;
}

#menu-item-29156 .tns-bathroom-benefit-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.25;
}

#menu-item-29156 .tns-bathroom-benefit-text strong {
    color: #27272a;
    font-size: 13px;
    font-weight: 750;
}

#menu-item-29156 .tns-bathroom-benefit-text small {
    color: #5f6368;
    font-size: 12px;
    font-weight: 500;
}

@media (max-width: 1200px) {
    #menu-item-28986 .tns-shop-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    #menu-item-28986 .tns-shop-shell {
        grid-template-columns: 240px minmax(0, 1fr);
    }
    #menu-item-28986 .tns-shop-benefits {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        row-gap: 14px;
    }
    #menu-item-28986 .tns-shop-benefit:nth-child(3) {
        border-right: 0;
    }

    #menu-item-29156 .tns-bathroom-benefits {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        row-gap: 14px;
    }

    #menu-item-29156 .tns-bathroom-benefit:nth-child(3) {
        border-right: 0;
    }
}

@media (max-width: 768px) {
    #menu-item-28986 .tns-shop-shell {
        grid-template-columns: 1fr;
    }
    #menu-item-28986 .tns-shop-left {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding: 10px;
        -webkit-overflow-scrolling: touch;
    }
    #menu-item-28986 .tns-shop-parent {
        width: auto;
        white-space: nowrap;
    }
    #menu-item-28986 .tns-shop-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    #menu-item-28986 .tns-shop-benefits {
        grid-template-columns: 1fr;
        padding: 14px;
    }
    #menu-item-28986 .tns-shop-benefit {
        padding: 10px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(24, 24, 27, 0.08);
    }
    #menu-item-28986 .tns-shop-benefit:last-child {
        border-bottom: 0;
    }

    #menu-item-29156 .tns-bathroom-benefits {
        grid-template-columns: 1fr;
        padding: 14px;
    }

    #menu-item-29156 .tns-bathroom-benefit {
        padding: 10px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(24, 24, 27, 0.08);
    }

    #menu-item-29156 .tns-bathroom-benefit:last-child {
        border-bottom: 0;
    }
}

#menu-item-28986 .wd-cat.tns-shop-cat .wd-cat-thumb {
    background: rgba(255, 255, 255, 0.55);
    border-radius: 14px;
    padding: 14px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(0, 0, 0, 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
}

#menu-item-28986 .wd-cat.tns-shop-cat img {
    max-height: 150px;
    width: auto;
    object-fit: contain;
    mix-blend-mode: multiply;
}

/* Shop mega menu: when a category has a real image, let it fill the media
   panel edge-to-edge. Placeholder cards keep the softer padded tray. */
#menu-item-28986 .wd-cat.tns-shop-cat .wd-cat-thumb:has(img) {
    padding: 0;
    min-height: 172px;
    overflow: hidden;
    align-items: stretch;
    justify-content: stretch;
}

#menu-item-28986 .wd-cat.tns-shop-cat .wd-cat-thumb img {
    display: block;
    width: 100%;
    height: 172px;
    max-height: none;
    object-fit: cover;
    object-position: center top;
    border-radius: 0;
    mix-blend-mode: normal;
}

#menu-item-28986 .wd-cat-inner > a {
    display: block;
    color: inherit;
    text-decoration: none;
    height: 100%;
}

#menu-item-28986 .tns-cat-placeholder {
    width: 100%;
    height: 140px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 650;
    letter-spacing: 0.01em;
    color: #525252;
    background: radial-gradient(120% 120% at 20% 10%, #ffffff 0%, #f1eee7 55%, #ebe7df 100%);
}

#menu-item-29156 .wd-dropdown-inner,
#menu-item-29156 .wd-scroll-content {
    background: transparent;
}

/* Mega menu: vertical divider between left categories and right products */
.wd-dropdown-menu .elementor-widget-n-tabs .e-n-tabs-heading {
    box-sizing: border-box;
    border-right: 1px solid #e6e6e6;
    padding-right: 20px;
    margin-right: 20px;
}

/* Mega menu (Bathroom): give the left list a "panel" so it doesn't float on white */
#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading {
    background: rgba(255, 255, 255, 0.72);
    border-right-color: rgba(0, 0, 0, 0.08);
    border-radius: 14px;
    padding: 12px 14px;
}

/* Mega menu (Bathroom): keep the right content readable against the tinted background */
#menu-item-29156 .e-con-inner {
    border-radius: 16px;
}

/* Mega menu (Bathroom): override Elementor CSS vars for tighter padding */
#menu-item-29156 .elementor-element.elementor-element-a481e56 {
    --padding-top: 0px !important;
    --padding-bottom: 0px !important;
    --padding-left: 24px !important;
    --padding-right: 24px !important;
    --margin-bottom: 0px !important;
    padding: 0 24px !important;
    margin-bottom: 0 !important;
}

/* Hide "Categories See all" heading on desktop — the left nav IS the categories list.
   This removes the vertical gap that misaligns the three columns. */
#menu-item-29156 .elementor-element.elementor-element-7b7f140 {
    display: none !important;
}

/* Align all columns to the same top edge */
#menu-item-29156 .elementor-element.elementor-element-a481e56 > .e-con-inner {
    align-items: flex-start !important;
    padding: 14px 0 !important;
}

/* Mega menu: reduce left gutter so categories align closer to the edge */
.wd-dropdown-menu .e-con-inner {
    box-sizing: border-box;
    max-width: 100% !important;
    padding-left: 24px;
    padding-right: 24px;
}

/* Mega menu: add product card background like homepage product grid */
#menu-item-29156 .wd-products,
#menu-item-28986 .wd-products,
#menu-item-32802 .wd-products {
    --wd-prod-bg: var(--bgcolor-white, #ffffff);
}

#menu-item-29156 .wd-cat .wd-cat-inner,
#menu-item-28986 .wd-cat .wd-cat-inner {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
    transition: transform 160ms ease, box-shadow 160ms ease;
}

#menu-item-29156 .wd-cat .wd-cat-thumb,
#menu-item-28986 .wd-cat .wd-cat-thumb {
    background: #fbfaf7;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    padding: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#menu-item-29156 .wd-cat .wd-cat-thumb img,
#menu-item-28986 .wd-cat .wd-cat-thumb img {
    border-radius: 12px;
    max-height: 140px;
    width: auto;
    object-fit: contain;
}

/* Bathroom mega menu: when a category has a real image, treat it like the
   Shop cards and let the media area fill edge-to-edge instead of sitting in a
   padded thumbnail tray. */
#menu-item-29156 .wd-cat .wd-cat-thumb:has(img) {
    padding: 0;
    min-height: 172px;
    overflow: hidden;
    align-items: stretch;
    justify-content: stretch;
}

#menu-item-29156 .wd-cat .wd-cat-thumb:has(img) > a {
    display: block;
    width: 100%;
    height: 100%;
}

#menu-item-29156 .wd-cat .wd-cat-thumb:has(img) img {
    display: block;
    width: 100%;
    height: 172px;
    max-height: none;
    object-fit: cover;
    object-position: center top;
    border-radius: 0;
}

#menu-item-29156 .wd-cat .wd-cat-content,
#menu-item-28986 .wd-cat .wd-cat-content {
    padding: 10px 12px 12px;
}

#menu-item-29156 .wd-cat .wd-entities-title,
#menu-item-28986 .wd-cat .wd-entities-title {
    margin: 0;
}

#menu-item-29156 .wd-cat:hover .wd-cat-inner,
#menu-item-28986 .wd-cat:hover .wd-cat-inner {
    transform: translateY(-2px);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.08);
}

#menu-item-29156 .wd-product,
#menu-item-28986 .wd-product,
#menu-item-32802 .wd-product {
    --wd-prod-bg-sp: 15px;
}

#menu-item-29156 .wd-product .product-wrapper,
#menu-item-28986 .wd-product .product-wrapper,
#menu-item-32802 .wd-product .product-wrapper {
    background-color: var(--wd-prod-bg);
}

/* Mega menu: add category icons on the left list (Bathroom menu only) */
#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title,
#menu-item-28970 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title {
    display: flex;
    align-items: center;
    gap: 10px;
}

#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title::before,
#menu-item-28970 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title::before {
    content: "";
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.7;
}

#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(1)::before,
#menu-item-28970 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(1)::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/bathroom-furniture.svg");
}
#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(2)::before,
#menu-item-28970 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(2)::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/sanitary-ware.svg");
}
#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(3)::before,
#menu-item-28970 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(3)::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/baths.svg");
}
#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(4)::before,
#menu-item-28970 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(4)::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/showers.svg");
}
#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(5)::before,
#menu-item-28970 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(5)::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/shower-doors.svg");
}
#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(6)::before,
#menu-item-28970 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(6)::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/taps.svg");
}
#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(7)::before,
#menu-item-28970 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(7)::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/mirrors.svg");
}
#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(8)::before,
#menu-item-28970 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(8)::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/tiles.svg");
}
#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(9)::before,
#menu-item-28970 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(9)::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/radiators.svg");
}
#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(10)::before,
#menu-item-28970 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(10)::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/accessories.svg");
}
#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(11)::before,
#menu-item-28970 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:nth-child(11)::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/adhesives.svg");
}

/* Mega menu: tighten the left category list spacing (keep comfortable tap targets) */
#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title,
#menu-item-28970 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title {
    padding: 12px 10px;
    min-height: 48px;
    height: auto;
}

/* Slightly reduce icon/text gap when spacing is tighter */
#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title,
#menu-item-28970 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title {
    gap: 8px;
}

/* Keep the active tab readable with tighter spacing */
#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title[aria-selected="true"],
#menu-item-28970 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title[aria-selected="true"] {
    font-weight: 600;
}

/* Carpet swatches - tile style for colour options only */
.product_cat-carpets .variations td.value.cell.with-swatches {
    background: #f6f1ea;
    border-radius: 16px;
    padding: 18px;
}

.product_cat-carpets .wd-swatches-product[data-id="pa_colour"] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 14px 16px;
}

.product_cat-carpets .wd-swatches-product[data-id="pa_colour"] .wd-swatch {
    background: transparent;
    border: 0;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    padding: 0;
}

.product_cat-carpets .wd-swatches-product[data-id="pa_colour"] .wd-swatch::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 65%;
    border-radius: 12px;
    background: var(--tns-swatch-image) center/cover no-repeat, #e2ddd4;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06);
}

.product_cat-carpets .wd-swatches-product[data-id="pa_colour"] .wd-swatch:hover::before {
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08), 0 6px 14px rgba(0, 0, 0, 0.08);
}

.product_cat-carpets .wd-swatches-product[data-id="pa_colour"] .wd-swatch.wd-active::before {
    box-shadow: inset 0 0 0 2px rgba(100, 90, 78, 0.6), 0 4px 10px rgba(0, 0, 0, 0.08);
}

.product_cat-carpets .wd-swatches-product[data-id="pa_colour"] .wd-swatch-text {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.25;
    color: #6f6a63;
    text-align: left;
}

/* Carpet product page: increase gallery height (keep default column widths) */
.product_cat-carpets .woocommerce-product-gallery__image {
    aspect-ratio: 5 / 4;
}

.product_cat-carpets .woocommerce-product-gallery__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Carpet products are treated as quote-only catalogue items. Hide pricing and
   checkout controls, then surface contact CTAs. */
.single-product .product_cat-carpets .summary-inner > .price,
.single-product .product_cat-carpets .summary-inner p.price,
.single-product .product_cat-carpets .summary-inner .woocommerce-variation-price {
    display: none !important;
}

/* MyLife is catalogue/order-in only, but prices must remain visible. */
.single-product .tns-mylife-catalog-product form.cart .quantity,
.single-product .tns-mylife-catalog-product form.cart .single_add_to_cart_button,
.single-product .tns-mylife-catalog-product form.cart .woocommerce-variation-add-to-cart,
.single-product .product_cat-carpets form.cart .quantity,
.single-product .product_cat-carpets form.cart .single_add_to_cart_button,
.single-product .product_cat-carpets form.cart .woocommerce-variation-add-to-cart {
    display: none !important;
}

.tns-mylife-catalog-product .wd-add-btn,
.tns-mylife-catalog-product .add-to-cart-loop {
    display: none !important;
}

.single-product .tns-mylife-catalog-product .tns-product-enquiry-cta,
.single-product .product_cat-carpets .tns-carpet-enquiry-cta {
    margin-top: 18px;
    margin-bottom: 20px;
    padding: 18px 20px;
    border-radius: 18px;
    background:
        linear-gradient(145deg, rgba(250, 247, 241, 0.96), rgba(244, 238, 228, 0.96));
    border: 1px solid rgba(110, 100, 88, 0.10);
    box-shadow: 0 16px 34px rgba(76, 62, 42, 0.10);
}

.single-product .tns-mylife-catalog-product .tns-product-enquiry-copy,
.single-product .product_cat-carpets .tns-carpet-enquiry-copy {
    margin: 0 0 14px;
    color: #61584d;
    font-size: 14px;
    line-height: 1.6;
}

.single-product .tns-mylife-catalog-product .tns-product-enquiry-buttons,
.single-product .product_cat-carpets .tns-carpet-enquiry-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.single-product .tns-mylife-catalog-product .tns-product-enquiry-button,
.single-product .product_cat-carpets .tns-carpet-enquiry-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 210px;
    min-height: 48px;
    padding: 0 18px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}

.single-product .tns-mylife-catalog-product .tns-product-enquiry-button:hover,
.single-product .product_cat-carpets .tns-carpet-enquiry-button:hover {
    transform: translateY(-1px);
}

.single-product .tns-mylife-catalog-product .tns-product-enquiry-button.is-whatsapp,
.single-product .product_cat-carpets .tns-carpet-enquiry-button.is-whatsapp {
    background: linear-gradient(135deg, #25d366 0%, #19b955 100%);
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(37, 211, 102, 0.26);
}

.single-product .tns-mylife-catalog-product .tns-product-enquiry-button.is-email,
.single-product .product_cat-carpets .tns-carpet-enquiry-button.is-email {
    background: #ffffff;
    color: #3b352e;
    border: 1px solid rgba(95, 86, 73, 0.18);
    box-shadow: 0 10px 22px rgba(64, 53, 39, 0.10);
}

@media (max-width: 767px) {
    .single-product .tns-mylife-catalog-product .tns-product-enquiry-buttons,
    .single-product .product_cat-carpets .tns-carpet-enquiry-buttons {
        flex-direction: column;
    }

    .single-product .tns-mylife-catalog-product .tns-product-enquiry-button,
    .single-product .product_cat-carpets .tns-carpet-enquiry-button {
        width: 100%;
        min-width: 0;
    }
}

html.tns-enquiry-modal-open,
body.tns-enquiry-modal-open {
    overflow: hidden;
}

.tns-enquiry-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.tns-enquiry-modal[hidden] {
    display: none !important;
}

.tns-enquiry-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(27, 24, 21, 0.58);
    backdrop-filter: blur(3px);
}

.tns-enquiry-modal__dialog {
    position: relative;
    width: min(760px, 100%);
    max-height: calc(100vh - 48px);
    overflow: auto;
    border-radius: 24px;
    background: #fbf8f2;
    box-shadow: 0 30px 80px rgba(31, 24, 15, 0.24);
    padding: 30px;
}

.tns-enquiry-modal__close {
    position: absolute;
    top: 16px;
    right: 18px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 999px;
    background: rgba(63, 58, 52, 0.08);
    color: #3f3a34;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.tns-enquiry-modal__header {
    padding-right: 48px;
}

.tns-enquiry-modal__eyebrow {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #b48a3d;
}

.tns-enquiry-modal__title {
    margin: 0;
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.05;
    color: #2f2b26;
}

.tns-enquiry-modal__intro {
    margin: 14px 0 0;
    color: #69615a;
    font-size: 16px;
    line-height: 1.65;
}

.tns-enquiry-modal__product {
    margin-top: 22px;
    padding: 18px 20px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(197, 165, 106, 0.12), rgba(197, 165, 106, 0.04));
    border: 1px solid rgba(180, 138, 61, 0.14);
}

.tns-enquiry-modal__product-name {
    color: #2f2b26;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
}

.tns-enquiry-modal__product-meta {
    margin-top: 6px;
    color: #756d65;
    font-size: 13px;
    line-height: 1.55;
    word-break: break-word;
}

.tns-enquiry-form {
    margin-top: 22px;
}

.tns-enquiry-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.tns-enquiry-field {
    display: block;
    margin-bottom: 16px;
}

.tns-enquiry-field span {
    display: block;
    margin-bottom: 8px;
    color: #3f3a34;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.tns-enquiry-field input,
.tns-enquiry-field textarea {
    width: 100%;
    border: 1px solid rgba(63, 58, 52, 0.12);
    border-radius: 16px;
    background: #ffffff;
    color: #2f2b26;
    padding: 14px 16px;
    font-size: 16px;
    line-height: 1.5;
    box-shadow: inset 0 1px 2px rgba(31, 24, 15, 0.03);
}

.tns-enquiry-field textarea {
    min-height: 170px;
    resize: vertical;
}

.tns-enquiry-field input:focus,
.tns-enquiry-field textarea:focus {
    outline: none;
    border-color: rgba(180, 138, 61, 0.65);
    box-shadow: 0 0 0 4px rgba(180, 138, 61, 0.14);
}

.tns-enquiry-form__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 10px;
}

.tns-enquiry-form__status {
    margin: 0;
    color: #6f675e;
    font-size: 14px;
    line-height: 1.5;
}

.tns-enquiry-form__status.is-error {
    color: #b42318;
}

.tns-enquiry-form__status.is-success {
    color: #137333;
}

.tns-enquiry-form__submit {
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #cda04d, #b7842f);
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    padding: 16px 26px;
    min-width: 180px;
    cursor: pointer;
    box-shadow: 0 14px 30px rgba(181, 132, 47, 0.2);
}

.tns-enquiry-form__submit[disabled] {
    opacity: 0.7;
    cursor: wait;
}

@media (max-width: 767px) {
    .tns-enquiry-modal {
        padding: 14px;
    }

    .tns-enquiry-modal__dialog {
        padding: 22px 18px;
        border-radius: 20px;
    }

    .tns-enquiry-form__grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .tns-enquiry-form__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .tns-enquiry-form__submit {
        width: 100%;
    }
}

/* Carpet product image sticky on desktop */
@media (min-width: 1024px) {
    .product_cat-carpets .product-image-summary-inner {
        align-items: start;
    }

    .product_cat-carpets .product-images {
        position: sticky;
        top: 120px;
    }
}

/* Hide WooCommerce colour swatches on carpet products (colour picker replaces them) */
.product_cat-carpets .variations tr:has(select[data-attribute_name="attribute_pa_color"]),
.product_cat-carpets .variations tr:has(.wd-swatches-product[data-id="pa_color"]) {
    display: none;
}

/* Size text swatches — more visible buttons */
.wd-swatches-product[data-id="pa_size"] .wd-swatch.wd-text {
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 6px 14px;
    background: #f8f8f8;
    transition: all 0.2s ease;
}
.wd-swatches-product[data-id="pa_size"] .wd-swatch.wd-text:hover {
    border-color: #999;
    background: #f0f0f0;
}
.wd-swatches-product[data-id="pa_size"] .wd-swatch.wd-text.wd-active {
    border-color: #333;
    background: #333;
    color: #fff;
}
.wd-swatches-product[data-id="pa_size"] .wd-swatch.wd-text.wd-active .wd-swatch-text {
    color: #fff;
}
.wd-swatches-product[data-id="pa_size"] .wd-swatch-text {
    font-weight: 600;
    font-size: 14px;
}

/* Mega menu: category card pricing and product count */
.tns-cat-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 2px 12px 8px;
}

.tns-cat-from-price {
    font-size: 13px;
    font-weight: 600;
    color: #52525b;
}

#menu-item-28986 .wd-cat.tns-shop-cat .wd-cat-name {
    padding-top: 8px;
    line-height: 1.2;
}

.tns-cat-count {
    font-size: 12px;
    color: #a1a1aa;
}

/* Bathroom menu: meta injected inside .wd-cat-content */
#menu-item-29156 .wd-cat-content .tns-cat-meta {
    padding: 4px 0 0;
}

/* Uniform product image grid on archive/category pages */
.products .product-grid-item .product-image-link {
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f7f7f7;
}

.products .product-wrapper .product-element-top .product-image-link img {
    width: 100%;
    height: 100%;
    object-fit: cover !important;
}

/* ============================================================
   Promotional sidebar — Shop + Bathroom mega menus
   Hidden by default, shown only at >1400px
   ============================================================ */
.tns-promo-sidebar {
    display: none;
}

@media (min-width: 1401px) {
    .tns-promo-sidebar {
        display: flex;
        flex-direction: column;
        gap: 14px;
        width: 240px;
        flex-shrink: 0;
    }

    /* Bathroom menu: let existing content flex and promo sit beside it */
    #menu-item-29156 .elementor-element-5f0e28e {
        flex: 1;
        min-width: 0;
    }
}

/* Banner card — !important needed to override WoodMart dropdown <a> color */
.tns-promo-banner {
    display: block;
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none !important;
    color: #fff !important;
}
.tns-promo-banner:hover {
    color: #fff !important;
    text-decoration: none !important;
}
.tns-promo-banner img {
    display: block;
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
}
.tns-promo-banner::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, transparent 50%);
    pointer-events: none;
}
.tns-promo-badge,
.tns-promo-banner-title,
.tns-promo-cta {
    position: absolute;
    z-index: 1;
    left: 12px;
    right: 12px;
}
.tns-promo-badge {
    top: 10px;
    right: auto;
    background: #fff;
    color: #27272a !important;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 3px 8px;
    border-radius: 100px;
}
.tns-promo-banner-title {
    bottom: 30px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    color: #fff !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}
.tns-promo-cta {
    bottom: 10px;
    font-size: 12px;
    font-weight: 600;
    color: #fff !important;
    opacity: 0.9;
}

/* Trending Now */
.tns-promo-trending {
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 14px;
    padding: 14px;
}
.tns-promo-heading {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #a1a1aa;
    margin: 0 0 8px;
}
.tns-promo-trend-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    text-decoration: none !important;
    color: #27272a !important;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}
.tns-promo-trend-item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}
.tns-promo-trend-name {
    font-size: 13px;
    font-weight: 600;
    flex: 1;
}
.tns-promo-trend-price {
    font-size: 11px;
    color: #52525b;
    white-space: nowrap;
}
.tns-promo-trend-item svg {
    color: #a1a1aa;
    flex-shrink: 0;
}
.tns-promo-trend-item:hover .tns-promo-trend-name {
    text-decoration: underline;
}

/* Showroom CTA */
.tns-promo-showroom {
    display: block;
    background: #27272a;
    color: #fff !important;
    border-radius: 12px;
    padding: 14px 16px;
    font-size: 13px;
    text-align: center;
    text-decoration: none !important;
    line-height: 1.4;
    transition: background 150ms ease;
}
.tns-promo-showroom:hover {
    background: #3f3f46;
    color: #fff !important;
}

#menu-item-28986 .tns-promo-showroom,
#menu-item-28986 .tns-promo-showroom strong {
    color: #ffffff !important;
}

#menu-item-28986 .tns-promo-showroom {
    background: #27272a;
}

#menu-item-28986 .tns-promo-showroom:hover {
    background: #3f3f46;
    color: #ffffff !important;
}

/* ============================================================
   Bathroom mega menu consolidated overrides (single source of truth)
   ============================================================ */
@media (min-width: 1360px) {
    #menu-item-29156 > .wd-dropdown-menu .container.wd-entry-content {
        max-width: 1720px;
        padding-left: 24px;
        padding-right: 24px;
    }

    #menu-item-29156 .elementor-element-a481e56 > .e-con-inner {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 260px;
        gap: 18px;
        align-items: start;
    }

    #menu-item-29156 .elementor-element-5f0e28e,
    #menu-item-29156 .elementor-element-5f0e28e > .e-con-inner,
    #menu-item-29156 .elementor-widget-n-tabs,
    #menu-item-29156 .elementor-widget-n-tabs .e-n-tabs,
    #menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-content {
        width: 100%;
        min-width: 0;
    }

    #menu-item-29156 .elementor-widget-n-tabs .e-n-tabs {
        display: flex;
        align-items: stretch;
        gap: 18px;
    }

    #menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading {
        flex: 0 0 220px;
        border-right: 0 !important;
        border-radius: 14px;
        border: 1px solid rgba(0, 0, 0, 0.08);
        background: rgba(255, 255, 255, 0.9);
        padding: 10px;
        margin-right: 0;
    }

    #menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title {
        border-radius: 10px;
        padding: 11px 10px;
        min-height: 46px;
        font-size: 15px;
    }

    #menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title[aria-selected="true"] {
        background: #efefef;
    }

    #menu-item-29156 .tns-promo-sidebar {
        display: flex !important;
        grid-column: 2;
        width: 260px;
        justify-self: end;
        gap: 12px;
    }

    #menu-item-29156 .tns-promo-banner,
    #menu-item-29156 .tns-promo-trending,
    #menu-item-29156 .tns-promo-showroom {
        box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
    }

    #menu-item-29156 .tns-promo-banner::after {
        background: linear-gradient(
            to top,
            rgba(0, 0, 0, 0.22) 0%,
            rgba(0, 0, 0, 0.06) 52%,
            rgba(0, 0, 0, 0) 100%
        );
    }

    #menu-item-29156 .tns-promo-trending {
        background: #fff;
        padding: 12px;
    }

    #menu-item-29156 .tns-promo-trend-item {
        border-radius: 10px;
        border-bottom: 0;
        padding: 10px 8px;
    }

    #menu-item-29156 .tns-promo-trend-item:hover {
        background: #f7f7f7;
    }

    #menu-item-29156 .tns-promo-showroom {
        background: #fff;
        color: #2f343c;
        border: 1px solid #e5e7eb;
        box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06);
        text-align: left;
        line-height: 1.45;
    }

    #menu-item-29156 .tns-promo-showroom:hover {
        background: #fcfcfc;
        color: #252a31;
    }

    #menu-item-29156 .tns-promo-showroom strong {
        display: inline-block;
        margin-top: 8px;
        padding: 6px 12px;
        border-radius: 999px;
        background: #2f343c;
        color: #fff;
        font-size: 12px;
        font-weight: 600;
        line-height: 1.2;
    }

    #menu-item-29156 .wd-cat .wd-cat-inner {
        height: 100%;
        border-radius: 12px;
        border: 1px solid rgba(0, 0, 0, 0.08);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
    }

    #menu-item-29156 .wd-cat .wd-cat-thumb {
        padding: 10px;
    }

    #menu-item-29156 .wd-cat .wd-cat-thumb img {
        max-height: 120px;
    }

    #menu-item-29156 .wd-cat .wd-cat-thumb:has(img) {
        min-height: 164px;
        padding: 0;
    }

    #menu-item-29156 .wd-cat .wd-cat-thumb:has(img) > a {
        display: block;
        width: 100%;
        height: 100%;
    }

    #menu-item-29156 .wd-cat .wd-cat-thumb:has(img) img {
        width: 100%;
        height: 164px;
        max-height: none;
        object-fit: cover;
        object-position: center top;
        border-radius: 0;
    }

    #menu-item-29156 .wd-cat .wd-cat-content {
        padding: 10px;
    }

    #menu-item-29156 .wd-cat .wd-entities-title {
        font-size: 14px;
        line-height: 1.25;
    }

    /* Sparse Bathroom panels (e.g. Baths, Taps) can feel bare with the same
       compact card sizing used for 8-10 item panels. Give those tabs a
       slightly taller media area and larger image without changing the fuller
       Bathroom Furniture layout. */
    #menu-item-29156 .wd-grid-g.wd-cats:has(> .wd-cat:last-child:nth-child(-n+5)) .wd-cat .wd-cat-thumb {
        min-height: 164px;
        padding: 0;
    }

    #menu-item-29156 .wd-grid-g.wd-cats:has(> .wd-cat:last-child:nth-child(-n+5)) .wd-cat .wd-cat-thumb img {
        width: 100%;
        height: 164px;
        max-height: none;
        object-fit: cover;
        object-position: center top;
        border-radius: 0;
    }

    /* Baths uses text-heavy artwork inside the image itself. Let that panel
       breathe a bit more vertically so the embedded headings don't feel
       squashed after the frontend width expansion. */
    #menu-item-29156 .e-n-tabs-content > [role="tabpanel"][data-tns-category="baths"] .wd-cat .wd-cat-thumb {
        min-height: 196px !important;
    }

    #menu-item-29156 .e-n-tabs-content > [role="tabpanel"][data-tns-category="baths"] .wd-cat .wd-cat-thumb img {
        height: 196px !important;
    }

    #menu-item-29156 .e-n-tabs-content > [role="tabpanel"][data-tns-category="bathroom-furniture"] .wd-cat .wd-cat-thumb {
        min-height: 196px !important;
    }

    #menu-item-29156 .e-n-tabs-content > [role="tabpanel"][data-tns-category="bathroom-furniture"] .wd-cat .wd-cat-thumb img {
        height: 196px !important;
    }

    #menu-item-29156 .e-n-tabs-content > [role="tabpanel"][data-tns-category="sanitary-ware"] .wd-cat .wd-cat-thumb {
        min-height: 196px !important;
    }

    #menu-item-29156 .e-n-tabs-content > [role="tabpanel"][data-tns-category="sanitary-ware"] .wd-cat .wd-cat-thumb img {
        height: 196px !important;
    }

    /* Tiles thumbnails have a lot of internal padding in the source images.
       Let the image fill the card area more aggressively just for that panel. */
    #menu-item-29156 .e-n-tabs-content > [role="tabpanel"][data-tns-category="tiles"] .wd-cat .wd-cat-thumb {
        min-height: 170px !important;
        padding: 0 !important;
        overflow: hidden;
    }

    #menu-item-29156 .e-n-tabs-content > [role="tabpanel"][data-tns-category="tiles"] .wd-cat .wd-cat-thumb img {
        width: 100% !important;
        height: 170px !important;
        max-height: none !important;
        object-fit: cover;
        border-radius: 0;
    }
}

@media (min-width: 1024px) and (max-width: 1359px) {
    #menu-item-29156 > .wd-dropdown-menu .container.wd-entry-content {
        padding-left: 18px;
        padding-right: 18px;
    }

    #menu-item-29156 .elementor-widget-n-tabs .e-n-tabs {
        display: flex;
        align-items: stretch;
        gap: 14px;
    }

    #menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading {
        flex: 0 0 208px;
        border-right: 0 !important;
        margin-right: 0;
    }

    #menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title {
        font-size: 14px;
        min-height: 44px;
    }
}

@media (max-width: 1359px) {
    #menu-item-29156 .tns-promo-sidebar {
        display: none !important;
    }
}

/* Bathroom menu: make active category context obvious */
#menu-item-29156 .e-n-tabs-content .elementor-heading-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 14px;
}

#menu-item-29156 .e-n-tabs-content .tns-bathroom-panel-title {
    position: relative;
    color: #2f343c;
    font-weight: 700;
}

#menu-item-29156 .e-n-tabs-content .tns-bathroom-panel-title::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -6px;
    height: 2px;
    border-radius: 999px;
    background: #d8a23a;
}

#menu-item-29156 .e-n-tabs-content .tns-bathroom-panel-seeall {
    color: #5a616c;
    font-weight: 600;
}

#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title[aria-selected="true"] {
    box-shadow: inset 3px 0 0 #d8a23a;
}

/* Mega menu polish pass: resolve icon drift, placeholder duplication, and
   perceived top-edge misalignment without touching the menu HTML sources. */
#menu-item-28986 .tns-cat-placeholder {
    position: relative;
    overflow: hidden;
}

#menu-item-28986 .tns-cat-placeholder::before {
    content: "";
    display: block;
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(231, 226, 214, 0.9));
    box-shadow:
        inset 0 0 0 1px rgba(111, 106, 99, 0.08),
        0 10px 24px rgba(111, 106, 99, 0.12);
}

#menu-item-28986 .tns-cat-placeholder::after {
    content: "";
    position: absolute;
    inset: 18px;
    border-radius: 12px;
    border: 1px solid rgba(111, 106, 99, 0.08);
}

#menu-item-29156 .e-n-tabs-content [role="tabpanel"] {
    padding-top: 2px;
}

#menu-item-29156 .e-n-tabs-content .elementor-widget-heading {
    margin-bottom: 12px !important;
}

#menu-item-29156 .e-n-tabs-content .elementor-heading-title {
    margin: 0;
    min-height: 30px;
}

#menu-item-29156 .e-n-tabs-content .tns-bathroom-panel-seeall {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(216, 162, 58, 0.1);
    color: #5a616c;
}

#menu-item-29156 .e-n-tabs-content .tns-bathroom-contact-bar {
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;
    margin: 10px 0 22px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(123, 106, 78, 0.12);
    overflow: hidden;
}

#menu-item-29156 .e-n-tabs-content .tns-bathroom-contact-entry {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    flex: 1 1 280px;
    min-height: 68px;
    padding: 16px 24px;
    color: #2f343c;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    text-align: left;
    background: transparent;
}

#menu-item-29156 .e-n-tabs-content .tns-bathroom-contact-entry + .tns-bathroom-contact-entry {
    border-left: 1px solid rgba(111, 106, 99, 0.12);
}

#menu-item-29156 .e-n-tabs-content .tns-bathroom-contact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    color: #d8a23a;
}

#menu-item-29156 .e-n-tabs-content .tns-bathroom-contact-icon svg {
    width: 22px;
    height: 22px;
}

#menu-item-29156 .e-n-tabs-content .tns-bathroom-contact-text {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}

#menu-item-29156 .e-n-tabs-content a.tns-bathroom-contact-entry:hover,
#menu-item-29156 .e-n-tabs-content a.tns-bathroom-contact-entry:focus {
    color: #1f2329;
    text-decoration: none;
    background: rgba(216, 162, 58, 0.05);
}

@media (max-width: 1500px) {
    #menu-item-29156 .e-n-tabs-content .tns-bathroom-contact-entry {
        flex-basis: 250px;
        padding-inline: 18px;
    }
}

@media (max-width: 1200px) {
    #menu-item-29156 .e-n-tabs-content .elementor-heading-title {
        flex-wrap: wrap;
    }

    #menu-item-29156 .e-n-tabs-content .tns-bathroom-panel-seeall {
        margin-left: 0;
    }

    #menu-item-29156 .e-n-tabs-content .tns-bathroom-contact-bar {
        margin-top: 14px;
    }

    #menu-item-29156 .e-n-tabs-content .tns-bathroom-contact-entry {
        justify-content: flex-start;
        flex-basis: calc(50% - 1px);
    }

    #menu-item-29156 .e-n-tabs-content .tns-bathroom-contact-entry:nth-child(odd):last-child {
        flex-basis: 100%;
    }
}

@media (max-width: 860px) {
    #menu-item-29156 .e-n-tabs-content .tns-bathroom-contact-entry {
        flex-basis: 100%;
        min-height: 58px;
        padding: 14px 18px;
        font-size: 12px;
    }

    #menu-item-29156 .e-n-tabs-content .tns-bathroom-contact-entry + .tns-bathroom-contact-entry {
        border-left: 0;
        border-top: 1px solid rgba(111, 106, 99, 0.12);
    }
}

#menu-item-29156 .e-n-tabs-content [role="tabpanel"] .elementor-widget-button {
    margin-top: 18px;
    display: flex;
    width: 100%;
    flex: 0 0 auto;
    justify-content: center;
}

#menu-item-29156 .e-n-tabs-content > [role="tabpanel"][data-tns-category="baths"] > .wd-negative-gap > .e-con-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

#menu-item-29156 .e-n-tabs-content > [role="tabpanel"][data-tns-category="bathroom-furniture"] > .wd-negative-gap > .e-con-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

#menu-item-29156 .e-n-tabs-content > [role="tabpanel"][data-tns-category="bathroom-furniture"] > .e-con-full.e-flex.e-con.e-child {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

#menu-item-29156 .e-n-tabs-content > [role="tabpanel"][data-tns-category="sanitary-ware"] > .wd-negative-gap > .e-con-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

#menu-item-29156 .e-n-tabs-content > [role="tabpanel"][data-tns-category="sanitary-ware"] > .e-con-full.e-flex.e-con.e-child {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

#menu-item-29156 .e-n-tabs-content > [role="tabpanel"][data-tns-category="showers"] > .wd-negative-gap > .e-con-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

#menu-item-29156 .e-n-tabs-content > [role="tabpanel"][data-tns-category="taps"] > .wd-negative-gap > .e-con-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

#menu-item-29156 .e-n-tabs-content > [role="tabpanel"][data-tns-category="mirrors"] > .wd-negative-gap > .e-con-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

#menu-item-29156 .e-n-tabs-content > [role="tabpanel"][data-tns-category="radiators"] > .wd-negative-gap > .e-con-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

#menu-item-29156 .e-n-tabs-content [role="tabpanel"] .elementor-widget-button .elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: clamp(220px, 22vw, 320px);
    padding: 13px 24px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #b88a36 0%, #c89d4f 52%, #a9782a 100%);
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.01em;
    box-shadow: 0 16px 30px rgba(133, 97, 39, 0.22);
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

#menu-item-29156 .e-n-tabs-content [role="tabpanel"] .elementor-widget-button .elementor-button::after {
    content: "\203A";
    margin-left: 12px;
    font-size: 18px;
    line-height: 1;
    opacity: 0.95;
}

#menu-item-29156 .e-n-tabs-content [role="tabpanel"] .elementor-widget-button .elementor-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 20px 36px rgba(133, 97, 39, 0.28);
    filter: saturate(1.05);
    color: #fff;
}

#menu-item-29156 .e-n-tabs-content [role="tabpanel"] .elementor-widget-button .elementor-button .elementor-button-content-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
}

#menu-item-29156 .e-n-tabs-content [role="tabpanel"] .elementor-widget-button .elementor-button .elementor-button-text {
    color: #fff !important;
}

@media (max-width: 1680px) {
    #menu-item-29156 .wd-grid-g.columns-5 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1450px) {
    #menu-item-29156 .wd-grid-g.columns-5 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title[aria-selected="true"] {
    background: #f4ecda;
    color: #2f343c;
}

#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title[data-tns-icon="bathroom-furniture"]::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/bathroom-furniture.svg");
}

#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title[data-tns-icon="sanitary-ware"]::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/sanitary-ware.svg");
}

#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title[data-tns-icon="baths"]::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/baths.svg");
}

#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title[data-tns-icon="showers"]::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/showers.svg");
}

#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title[data-tns-icon="taps"]::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/taps.svg");
}

#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title[data-tns-icon="mirrors"]::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/mirrors.svg");
}

#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title[data-tns-icon="tiles"]::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/tiles.svg");
}

#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title[data-tns-icon="radiators"]::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/radiators.svg");
}

#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title[data-tns-icon="accessories"]::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/accessories.svg");
}

#menu-item-29156 .elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title[data-tns-icon="adhesives"]::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/adhesives.svg");
}

/* ==========================================================================
   Product Categories Sidebar — Redesign
   Styled navigation with gold accents, active highlights, clear hierarchy
   ========================================================================== */

/* Hide widget title — categories are self-explanatory */
.widget_product_categories .widget-title {
    display: none !important;
}

/* Reset list styles */
.widget_product_categories ul.product-categories {
    padding: 0 !important;
    margin: 0 !important;
}

.widget_product_categories ul.product-categories,
.widget_product_categories ul.product-categories ul.children {
    list-style: none !important;
}

/* --- Top-level categories --- */
.widget_product_categories ul.product-categories > .cat-item {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #e8e4df;
}

.widget_product_categories ul.product-categories > .cat-item > a {
    display: block;
    padding: 12px 16px 12px 38px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #333;
    text-decoration: none !important;
    border-left: 3px solid transparent;
    transition: all 0.2s ease;
    position: relative;
}

/* Category icon base */
.widget_product_categories ul.product-categories > .cat-item > a::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.6;
    transition: opacity 0.2s ease;
}

/* Active/hover state — brighter icon */
.widget_product_categories ul.product-categories > .cat-item.current-cat-ancestor > a::before,
.widget_product_categories ul.product-categories > .cat-item.current-cat-parent > a::before,
.widget_product_categories ul.product-categories > .cat-item.current-cat > a::before,
.widget_product_categories ul.product-categories > .cat-item > a:hover::before {
    opacity: 1;
}

/* White icon when on dark background */
.widget_product_categories ul.product-categories > .cat-item.current-cat > a::before {
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

/* --- Category icons --- */
.widget_product_categories .cat-item-73 > a::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/baths.svg");
}
.widget_product_categories .cat-item-72 > a::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/tiles.svg");
}
.widget_product_categories .cat-item-74 > a::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/carpets.svg");
}
.widget_product_categories .cat-item-77 > a::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/flooring.svg");
}
.widget_product_categories .cat-item-76 > a::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/paint.svg");
}
.widget_product_categories .cat-item-75 > a::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/wallpaper.svg");
}
.widget_product_categories .cat-item-78 > a::before {
    background-image: url("/wp-content/themes/woodmart-child/icons/adhesives.svg");
}

.widget_product_categories ul.product-categories > .cat-item > a:hover {
    color: #c8903e;
    border-left-color: #c8903e;
    background: #faf8f5;
}

/* Active top-level parent — gold left border */
.widget_product_categories ul.product-categories > .cat-item.current-cat-ancestor > a,
.widget_product_categories ul.product-categories > .cat-item.current-cat-parent > a {
    border-left-color: #c8903e;
    color: #c8903e;
    background: #faf8f5;
}

/* Current top-level (when you're ON the top-level page itself) */
.widget_product_categories ul.product-categories > .cat-item.current-cat > a {
    background: #3a3a3a;
    color: #fff;
    border-left-color: #c8903e;
}

/* --- Subcategories (level 2) --- */
.widget_product_categories ul.children {
    margin: 0 !important;
    padding: 0 0 4px 0 !important;
    background: #faf8f5;
}

.widget_product_categories ul.children > .cat-item {
    margin: 0 !important;
    padding: 0 !important;
}

.widget_product_categories ul.children > .cat-item > a {
    display: block;
    padding: 7px 16px 7px 28px;
    font-size: 13px;
    font-weight: 400;
    color: #555;
    text-decoration: none !important;
    border-left: 3px solid transparent;
    transition: all 0.15s ease;
}

.widget_product_categories ul.children > .cat-item > a:hover {
    color: #c8903e;
}

/* Active subcategory parent */
.widget_product_categories ul.children > .cat-item.current-cat-parent > a,
.widget_product_categories ul.children > .cat-item.current-cat-ancestor > a {
    font-weight: 600;
    color: #333;
    border-left-color: #c8903e;
}

/* Current subcategory — dark highlight */
.widget_product_categories ul.children > .cat-item.current-cat > a {
    background: #3a3a3a;
    color: #fff !important;
    border-left-color: #c8903e;
    font-weight: 600;
}

/* --- Deep subcategories (level 3) --- */
.widget_product_categories ul.children ul.children {
    background: transparent;
    padding: 0 0 2px 0 !important;
}

.widget_product_categories ul.children ul.children > .cat-item > a {
    padding-left: 42px;
    font-size: 12.5px;
    color: #666;
}

.widget_product_categories ul.children ul.children > .cat-item.current-cat > a {
    background: #3a3a3a;
    color: #fff !important;
    border-left-color: #c8903e;
    font-weight: 600;
}

/* --- Toggle arrow --- */
.widget_product_categories .wd-cats-toggle {
    top: 6px !important;
    right: 8px !important;
}

/* Hide Uncategorized */
.widget_product_categories .cat-item-659 {
    display: none !important;
}

/* Hide secondary category nav bar on archive pages — sidebar handles navigation */
.wd-nav-product-cat {
    display: none !important;
}
/* Curated mobile drawer menus should behave like nested accordions, not render all children open. */
.mobile-pages-menu .tns-mobile-curated-item.menu-item-has-children,
.mobile-categories-menu .tns-mobile-curated-item.menu-item-has-children {
	position: relative;
}

.mobile-pages-menu .tns-mobile-curated-item > .woodmart-nav-link,
.mobile-categories-menu .tns-mobile-curated-item > .woodmart-nav-link {
	display: block;
	width: calc(100% - 42px);
	padding-right: 10px;
	text-align: left;
}

.mobile-pages-menu .tns-mobile-curated-item > .woodmart-nav-link,
.mobile-categories-menu .tns-mobile-curated-item > .woodmart-nav-link {
	display: flex;
	align-items: center;
	gap: 10px;
}

.mobile-pages-menu .tns-mobile-curated-icon,
.mobile-categories-menu .tns-mobile-curated-icon {
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	object-fit: contain;
}

.mobile-pages-menu .tns-mobile-curated-item.menu-item-has-children > .woodmart-nav-link,
.mobile-categories-menu .tns-mobile-curated-item.menu-item-has-children > .woodmart-nav-link {
	font-weight: 700;
}

.mobile-pages-menu .tns-mobile-curated-opener,
.mobile-categories-menu .tns-mobile-curated-opener {
	position: absolute;
	top: 0;
	right: 0;
	width: 42px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.mobile-pages-menu .tns-mobile-curated-opener::before,
.mobile-categories-menu .tns-mobile-curated-opener::before {
	content: "›";
	font-size: 24px;
	font-weight: 600;
	line-height: 1;
}

.mobile-pages-menu .tns-mobile-curated-opener::after,
.mobile-categories-menu .tns-mobile-curated-opener::after {
	content: none;
}

.mobile-pages-menu .tns-mobile-curated-item.menu-item-has-children.wd-opened > .tns-mobile-curated-opener::before,
.mobile-categories-menu .tns-mobile-curated-item.menu-item-has-children.wd-opened > .tns-mobile-curated-opener::before {
	content: "⌄";
}

.mobile-pages-menu .tns-mobile-curated-item.menu-item-has-children > .sub-menu,
.mobile-categories-menu .tns-mobile-curated-item.menu-item-has-children > .sub-menu {
	display: none;
	padding-left: 18px;
}

.mobile-pages-menu .tns-mobile-curated-item.menu-item-has-children.wd-opened > .sub-menu,
.mobile-categories-menu .tns-mobile-curated-item.menu-item-has-children.wd-opened > .sub-menu {
	display: block;
}

.mobile-pages-menu .tns-mobile-curated-child > .woodmart-nav-link,
.mobile-categories-menu .tns-mobile-curated-child > .woodmart-nav-link {
	font-size: 14px;
	font-weight: 400;
	opacity: 0.88;
}

.mobile-pages-menu .tns-mobile-curated-view-all-item .nav-link-text,
.mobile-categories-menu .tns-mobile-curated-view-all-item .nav-link-text {
	font-weight: 600;
}

/* About Us page (4400) — fix top spacing under the absolute header.
   The first Elementor section starts at the top of the viewport, so the
   heading/eyebrow can sit behind the 135px desktop header. */
.page-id-4400 .elementor-4400 > .e-con.wd-negative-gap:first-child {
	margin-top: 0 !important;
}
.page-id-4400 .elementor-4400 > .e-con.wd-negative-gap:first-child > .e-con-inner {
	padding-top: 170px !important;
}

@media (max-width: 767px) {
	.page-id-4400 .elementor-4400 > .e-con.wd-negative-gap:first-child > .e-con-inner {
		padding-top: 120px !important;
	}
}

/* Hide WoodMart loop add-to-cart action on mobile archive/category cards.
   Keep desktop behavior and single-product purchase controls unchanged. */
@media (max-width: 767px) {
	.woocommerce.archive .wd-product .wd-add-btn,
	.woocommerce.archive .wd-product .add-to-cart-loop,
	.tax-product_cat .wd-product .wd-add-btn,
	.tax-product_cat .wd-product .add-to-cart-loop,
	.tax-product_brand .wd-product .wd-add-btn,
	.tax-product_brand .wd-product .add-to-cart-loop {
		display: none !important;
	}
}

/* Bathrooms archive parent-category tiles: improve title readability on image cards. */
.tax-product_cat.term-bathrooms .wd-page-wrapper main .wd-cat.cat-design-default .wd-cat-thumb {
	position: relative;
	overflow: hidden;
}

.tax-product_cat.term-bathrooms .wd-page-wrapper main .wd-cat.cat-design-default .wd-cat-thumb::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(16, 16, 16, 0.06) 0%, rgba(16, 16, 16, 0.12) 38%, rgba(16, 16, 16, 0.52) 100%);
	pointer-events: none;
}

.tax-product_cat.term-bathrooms .wd-page-wrapper main .wd-cat.cat-design-default .wd-cat-inner {
	position: relative;
	overflow: hidden;
}

.tax-product_cat.term-bathrooms .wd-page-wrapper main .wd-cat.cat-design-default .wd-cat-content {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 4;
	padding: 20px 18px 16px !important;
	transform: none !important;
}

.tax-product_cat.term-bathrooms .wd-page-wrapper main .wd-cat.cat-design-default .wd-entities-title {
	color: #fff;
	font-weight: 600;
	font-size: clamp(18px, 1.55vw, 28px);
	line-height: 1.08;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}

@media (max-width: 1024px) {
	.tax-product_cat.term-bathrooms .wd-page-wrapper main .wd-cat.cat-design-default .wd-cat-content {
		padding: 16px 14px 13px !important;
	}

	.tax-product_cat.term-bathrooms .wd-page-wrapper main .wd-cat.cat-design-default .wd-entities-title {
		font-size: clamp(16px, 2.8vw, 22px);
	}
}

/* ============================================================
 * Make us an Offer — YITH Name Your Price form, styled as a card
 * ============================================================ */
#ywcnp_form_name_your_price {
    background: #f8f4ec;
    border: 1px solid #ead9b2;
    border-radius: 10px;
    padding: 18px 20px 16px;
    margin: 18px 0 18px;
    display: block !important; /* override YITH's inline display:none on variable products */
}
#ywcnp_form_name_your_price .tns-offer-card-head {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-bottom: 14px;
}
#ywcnp_form_name_your_price .tns-offer-card-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #f0e3c4;
    color: #b88a2a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
#ywcnp_form_name_your_price .tns-offer-card-titles strong {
    display: block;
    font-size: 16px;
    color: #1a1a1a;
    line-height: 1.2;
}
#ywcnp_form_name_your_price .tns-offer-card-titles span {
    display: block;
    font-size: 13px;
    color: #6b6b6b;
    margin-top: 2px;
}
#ywcnp_form_name_your_price .ywcnp_suggest_price_single {
    background: #fff;
    border: 1px solid #e2d6b8;
    border-radius: 8px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 12px;
}
#ywcnp_form_name_your_price .ywcnp_suggest_price_single > label {
    display: none; /* heading already shown in card header */
}
#ywcnp_form_name_your_price .ywcnp_currency {
    font-size: 16px;
    color: #555;
    margin-right: 2px;
}
#ywcnp_form_name_your_price input.ywcnp_sugg_price {
    flex: 1;
    border: 0;
    background: transparent;
    padding: 6px 0;
    font-size: 16px;
    outline: none;
    box-shadow: none;
    color: #1a1a1a;
}
#ywcnp_form_name_your_price input.ywcnp_sugg_price::placeholder {
    color: #b0b0b0;
}
#ywcnp_form_name_your_price .ywcnp_sugg_label {
    margin: 0 0 4px;
    font-size: 12px;
    color: #777;
}
/* Hide min/max price hints — defeats the "make an offer" purpose if customers see the floor/ceiling */
#ywcnp_form_name_your_price .ywcnp_min_label,
#ywcnp_form_name_your_price .ywcnp_max_label {
    display: none !important;
}
#ywcnp_form_name_your_price .tns-offer-card-badges {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px dashed #e2d6b8;
}
#ywcnp_form_name_your_price .tns-offer-badge {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    font-size: 11.5px;
    line-height: 1.3;
    color: #555;
}
#ywcnp_form_name_your_price .tns-offer-badge svg {
    color: #b88a2a;
    flex-shrink: 0;
    margin-top: 1px;
}
#ywcnp_form_name_your_price .tns-offer-badge strong {
    display: block;
    color: #1a1a1a;
    font-weight: 600;
}
#ywcnp_form_name_your_price .tns-offer-badge span {
    display: block;
    color: #6b6b6b;
}
#ywcnp_form_name_your_price .tns-offer-card-note {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin: 12px 0 0;
    padding: 10px 12px;
    background: #fff6e0;
    border-left: 3px solid #e0b048;
    border-radius: 4px;
    font-size: 12.5px;
    color: #5a4a1a;
    line-height: 1.45;
}
#ywcnp_form_name_your_price .tns-offer-card-note svg {
    color: #c8861f;
    flex-shrink: 0;
    margin-top: 2px;
}
@media (max-width: 640px) {
    #ywcnp_form_name_your_price .tns-offer-card-badges {
        grid-template-columns: 1fr;
    }
}

/* Offer error notice — relocated under the offer card by JS, styled smaller */
.tns-offer-error {
    margin: 12px 0 0;
    padding: 12px 14px;
    background: #fdecec;
    border-left: 3px solid #d9534f;
    border-radius: 4px;
    color: #6b1e1e;
    font-size: 13px;
    line-height: 1.4;
    display: flex;
    gap: 10px;
    align-items: flex-start;
}
.tns-offer-error::before {
    content: "!";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #d9534f;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    flex-shrink: 0;
}

/* ============================================================
 * Header top bar — better spacing + brand-coloured social icons
 * ============================================================ */
.whb-row.whb-top-bar .whb-flex-row.whb-top-bar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
}
.whb-row.whb-top-bar .whb-flex-row.whb-top-bar-inner .whb-col-left {
    flex: 1 1 0;
    justify-content: flex-start;
    text-align: left;
}
.whb-row.whb-top-bar .whb-flex-row.whb-top-bar-inner .whb-col-center {
    flex: 1 1 0;
    justify-content: center;
    text-align: center;
}
.whb-row.whb-top-bar .whb-flex-row.whb-top-bar-inner .whb-col-right {
    flex: 1 1 0;
    justify-content: flex-end;
    text-align: right;
    margin-left: auto;
}
.whb-row.whb-top-bar .text-block,
.whb-row.whb-top-bar .info-box-block {
    margin: 0;
    line-height: 1.4;
}
/* Tighter, consistent icon-text spacing */
.whb-row.whb-top-bar i.fa {
    margin-right: 6px;
    opacity: 0.9;
}
.whb-row.whb-top-bar a {
    color: inherit;
    text-decoration: none;
}
.whb-row.whb-top-bar a:hover {
    text-decoration: underline;
    opacity: 0.9;
}

/* Brand-colour the social icons (right column) */
.whb-top-bar .wd-social-icon { transition: color .15s ease; }
.whb-top-bar .wd-social-icon.social-facebook  { color: #1877F2; }
.whb-top-bar .wd-social-icon.social-twitter   { color: #000000; }
.whb-top-bar .wd-social-icon.social-mail,
.whb-top-bar .wd-social-icon.social-email     { color: #D44638; } /* envelope = gmail red */
.whb-top-bar .wd-social-icon.social-whatsapp  { color: #25D366; }
.whb-top-bar .wd-social-icon.social-tg        { color: #0088CC; }
.whb-top-bar .wd-social-icon.social-instagram { color: #E1306C; }
.whb-top-bar .wd-social-icon.social-linkedin  { color: #0A66C2; }
.whb-top-bar .wd-social-icon.social-pinterest { color: #BD081C; }
.whb-top-bar .wd-social-icon.social-youtube   { color: #FF0000; }
.whb-top-bar .wd-social-icon:hover {
    filter: brightness(1.1) saturate(1.2);
}

/* ============================================================
 * Portfolio thumbnails — force uniform 4:3 aspect ratio so all
 * cards in the grid line up regardless of source-image dimensions.
 * ============================================================ */
.wd-portfolio-element .portfolio-thumbnail,
.wd-portfolio-element .portfolio-thumbnail > a,
.wd-portfolio-element .portfolio-thumbnail .wd-entities-img,
.portfolio-thumbnail {
    aspect-ratio: 4 / 3;
    width: 100%;
    overflow: hidden;
    display: block;
}
.wd-portfolio-element .portfolio-thumbnail img,
.portfolio-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* ============================================================
 * Gallery page — filterable grid with lightbox
 * ============================================================ */
.tns-gallery { margin: 24px 0; }
.tns-gallery-filters {
    list-style: none;
    margin: 0 0 24px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}
.tns-gallery-filters .tns-filter-btn {
    background: transparent;
    border: 1px solid #d6cdb4;
    color: #444;
    padding: 8px 18px;
    border-radius: 999px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.02em;
    transition: all 0.15s ease;
}
.tns-gallery-filters .tns-filter-btn:hover {
    background: #f8f4ec;
    border-color: #b88a2a;
}
.tns-gallery-filters .tns-filter-btn.is-active {
    background: #444;
    color: #fff;
    border-color: #444;
}
.tns-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
@media (max-width: 1024px) {
    .tns-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
.tns-gallery-item {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 6px;
    position: relative;
    cursor: zoom-in;
}
.tns-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
    display: block;
}
.tns-gallery-item:hover img {
    transform: scale(1.05);
}
.tns-gallery-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0);
    transition: background 0.2s ease;
    pointer-events: none;
}
.tns-gallery-item:hover::after {
    background: rgba(0,0,0,0.1);
}
@media (max-width: 768px) {
    .tns-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }
    .tns-gallery-filters .tns-filter-btn {
        padding: 6px 14px;
        font-size: 13px;
    }
}
