/* Blissful24 storefront styles, enqueued as a plugin asset. Keep selectors scoped to plugin UI. */* { -webkit-tap-highlight-color: transparent !important; }.b24-wishlist-count { position: absolute; top: -4px; right: -4px; background: #ef4444; color: #fff; font-size: 9px; font-weight: 800; min-width: 16px; height: 16px; border-radius: 50%; display: flex; align-items: center; justify-content: center; line-height: 1; font-family: "Inter", sans-serif; }.b24-wishlist-count:empty { display: none; }@media (max-width: 768px) {/* .ast-main-header-wrap, .main-header-bar, #masthead { display: none !important; } */.b24-mobile-filter-bar { display: flex !important; background: #ffffff !important; padding: 0 !important; border-radius: 0 !important; box-shadow: 0 -2px 10px rgba(0,0,0,0.05) !important; justify-content: space-between !important; align-items: center !important; position: fixed !important; bottom: 0 !important; left: 0 !important; width: 100% !important; z-index: 99999 !important; border-top: 1px solid #e2e8f0 !important; transition: transform 0.3s ease !important; }.b24-mobile-filter-bar button { background: transparent !important; border: none !important; font-family: "Inter", sans-serif !important; font-weight: 700 !important; color: #334155 !important; display: flex !important; align-items: center !important; justify-content: center !important; flex: 1 !important; padding: 16px 0 !important; gap: 8px !important; font-size: 14px !important; text-transform: uppercase !important; }.b24-mobile-filter-bar button:first-child { border-right: 1px solid #e2e8f0 !important; }}.woocommerce-cart .ast-container, .woocommerce-checkout .ast-container,

        .woocommerce-cart .elementor-section.elementor-section-boxed > .elementor-container,

        .woocommerce-checkout .elementor-section.elementor-section-boxed > .elementor-container { max-width: 1200px !important; margin: 0 auto !important; padding-left: 20px !important; padding-right: 20px !important; }.woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce { max-width: 1200px !important; margin: 0 auto !important; }.woocommerce-message, .woocommerce-error, .woocommerce-info { display: flex !important; align-items: center !important; justify-content: space-between !important; flex-wrap: wrap !important; gap: 12px !important; background: #111827 !important; color: #fff !important; border-radius: 12px !important; padding: 16px 20px !important; margin: 20px auto !important; max-width: calc(100% - 32px) !important; width: 100% !important; box-sizing: border-box !important; border: none !important; border-left: 4px solid #c2410c !important; box-shadow: 0 10px 25px rgba(0,0,0,0.1) !important; }.woocommerce-message .button, .woocommerce-error .button, .woocommerce-info .button { position: static !important; margin: 0 !important; padding: 8px 16px !important; width: auto !important; display: inline-block !important; font-size: 13px !important; transform: none !important; background: #c2410c !important; color: #fff !important; border-radius: 8px !important; }* { -webkit-tap-highlight-color: transparent !important; }*:focus { outline: none !important; }h1.entry-title, .page-title { color: #111827 !important; }.woocommerce-ordering, .woocommerce-result-count, .ast-woocommerce-container .ast-woo-shop-options { display: none !important; }/* ===== DESKTOP UTILITY BAR (Account, Wishlist, Search) ===== */.b24-du-badge {
            position: absolute;
            top: -2px;
            right: -2px;
            background: #ef4444;
            color: #fff;
            font-size: 10px;
            font-weight: 800;
            min-width: 18px;
            height: 18px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: "Inter", sans-serif;
            line-height: 1;
            border: 2px solid #ffffff;
        }.b24-du-badge:empty { display: none; }/* ============================================================ */.b24-mobile-nav, .b24-menu-drawer, .b24-storefront-footer, .b24-shop-filter-wrap, .b24-mobile-filter-menu, .b24-cart-toast { font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif !important; }@keyframes b24-pulse-glow {0% { box-shadow: 0 0 0 0 rgba(14,165,233,0.4); }70% { box-shadow: 0 0 0 10px rgba(14,165,233,0); }100% { box-shadow: 0 0 0 0 rgba(14,165,233,0); }}/* Wishlist Heart on Cards */.b24-wishlist-btn { position: absolute !important; top: 12px !important; right: 12px !important; z-index: 10 !important; background: rgba(255,255,255,0.9) !important; backdrop-filter: blur(8px) !important; border: none !important; width: 36px !important; height: 36px !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: pointer !important; transition: all 0.3s ease !important; box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important; padding: 0 !important; }.b24-wishlist-btn:hover { transform: scale(1.15) !important; }.b24-wishlist-btn svg { width: 18px !important; height: 18px !important; transition: all 0.3s ease !important; }.b24-wishlist-btn.wishlisted svg { fill: #ef4444 !important; stroke: #ef4444 !important; }.b24-wishlist-btn:not(.wishlisted) svg { fill: none !important; stroke: #64748b !important; }@keyframes b24-heart-pop {0% { transform: scale(1); }50% { transform: scale(1.3); }100% { transform: scale(1); }}.b24-wishlist-btn.b24-just-added { animation: b24-heart-pop 0.4s ease !important; }.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering select { font-family: "Inter", sans-serif !important; font-size: 13px !important; font-weight: 600 !important; }.woocommerce nav.woocommerce-pagination { margin-top: 40px !important; margin-bottom: 40px !important; clear: both !important; position: relative !important; z-index: 10 !important; }.woocommerce nav.woocommerce-pagination ul { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 6px !important; border: none !important; }.woocommerce nav.woocommerce-pagination ul li { border: none !important; }.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { font-family: "Inter", sans-serif !important; font-weight: 700 !important; border-radius: 8px !important; padding: 8px 12px !important; font-size: 14px !important; min-width: 36px !important; text-align: center !important; background: #f8fafc !important; color: #475569 !important; margin: 0 !important; }.woocommerce nav.woocommerce-pagination ul li span.current { background: #c2410c !important; color: #fff !important; }/* Desktop Sidebar */.b24-shop-layout { display: flex; flex-direction: column; gap: 24px; max-width: 100%; margin: 0 auto; padding: 24px 0; }.b24-desktop-sidebar { width: 100%; min-width: 100%; position: relative; top: auto; height: fit-content; background: #ffffff; border: 1px solid #f1f5f9; border-radius: 16px; padding: 24px; box-shadow: 0 4px 20px rgba(0,0,0,0.03); display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 16px; }.b24-desktop-sidebar h3 { font-family: "Inter", sans-serif; font-size: 18px; font-weight: 900; color: #0f172a; margin: 0; display: flex; align-items: center; gap: 8px; }.b24-sidebar-label { font-family: "Inter", sans-serif; font-size: 11px; font-weight: 800; color: #94a3b8; text-transform: uppercase; letter-spacing: 2px; margin: 0 0 10px 0; display: none; }.b24-sidebar-cats { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }.b24-sidebar-cats li a { display: inline-block; padding: 8px 16px; font-family: "Inter", sans-serif; font-size: 14px; font-weight: 600; color: #475569; text-decoration: none; border-radius: 20px; background: #f8fafc; border: 1px solid #e2e8f0; transition: all 0.2s; margin-bottom: 0; }.b24-sidebar-cats li a:hover, .b24-sidebar-cats li a.active { background: #c2410c; color: #ffffff; }.b24-sidebar-sort select { width: 200px; max-width: 100%; margin-left: auto; padding: 8px 14px; border: 1px solid #e2e8f0; border-radius: 20px; font-family: "Inter", sans-serif; font-size: 13px; font-weight: 600; color: #334155; background: #f8fafc; cursor: pointer; outline: none; }.b24-sidebar-sort select:focus { border-color: #c2410c; box-shadow: 0 0 0 3px rgba(14,165,233,0.15); }.b24-shop-products { flex: 1; min-width: 0; }/* MOBILE SIDEBAR — FIXED CUTOFF */@media (max-width: 768px) {.b24-desktop-sidebar { position: fixed !important; top: auto !important; bottom: 0 !important; left: 0 !important; width: 100% !important; max-height: 80vh !important; height: auto !important; z-index: 999999 !important; transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important; border-radius: 24px 24px 0 0 !important; overflow: hidden !important; padding: 0 !important; background: #ffffff !important; display: flex !important; flex-direction: column !important; box-shadow: 0 -10px 40px rgba(0,0,0,0.15) !important; border: none !important; transform: translateY(100%) !important; }.b24-desktop-sidebar.active { transform: translateY(0) !important; }.b24-desktop-sidebar::before { content: ""; display: block; width: 40px; height: 4px; background: #cbd5e1; border-radius: 4px; margin: 12px auto 0 auto; flex-shrink: 0; }.b24-desktop-sidebar .b24-sidebar-inner { overflow-y: auto !important; -webkit-overflow-scrolling: touch !important; flex: 1 !important; padding: 16px 24px calc(100px + env(safe-area-inset-bottom)) 24px !important; max-height: calc(80vh - 60px) !important; }.b24-desktop-sidebar .b24-sidebar-cats { flex-direction: column !important; gap: 6px !important; }.b24-desktop-sidebar .b24-sidebar-cats li a { display: block !important; padding: 14px 16px !important; font-size: 15px !important; border-radius: 12px !important; background: #f8fafc !important; }.b24-desktop-sidebar .b24-sidebar-cats li a:hover, .b24-desktop-sidebar .b24-sidebar-cats li a.active { background: #c2410c !important; color: #fff !important; }.b24-sidebar-close { display: flex !important; }.b24-shop-layout { padding: 0 !important; gap: 0 !important; max-width: 100% !important; }.b24-shop-products { width: 100% !important; }}.b24-sidebar-overlay { position: fixed; inset: 0; background: rgba(15, 23, 42, 0.6); backdrop-filter: blur(4px); z-index: 999998; opacity: 0; pointer-events: none; transition: opacity 0.3s ease; }.b24-sidebar-overlay.active { opacity: 1; pointer-events: auto; }/* Image Zoom & Lightbox */.woocommerce div.product div.images .woocommerce-product-gallery__image { overflow: hidden !important; border-radius: 16px !important; cursor: zoom-in !important; }.woocommerce div.product div.images .woocommerce-product-gallery__image img { transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important; }.woocommerce div.product div.images .woocommerce-product-gallery__image:hover img { transform: scale(1.5) !important; }.b24-lightbox { position: fixed; inset: 0; background: rgba(0,0,0,0.92); z-index: 200000; display: none; align-items: center; justify-content: center; cursor: zoom-out; flex-direction: column; gap: 16px; }.b24-lightbox.active { display: flex; }.b24-lightbox img { max-width: 90vw; max-height: 80vh; object-fit: contain; border-radius: 12px; box-shadow: 0 20px 60px rgba(0,0,0,0.5); user-select: none; }.b24-lightbox-close { position: absolute; top: 24px; right: 24px; background: rgba(255,255,255,0.15); border: none; color: #fff; width: 36px; height: 36px; border-radius: 50%; font-size: 24px; cursor: pointer; backdrop-filter: blur(10px); }.b24-lightbox-nav { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,0.15); backdrop-filter: blur(10px); border: none; color: #fff; width: 44px; height: 44px; border-radius: 50%; font-size: 20px; cursor: pointer; transition: background 0.2s; display: flex; align-items: center; justify-content: center; }.b24-lightbox-nav:hover { background: rgba(255,255,255,0.3); }.b24-lightbox-prev { left: 20px; }.b24-lightbox-next { right: 20px; }.b24-lightbox-counter { color: rgba(255,255,255,0.7); font-family: "Inter", sans-serif; font-size: 14px; font-weight: 600; }.b24-img-counter { position: absolute; bottom: 16px; right: 16px; background: rgba(15,23,42,0.7); backdrop-filter: blur(8px); color: #fff; font-family: "Inter", sans-serif; font-size: 12px; font-weight: 700; padding: 6px 12px; border-radius: 20px; z-index: 5; pointer-events: none; }/* Single Product Page */.woocommerce div.product { max-width: 1200px !important; margin: 0 auto !important; padding: 40px 20px !important;  background: #ffffff !important; }.woocommerce div.product .woocommerce-product-gallery__wrapper { border-radius: 20px !important; overflow: hidden !important; border: 1px solid #f1f5f9 !important; box-shadow: 0 4px 20px rgba(0,0,0,0.03) !important; }.woocommerce div.product .woocommerce-product-gallery img { width: 100% !important; height: auto !important; border-radius: 20px !important; transition: transform 0.3s ease !important; }.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs { margin-top: 16px !important; padding: 0 !important; display: flex !important; gap: 12px !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; scrollbar-width: none !important; }.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar { display: none !important; }.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li { width: 80px !important; min-width: 80px !important; border-radius: 12px !important; overflow: hidden !important; border: 2px solid transparent !important; cursor: pointer !important; transition: border-color 0.2s ease, transform 0.2s ease !important; }.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li:hover { transform: scale(1.05) !important; }.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img { border-radius: 8px !important; }.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active { border: 2px solid #c2410c !important; opacity: 1 !important; }.woocommerce div.product .product_title { font-family: "Inter", sans-serif !important; font-size: 36px !important; font-weight: 900 !important; color: #0f172a !important; line-height: 1.2 !important; margin-bottom: 12px !important; letter-spacing: -0.5px !important; }.woocommerce div.product p.price { font-family: "Inter", sans-serif !important; font-size: 36px !important; font-weight: 900 !important; color: #0f172a !important; margin-bottom: 24px !important; display: flex !important; align-items: center !important; gap: 12px !important; flex-wrap: wrap !important; }.woocommerce div.product p.price del { color: #94a3b8 !important; font-size: 20px !important; font-weight: 500 !important; }.woocommerce div.product p.price ins { text-decoration: none !important; color: #ef4444 !important; }/* Single Product Wishlist */.b24-single-wishlist { display: inline-flex; align-items: center; gap: 8px; padding: 12px 24px; border-radius: 12px; border: 2px solid #e2e8f0; background: #f8fafc; cursor: pointer; font-family: "Inter", sans-serif; font-size: 14px; font-weight: 700; color: #475569; transition: all 0.2s ease; margin-bottom: 16px; width: fit-content; }.b24-single-wishlist:hover { border-color: #ef4444; color: #ef4444; }.b24-single-wishlist.wishlisted { background: #fef2f2; border-color: #ef4444; color: #ef4444; }.b24-single-wishlist svg { width: 18px; height: 18px; transition: all 0.2s ease; }.b24-single-wishlist.wishlisted svg { fill: #ef4444; stroke: #ef4444; }.b24-single-wishlist:not(.wishlisted) svg { fill: none; stroke: currentColor; }.woocommerce div.product form.cart { display: flex !important; flex-wrap: wrap !important; gap: 16px !important; margin-bottom: 24px !important; padding-top: 24px !important; border-top: 1px solid #f1f5f9 !important; }.woocommerce div.product form.cart .quantity { width: auto !important; }.woocommerce div.product form.cart .quantity input.qty { width: 80px !important; height: 54px !important; border: 2px solid #e2e8f0 !important; border-radius: 12px !important; font-size: 18px !important; font-weight: 700 !important; color: #0f172a !important; background: #f8fafc !important; }.woocommerce div.product .single_add_to_cart_button { flex: 1 !important; background: #0f172a !important; color: #fff !important; border: none !important; border-radius: 12px !important; height: 54px !important; padding: 0 32px !important; font-family: "Inter", sans-serif !important; font-size: 18px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important; box-shadow: 0 4px 12px rgba(15,23,42,0.2) !important; }.woocommerce div.product .single_add_to_cart_button:hover { background: #c2410c !important; transform: translateY(-2px) !important; box-shadow: 0 12px 24px rgba(14,165,233,0.3) !important; }.woocommerce div.product .woocommerce-tabs { width: 100% !important; margin-top: 60px !important; padding-top: 40px !important; border-top: 1px solid #e2e8f0 !important; }.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex !important; gap: 32px !important; padding: 0 !important; margin: 0 0 32px 0 !important; border-bottom: 2px solid #f1f5f9 !important; }.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none !important; border: none !important; border-radius: 0 !important; padding: 0 0 12px 0 !important; margin: 0 !important; margin-bottom: -2px !important; }.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-family: "Inter", sans-serif !important; font-size: 18px !important; font-weight: 700 !important; color: #64748b !important; }.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid #c2410c !important; }.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #0f172a !important; }.woocommerce div.product .woocommerce-Tabs-panel { font-family: "Inter", sans-serif !important; font-size: 16px !important; line-height: 1.8 !important; color: #475569 !important; }.b24-trust-badges { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; padding-top: 24px; border-top: 1px solid #f1f5f9; }.b24-trust-badge { display: flex; align-items: center; gap: 8px; background: #f8fafc; padding: 12px 16px; border-radius: 12px; font-size: 13px; font-weight: 600; color: #334155; font-family: "Inter", sans-serif; border: 1px solid #e2e8f0; }/* Mobile Sticky Buy */@media (max-width: 768px) {.woocommerce div.product { padding: 20px 16px 100px 16px !important; gap: 24px !important; }.woocommerce div.product .product_title { font-size: 24px !important; }.woocommerce div.product p.price { font-size: 28px !important; }.woocommerce div.product form.cart { position: fixed !important; bottom: 0 !important; left: 0 !important; width: 100% !important; background: #ffffff !important; padding: 12px 16px !important; margin: 0 !important; box-shadow: 0 -4px 20px rgba(0,0,0,0.1) !important; z-index: 999 !important; border-top: 1px solid #e2e8f0 !important; display: flex !important; flex-wrap: nowrap !important; align-items: center !important; }.woocommerce div.product form.cart .quantity { display: none !important; }.woocommerce div.product .single_add_to_cart_button { margin: 0 !important; height: 48px !important; width: 100% !important; }}.woocommerce div.product .related.products { padding: 40px 0 !important; }.woocommerce div.product .related.products h2 { font-family: "Inter", sans-serif !important; font-size: 28px !important; font-weight: 900 !important; color: #0f172a !important; margin-bottom: 24px !important; }.woocommerce-message, .woocommerce-error, .woocommerce-info { position: fixed !important; top: 20px !important; left: 50% !important; transform: translateX(-50%) !important; z-index: 999999 !important; background: #0f172a !important; color: #ffffff !important; padding: 16px 24px !important; border-radius: 100px !important; font-family: "Inter", sans-serif !important; font-size: 14px !important; font-weight: 600 !important; box-shadow: 0 10px 40px rgba(0,0,0,0.2) !important; display: flex !important; align-items: center !important; gap: 16px !important; width: max-content !important; max-width: 90vw !important; border: none !important; animation: b24-toast-slide-down 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards !important; }.woocommerce-message::before, .woocommerce-error::before, .woocommerce-info::before { display: none !important; }.woocommerce-message .button { background: #c2410c !important; color: #ffffff !important; padding: 8px 16px !important; border-radius: 50px !important; font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 1px !important; text-decoration: none !important; }@keyframes b24-toast-slide-down {0% { top: -100px; opacity: 0; }100% { top: 20px; opacity: 1; }}@media (max-width: 768px) {/* header, .elementor-location-header, .site-header { display: none !important; } */.hide-on-mobile-full { display: none !important; }.hide-on-mobile { min-height: auto !important; padding: 12px 16px !important; overflow-x: auto !important; overflow-y: hidden !important; -webkit-overflow-scrolling: touch !important; white-space: nowrap !important; scrollbar-width: none !important; }.hide-on-mobile::-webkit-scrollbar { display: none !important; }.hide-on-mobile > .elementor-container, .hide-on-mobile > .e-con-inner, .hide-on-mobile .elementor-widget-wrap { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; gap: 10px !important; align-items: center !important; }.hide-on-mobile .elementor-widget { flex-shrink: 0 !important; min-width: auto !important; width: auto !important; }.hide-on-mobile h2, .hide-on-mobile h3 { font-size: 16px !important; white-space: nowrap !important; }.hide-on-mobile p { font-size: 12px !important; white-space: nowrap !important; }.hide-on-mobile .elementor-button { padding: 8px 16px !important; font-size: 12px !important; }body { padding-bottom: 70px !important; }.woocommerce div.product { padding: 16px !important; }.woocommerce div.product .product_title { font-size: 22px !important; }.woocommerce div.product p.price { font-size: 22px !important; }.b24-trust-badges { gap: 8px !important; }.b24-trust-badge { font-size: 10px !important; padding: 6px 10px !important; }.b24-mobile-scroll-row { display: flex !important; overflow-x: auto !important; overflow-y: hidden !important; flex-wrap: nowrap !important; justify-content: flex-start !important; gap: 24px !important; padding: 10px 20px 20px 20px !important; scroll-snap-type: x mandatory !important; -webkit-overflow-scrolling: touch !important; }.b24-mobile-scroll-row::-webkit-scrollbar { display: none !important; }.b24-mobile-scroll-row > *, .b24-mobile-scroll-row .elementor-element { scroll-snap-align: start !important; flex: 0 0 auto !important; flex-shrink: 0 !important; min-width: 80px !important; }}.b24-filter-drawer { position: fixed; top: 0; right: -100%; width: 85%; max-width: 320px; height: 100vh; background: #ffffff; z-index: 200002; box-shadow: -10px 0 30px rgba(0,0,0,0.2); transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1); padding: 24px; box-sizing: border-box; overflow-y: auto; }.b24-filter-drawer.open { right: 0; }.b24-drawer-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: rgba(0,0,0,0.6); backdrop-filter: blur(4px); z-index: 200001; display: none; opacity: 0; transition: opacity 0.3s ease; }.b24-drawer-overlay.show { display: block; opacity: 1; }.b24-drawer-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; font-family: "Inter", sans-serif; }.b24-drawer-close { background: #f1f5f9; border: none; border-radius: 50%; width: 36px; height: 36px; font-size: 18px; cursor: pointer; color: #64748b; }/* Search Overlay */.b24-search-overlay { position: fixed; inset: 0; background: rgba(15,23,42,0.85); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); z-index: 200001; display: none; align-items: flex-start; justify-content: center; padding-top: 10vh; }.b24-search-overlay.active { display: flex; }.b24-search-panel { width: 90%; max-width: 560px; background: #ffffff; border-radius: 20px; box-shadow: 0 25px 80px rgba(0,0,0,0.3); overflow: hidden; animation: b24-search-pop 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); }@keyframes b24-search-pop {0% { opacity: 0; transform: scale(0.95) translateY(-20px); }100% { opacity: 1; transform: scale(1) translateY(0); }}.b24-search-header { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid #f1f5f9; }.b24-search-input-wrap { flex: 1; display: flex; align-items: center; gap: 10px; background: #f8fafc; border-radius: 12px; padding: 10px 14px; border: 2px solid #e2e8f0; transition: border-color 0.2s; }.b24-search-input-wrap:focus-within { border-color: #c2410c; }.b24-search-input-wrap input { border: none; background: none; outline: none; font-family: "Inter", sans-serif; font-size: 16px; font-weight: 500; color: #0f172a; width: 100%; }.b24-search-input-wrap input::placeholder { color: #94a3b8; }.b24-search-close { background: #f1f5f9; border: none; border-radius: 50%; width: 36px; height: 36px; min-width: 36px; font-size: 20px; cursor: pointer; color: #64748b; display: flex; align-items: center; justify-content: center; }.b24-search-results { max-height: 50vh; overflow-y: auto; padding: 12px; }.b24-search-hint { text-align: center; color: #94a3b8; font-family: "Inter", sans-serif; font-size: 14px; padding: 20px; }.b24-search-item { display: flex; align-items: center; gap: 14px; padding: 12px; border-radius: 12px; text-decoration: none; color: #0f172a; transition: background 0.2s; }.b24-search-item:hover { background: #f8fafc; }.b24-search-item img { width: 56px; height: 56px; object-fit: cover; border-radius: 10px; border: 1px solid #f1f5f9; }.b24-search-item-info { flex: 1; min-width: 0; }.b24-search-item-title { font-family: "Inter", sans-serif; font-size: 14px; font-weight: 700; color: #0f172a; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }.b24-search-item-price { font-family: "Inter", sans-serif; font-size: 15px; font-weight: 800; color: #c2410c; margin-top: 2px; }.b24-search-loading { text-align: center; padding: 20px; color: #94a3b8; font-family: "Inter", sans-serif; }/* Wishlist Panel */.b24-wishlist-overlay { position: fixed; inset: 0; background: rgba(15,23,42,0.6); backdrop-filter: blur(4px); z-index: 199999; opacity: 0; pointer-events: none; transition: opacity 0.3s ease; }.b24-wishlist-overlay.active { opacity: 1; pointer-events: auto; }.b24-wishlist-panel { position: fixed; top: 0; right: -100%; width: 85%; max-width: 380px; height: 100vh; height: 100dvh; background: #ffffff; z-index: 200000; box-shadow: -10px 0 40px rgba(0,0,0,0.2); transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1); display: flex; flex-direction: column; }.b24-wishlist-panel.open { right: 0; }.b24-wishlist-header { display: flex; justify-content: space-between; align-items: center; padding: 20px 24px; border-bottom: 1px solid #f1f5f9; }.b24-wishlist-header h3 { font-family: "Inter", sans-serif; font-size: 20px; font-weight: 900; color: #0f172a; margin: 0; display: flex; align-items: center; gap: 10px; }.b24-wishlist-close { background: #f1f5f9; border: none; border-radius: 50%; width: 36px; height: 36px; font-size: 20px; cursor: pointer; color: #64748b; }.b24-wishlist-items { flex: 1; overflow-y: auto; padding: 16px; }.b24-wishlist-empty { text-align: center; color: #94a3b8; font-family: "Inter", sans-serif; font-size: 14px; padding: 40px 20px; }.b24-wl-item { display: flex; align-items: center; gap: 14px; padding: 14px; border-radius: 14px; border: 1px solid #f1f5f9; margin-bottom: 10px; transition: box-shadow 0.2s; }.b24-wl-item:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.06); }.b24-wl-item img { width: 64px; height: 64px; object-fit: cover; border-radius: 10px; border: 1px solid #f1f5f9; }.b24-wl-item-info { flex: 1; min-width: 0; }.b24-wl-item-info a { font-family: "Inter", sans-serif; font-size: 14px; font-weight: 700; color: #0f172a; text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }.b24-wl-item-price { font-family: "Inter", sans-serif; font-size: 15px; font-weight: 800; color: #c2410c; margin-top: 2px; }.b24-wl-remove { background: none; border: none; cursor: pointer; color: #94a3b8; padding: 8px; border-radius: 50%; transition: all 0.2s; }.b24-wl-remove:hover { color: #ef4444; background: #fef2f2; }.b24-account-buttons-wrapper {
            display: flex; gap: 20px; justify-content: center; margin-bottom: 40px; flex-wrap: wrap;
        }.b24-account-buttons-wrapper a.b24-acc-btn {
            background: #c2410c; color: #ffffff !important; padding: 20px 40px; font-size: 20px;
            font-weight: 800; text-transform: uppercase; text-decoration: none !important;
            border-radius: 12px; box-shadow: 0 10px 25px rgba(194, 65, 12, 0.4);
            transition: all 0.3s ease; text-align: center; min-width: 250px; display: inline-block;
        }.b24-account-buttons-wrapper a.b24-acc-btn:hover {
            transform: translateY(-5px); box-shadow: 0 15px 35px rgba(194, 65, 12, 0.6); background: #9a3412;
        }.b24-account-buttons-wrapper a.b24-acc-btn.outline {
            background: transparent; border: 3px solid #c2410c; color: #c2410c !important; box-shadow: none;
        }.b24-account-buttons-wrapper a.b24-acc-btn.outline:hover {
            background: #c2410c; color: #ffffff !important; box-shadow: 0 15px 35px rgba(194, 65, 12, 0.4);
        }@media (max-width: 768px) {.b24-account-buttons-wrapper { gap: 10px; margin-bottom: 24px; padding: 0 16px; }.b24-account-buttons-wrapper a.b24-acc-btn { min-width: 0; flex: 1; padding: 14px 16px; font-size: 14px; border-radius: 10px; }}/* ============================================================ */@media(max-width:768px){.b24-mobile-scroll,.b24-mobile-scroll>.elementor-container,.b24-mobile-scroll>.e-con{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important;gap:12px!important;padding-bottom:10px!important;}.b24-mobile-scroll::-webkit-scrollbar,.b24-mobile-scroll>.elementor-container::-webkit-scrollbar,.b24-mobile-scroll>.e-con::-webkit-scrollbar{display:none!important;}.b24-mobile-scroll .elementor-widget{flex:0 0 auto!important;scroll-snap-align:start!important;min-width:90px!important;}}/* ============================================================ */@media(min-width:769px){.b24-mobile-scroll{display:flex!important;justify-content:center!important;gap:40px!important;padding:40px 0!important;}.b24-mobile-scroll .elementor-widget{width:140px!important;height:140px!important;border-radius:50%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;background:#ffffff!important;box-shadow:0 10px 30px rgba(0,0,0,0.06)!important;transition:transform 0.3s ease,box-shadow 0.3s ease!important;}.b24-mobile-scroll .elementor-widget:hover{transform:translateY(-5px)!important;box-shadow:0 15px 40px rgba(0,0,0,0.1)!important;}.b24-mobile-scroll .elementor-widget .elementor-widget-container{width:100%!important;height:100%!important;display:flex;align-items:center;justify-content:center;}.b24-mobile-scroll .elementor-widget *{border:none!important;background:transparent!important;}}/* ============================================================ */.b24-3d-tilt{transform-style:preserve-3d!important;will-change:transform!important;}.b24-parallax-bg{transition:background-position 0.1s ease-out!important;}/* ============================================================ */.single-product .product{background:#ffffff!important;padding:40px!important;border-radius:20px!important;box-shadow:0 10px 40px rgba(0,0,0,0.03)!important;margin-top:40px!important;}.single-product .product_title{font-size:28px!important;font-weight:800!important;color:#0f172a!important;}.single-product .price{font-size:24px!important;color:#c2410c!important;font-weight:700!important;}.single-product .woocommerce-product-gallery__image{border-radius:12px!important;overflow:hidden!important;border:1px solid #f1f5f9!important;}@media(max-width:768px){}/* ============================================================ */.b24-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}/* ============================================================ *//* ============================================================ */.ast-site-identity{margin:0 auto 15px auto!important;text-align:center!important;width:100%!important;display:flex!important;justify-content:center!important;}.ast-footer-copyright{display:none!important;}.b24-premium-footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px;max-width:1200px;margin:0 auto;padding:0 20px;margin-bottom:40px;}.b24-footer-col h4{color:#ffffff!important;font-size:16px!important;font-weight:600!important;margin-bottom:20px!important;text-transform:uppercase!important;letter-spacing:1px!important;}.b24-footer-col ul{list-style:none!important;padding:0!important;margin:0!important;}.b24-footer-col ul li{margin-bottom:12px!important;}.b24-footer-bottom{text-align:center;padding-top:20px;border-top:1px solid #374151;font-size:13px;color:#9ca3af;}/* ============================================================ */.b24-cart-count:empty{display:none!important;}/* ============================================================ */@media(max-width:768px){}/* ============================================================ */.elementor-widget-accordion .elementor-accordion{border:none!important;box-shadow:0 10px 30px rgba(0,0,0,0.03);border-radius:12px;overflow:hidden;background:#ffffff;}.elementor-accordion-item{border-bottom:1px solid #f1f5f9!important;}.elementor-accordion-title{padding:20px 25px!important;font-weight:700!important;color:#0f172a!important;background:transparent!important;transition:all 0.3s ease;}.elementor-accordion-title.elementor-active{color:#c2410c!important;}.elementor-accordion-content{padding:0 25px 25px 25px!important;color:#64748b!important;line-height:1.8!important;border-top:none!important;}.wpforms-container .wpforms-field-label{font-weight:600!important;color:#1e293b!important;font-size:14px!important;}.wpforms-container input[type=text],.wpforms-container input[type=email],.wpforms-container textarea{border:2px solid #e2e8f0!important;border-radius:8px!important;padding:12px 16px!important;background:#f8fafc!important;color:#0f172a!important;transition:border-color 0.3s ease!important;box-shadow:none!important;}.wpforms-container input:focus,.wpforms-container textarea:focus{border-color:#c2410c!important;background:#ffffff!important;}.wpforms-container button[type=submit]{background:#111827!important;color:#ffffff!important;border-radius:8px!important;padding:15px 30px!important;font-weight:700!important;letter-spacing:0.5px!important;width:100%!important;transition:transform 0.2s ease,background 0.3s ease!important;}.wpforms-container button[type=submit]:hover{background:#c2410c!important;transform:translateY(-2px);}/* ============================================================ *//* ============================================================ *//* Hide default WC form titles *//* ============================================================ *//* Hide Astra default footers completely */.b24-footer {
        background: #1a0b02;
        background: radial-gradient(circle at 100% 100%, #331505 0%, #1a0b02 100%);
        color: #f8fafc;
        font-family: "Inter", system-ui, sans-serif;
        padding: 80px 5% 30px;
        margin-top: 60px;
        border-top: 4px solid #ff6600;
        position: relative;
        z-index: 999;
      }.b24-footer-grid {
        display: grid;
        grid-template-columns: 2fr 1fr 1fr 1.5fr;
        gap: 40px;
        max-width: 1200px;
        margin: 0 auto;
        border-bottom: 1px solid rgba(255,255,255,0.1);
        padding-bottom: 60px;
      }.b24-footer h3 {
        color: #ffffff;
        font-size: 1.1rem;
        font-weight: 600;
        margin-bottom: 24px;
        text-transform: uppercase;
      }.b24-footer p {
        color: #94a3b8;
        line-height: 1.6;
        font-size: 0.95rem;
        margin-bottom: 20px;
      }.b24-brand { font-size: 1.8rem; font-weight: 800; color: #ffffff; margin-bottom: 20px; display: inline-block; }.b24-brand span { color: #ff6600; }.b24-footer ul { list-style: none; padding: 0; margin: 0; }.b24-footer ul li { margin-bottom: 12px; }.b24-footer ul a { color: #94a3b8; text-decoration: none; font-size: 0.95rem; transition: all 0.3s; box-shadow: none !important; }.b24-footer ul a:hover { color: #ff6600; transform: translateX(5px); }.b24-footer-bottom { max-width: 1200px; margin: 30px auto 0; display: flex; justify-content: space-between; align-items: center; color: #64748b; font-size: 0.85rem; }/* Mobile formatting */@media (max-width: 992px) {.b24-footer-grid { grid-template-columns: 1fr 1fr; }}@media (max-width: 768px) {.b24-footer-grid { grid-template-columns: 1fr; gap: 30px; }.b24-footer-bottom { flex-direction: column; gap: 15px; text-align: center; padding-bottom: 80px; }}/* ==========================================================
   BLISSFUL24 — DYNAMIC WOOCOMMERCE CATEGORY GRID
   Categories, links, names and images come from WooCommerce.
   ========================================================== *//* =========================================================
   BLISSFUL24 — PRODUCT RATINGS & REVIEWS
   ========================================================= */.b24-product-rating-summary {
    margin: 10px 0 18px !important;
    padding: 10px 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05) !important;
}.b24-rating-summary-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    color: #0f172a !important;
    text-decoration: none !important;
    line-height: 1 !important;
}.b24-rating-stars {
    display: inline-block !important;
    font-size: 18px !important;
    line-height: 1 !important;
    letter-spacing: 1px !important;
    background: linear-gradient(90deg, #f59e0b var(--b24-rating), #dbe3ec var(--b24-rating)) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
}.b24-rating-number {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
}.b24-rating-out-of {
    font-size: 13px !important;
    color: #64748b !important;
}.b24-rating-count {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    margin-left: 2px !important;
}.woocommerce div.product .woocommerce-product-rating {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 10px !important;
}.woocommerce div.product .woocommerce-product-rating .star-rating {
    color: #f59e0b !important;
    font-size: 15px !important;
}.woocommerce #reviews .commentlist li .star-rating,
.woocommerce #reviews .star-rating {
    color: #f59e0b !important;
}.woocommerce #reviews #comments h2,
.woocommerce #review_form_wrapper .comment-reply-title {
    color: #0f172a !important;
    font-weight: 800 !important;
}.woocommerce #review_form_wrapper {
    margin-top: 24px !important;
    padding: 20px !important;
    background: #f8fafc !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
}.woocommerce #review_form #respond p.comment-form-rating {
    margin-bottom: 14px !important;
}.woocommerce #review_form #respond p.comment-form-rating label {
    font-weight: 700 !important;
    color: #334155 !important;
}.woocommerce #review_form #respond p.comment-form-comment textarea,
.woocommerce #review_form #respond input[type="text"],
.woocommerce #review_form #respond input[type="email"] {
    width: 100% !important;
    box-sizing: border-box !important;
    border: 1px solid #dbe3ec !important;
    border-radius: 10px !important;
    background: #fff !important;
    padding: 12px 14px !important;
}.woocommerce #review_form #respond .form-submit input[type="submit"] {
    background: #111827 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 10px !important;
    padding: 12px 20px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}/* =========================================================
   SHOP PAGE — LESS EMPTY SPACE + CLEAN DESKTOP FILTER SIDEBAR
   ========================================================= */@media (min-width: 769px) {.b24-shop-layout {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        gap: 24px !important;
        padding: 20px 0 30px !important;
    }.b24-desktop-sidebar {
        width: 235px !important;
        min-width: 235px !important;
        max-width: 235px !important;
        flex: 0 0 235px !important;
        position: sticky !important;
        top: 95px !important;
        height: auto !important;
        max-height: calc(100vh - 120px) !important;
        overflow-y: auto !important;
        display: block !important;
        padding: 18px !important;
        border-radius: 14px !important;
        box-sizing: border-box !important;
    }.b24-desktop-sidebar .b24-sidebar-inner {
        width: 100% !important;
        box-sizing: border-box !important;
    }.b24-sidebar-label {
        display: block !important;
        margin-bottom: 8px !important;
    }.b24-section-cats,
    .b24-section-sort {
        margin-bottom: 20px !important;
    }.b24-desktop-sidebar .b24-sidebar-cats {
        display: flex !important;
        flex-direction: column !important;
        gap: 5px !important;
    }.b24-desktop-sidebar .b24-sidebar-cats li a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 9px 11px !important;
        border-radius: 9px !important;
        margin: 0 !important;
    }.b24-shop-products {
        min-width: 0 !important;
        flex: 1 1 auto !important;
    }}/* =========================================================
   MOBILE SHOP — COMPACT FILTER/SORT DRAWER
   ========================================================= */@media (max-width: 768px) {.b24-mobile-filter-bar {
        min-height: 52px !important;
        height: 52px !important;
        padding: 0 !important;
        border-radius: 0 !important;
        box-shadow: 0 -4px 18px rgba(15, 23, 42, 0.10) !important;
    }.b24-mobile-filter-bar button {
        min-height: 52px !important;
        padding: 10px 12px !important;
        font-size: 13px !important;
    }.b24-desktop-sidebar {
        max-height: min(72vh, 620px) !important;
        border-radius: 18px 18px 0 0 !important;
    }.b24-desktop-sidebar .b24-sidebar-inner {
        padding: 10px 16px 72px !important;
        max-height: calc(min(72vh, 620px) - 44px) !important;
    }.b24-desktop-sidebar h3 {
        font-size: 16px !important;
        margin-bottom: 8px !important;
    }.b24-section-cats,
    .b24-section-sort {
        margin-bottom: 14px !important;
    }.b24-desktop-sidebar .b24-sidebar-cats {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }.b24-desktop-sidebar .b24-sidebar-cats li a {
        min-height: 42px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        box-sizing: border-box !important;
        padding: 8px 9px !important;
        font-size: 13px !important;
        line-height: 1.2 !important;
        border-radius: 9px !important;
    }.b24-shop-layout {
        padding: 0 0 68px !important;
        margin: 0 !important;
    }.b24-shop-products {
        width: 100% !important;
        min-width: 0 !important;
    }.woocommerce nav.woocommerce-pagination {
        margin-top: 20px !important;
        margin-bottom: 20px !important;
    }.b24-product-rating-summary {
        margin: 8px 0 14px !important;
        padding: 8px 11px !important;
    }.b24-rating-stars {
        font-size: 16px !important;
    }.b24-rating-number,
    .b24-rating-count,
    .b24-rating-out-of {
        font-size: 12px !important;
    }.woocommerce #review_form_wrapper {
        padding: 14px !important;
        border-radius: 12px !important;
    }}/* =========================================================
   BLISSFUL24 — FINAL PRODUCT CARD FIX
   Keeps price visible above Add to Cart and shows a compact
   WooCommerce rating on the right side of the card.
   ========================================================= *//* =========================================================
   WISHLIST — ORANGE HOVER WITH WHITE CONTRAST
   ========================================================= */.b24-single-wishlist:hover,
.b24-wishlist-btn:hover,
.b24-wishlist-button:hover,
button[class*="wishlist"]:hover,
a[class*="wishlist"]:hover {
    background: #ea580c !important;
    color: #ffffff !important;
    border-color: #c2410c !important;
}.b24-single-wishlist:hover svg,
.b24-wishlist-btn:hover svg,
.b24-wishlist-button:hover svg,
button[class*="wishlist"]:hover svg,
a[class*="wishlist"]:hover svg,
.b24-single-wishlist:hover i,
.b24-wishlist-btn:hover i,
.b24-wishlist-button:hover i,
button[class*="wishlist"]:hover i,
a[class*="wishlist"]:hover i {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
}/* =========================================================
   MOBILE — KEEP CARDS COMPACT / NO LARGE EMPTY SPACE
   ========================================================= *//* ==========================================================
   BLISSFUL24 — FINAL DYNAMIC STORE OVERRIDES
   WooCommerce is the source of truth for categories/products.
   This block intentionally comes last so older theme/plugin rules
   cannot put prices behind buttons or break the category grid.
   ========================================================== *//* ---------- Dynamic WooCommerce category grid ---------- */.b24-dynamic-category-wrap,
.b24-dynamic-category-wrap .elementor-widget-shortcode,
.b24-dynamic-category-wrap .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}/* ---------- Product grid/card: normal document flow ---------- *//* ---------- Wishlist ---------- */.b24-single-wishlist:hover,
.b24-wishlist-btn:hover,
.b24-wishlist-button:hover,
button[class*="wishlist"]:hover,
a[class*="wishlist"]:hover {
    background: #ea580c !important;
    color: #ffffff !important;
    border-color: #c2410c !important;
}.b24-single-wishlist:hover svg,
.b24-wishlist-btn:hover svg,
.b24-wishlist-button:hover svg,
button[class*="wishlist"]:hover svg,
a[class*="wishlist"]:hover svg,
.b24-single-wishlist:hover i,
.b24-wishlist-btn:hover i,
.b24-wishlist-button:hover i,
button[class*="wishlist"]:hover i,
a[class*="wishlist"]:hover i {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
}/* ---------- Mobile ---------- *//* ==========================================================================
   BLISSFUL24 — BUG FIXES + NEW FEATURE STYLES + NEW ELEMENTS
   ==========================================================================
   ADD THIS AT THE VERY END of your Additional CSS
   (after your existing old CSS which should be kept as the base)
   ========================================================================== *//* ============================================ *//* DESIGN TOKENS (NEW) *//* ============================================ */:root {
  /* Colors - BRAND COLOR IS ORANGE */
  --color-primary: #FF6600;      /* Brand Orange */
  --color-primary-dark: #c2410c; /* Darker Orange */
  --color-secondary: #0EA5E9;    /* Blue accent */
  --color-success: #10B981;
  --color-warning: #F59E0B;
  --color-error: #EF4444;
  --color-dark: #0f172a;
  --color-light: #f8fafc;
  
  /* Spacing */
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
  --spacing-xl: 32px;
  --spacing-xxl: 48px;
  
  /* Border Radius */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 9999px;
  
  /* Typography */
  --font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-base: 16px;
  --font-size-lg: 18px;
  --font-size-xl: 24px;
  --font-size-xxl: 32px;
  
  /* Transitions */
  --transition-fast: 0.2s ease;
  --transition-normal: 0.3s ease;
  --transition-slow: 0.4s ease;
}/* ============================================ *//* TICKER ANIMATION (FIXED - No Marquee) *//* ============================================ */.b24-ticker-wrapper {
  overflow: hidden;
  white-space: nowrap;
  background: #0f172a;
  padding: 12px 0;
}.b24-ticker {
  display: inline-block;
  animation: ticker 30s linear infinite;
}.b24-ticker-item {
  display: inline-block;
  padding: 0 30px;
  color: #94a3b8;
  font-size: 13px;
  font-family: var(--font-family);
  font-weight: 600;
}.b24-ticker-item .highlight {
  color: var(--color-primary); /* ORANGE highlight */
}@keyframes ticker {0% { transform: translateX(100%); }100% { transform: translateX(-100%); }}/* Pause on hover */.b24-ticker-wrapper:hover .b24-ticker {
  animation-play-state: paused;
}/* =====================================================================
   FIX 1: DESKTOP FOOTER — Make sure footer shows on desktop
   ===================================================================== *//* =====================================================================
   FIX 2: MOBILE NOTIFICATION — Proper alignment + swipe support
   ===================================================================== */@media (max-width: 768px) {.woocommerce-message,
    .woocommerce-error,
    .woocommerce-info {
        position: fixed !important;
        top: 16px !important;
        left: 16px !important;
        right: 16px !important;
        transform: none !important;
        width: auto !important;
        max-width: none !important;
        border-radius: 16px !important;
        padding: 14px 18px !important;
        font-size: 13px !important;
        z-index: 999999 !important;
        touch-action: pan-x !important;
        -webkit-user-select: none !important;
        user-select: none !important;
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        flex-wrap: nowrap !important;
    }.woocommerce-message .button,
    .woocommerce-error .button,
    .woocommerce-info .button {
        flex-shrink: 0 !important;
        white-space: nowrap !important;
        font-size: 11px !important;
        padding: 6px 12px !important;
    }/* Swipe hint indicator */.woocommerce-message::after {
        content: "← swipe to dismiss →" !important;
        display: block !important;
        position: absolute !important;
        bottom: -18px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        font-size: 9px !important;
        color: rgba(255,255,255,0.4) !important;
        white-space: nowrap !important;
    }}/* =====================================================================
   FIX 3: ICON ALT TEXT LEAK — Hide exposed HTML/alt text from icons
   ===================================================================== *//* Ensure SVG icons don't leak text *//* Badge only shows clean numbers */.b24-cart-count,
.b24-wishlist-count,
.b24-du-badge {
    overflow: hidden !important;
    text-overflow: clip !important;
}/* =====================================================================
   FIX 4: DESKTOP FILTER SIDEBAR — Restore sticky sidebar on desktop
   (If your old CSS desktop sidebar rules got overridden)
   ===================================================================== */@media (min-width: 769px) {.b24-shop-layout {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        gap: 24px !important;
        padding: 20px 0 30px !important;
    }.b24-desktop-sidebar {
        width: 235px !important;
        min-width: 235px !important;
        max-width: 235px !important;
        flex: 0 0 235px !important;
        position: sticky !important;
        top: 95px !important;
        height: auto !important;
        max-height: calc(100vh - 120px) !important;
        overflow-y: auto !important;
        display: block !important;
        padding: 18px !important;
        border-radius: 14px !important;
        box-sizing: border-box !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
    }.b24-desktop-sidebar .b24-sidebar-inner {
        width: 100% !important;
        box-sizing: border-box !important;
    }.b24-sidebar-label {
        display: block !important;
        margin-bottom: 8px !important;
    }.b24-desktop-sidebar .b24-sidebar-cats {
        display: flex !important;
        flex-direction: column !important;
        gap: 5px !important;
    }.b24-desktop-sidebar .b24-sidebar-cats li a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 9px 11px !important;
        border-radius: 9px !important;
        margin: 0 !important;
    }.b24-shop-products {
        min-width: 0 !important;
        flex: 1 1 auto !important;
    }}/* =====================================================================
   NEW FEATURE 1: BULK PRICE BADGE
   ===================================================================== */.b24-bulk-badge {
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #0369a1 !important;
    background: #e0f2fe !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    margin: 4px 16px 0 !important;
    display: inline-block !important;
}@media (max-width: 768px) {.b24-bulk-badge {
        font-size: 10px !important;
        margin: 2px 10px 0 !important;
        padding: 3px 8px !important;
    }}/* =====================================================================
   NEW FEATURE 2: MOQ NOTICE (Single Product Page)
   ===================================================================== */.b24-moq-notice {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    background: linear-gradient(135deg, #eff6ff, #dbeafe) !important;
    border: 1px solid #bfdbfe !important;
    border-left: 4px solid #2563eb !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    margin-bottom: 20px !important;
    font-family: "Inter", Arial, sans-serif !important;
}.b24-moq-icon {
    font-size: 28px !important;
    flex-shrink: 0 !important;
}.b24-moq-text {
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #1e3a5f !important;
}.b24-moq-text strong {
    color: #1e40af !important;
    font-weight: 800 !important;
    font-size: 15px !important;
}.b24-moq-text span {
    color: #475569 !important;
    font-size: 13px !important;
}/* =====================================================================
   NEW FEATURE 3: PREPAID DISCOUNT BANNER
   ===================================================================== */.b24-prepaid-banner {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: linear-gradient(135deg, #ecfdf5, #d1fae5) !important;
    border: 1px solid #a7f3d0 !important;
    border-left: 4px solid #10b981 !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    margin-bottom: 24px !important;
    font-family: "Inter", Arial, sans-serif !important;
}.b24-prepaid-icon {
    font-size: 24px !important;
    flex-shrink: 0 !important;
}.b24-prepaid-text {
    font-size: 14px !important;
    color: #064e3b !important;
    line-height: 1.5 !important;
}.b24-prepaid-text strong {
    color: #047857 !important;
    font-weight: 800 !important;
}/* =====================================================================
   NEW FEATURE 4: COD ADVANCE NOTICE
   ===================================================================== */.b24-cod-notice {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    background: linear-gradient(135deg, #fff7ed, #ffedd5) !important;
    border: 1px solid #fed7aa !important;
    border-left: 4px solid #f97316 !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    margin: 16px 0 !important;
    font-family: "Inter", Arial, sans-serif !important;
}.b24-cod-icon {
    font-size: 28px !important;
    flex-shrink: 0 !important;
}.b24-cod-text {
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #7c2d12 !important;
}.b24-cod-text strong {
    color: #c2410c !important;
    font-weight: 800 !important;
}.b24-cod-text span {
    color: #9a3412 !important;
    font-size: 13px !important;
}/* =====================================================================
   NEW FEATURE 5: REFUND POLICY NOTICE
   ===================================================================== */.b24-refund-notice {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-left: 4px solid #0ea5e9 !important;
    border-radius: 12px !important;
    padding: 24px !important;
    margin: 24px 0 !important;
    font-family: "Inter", Arial, sans-serif !important;
}.b24-refund-notice h4 {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin: 0 0 12px 0 !important;
}.b24-refund-notice p {
    font-size: 14px !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    margin-bottom: 12px !important;
}.b24-refund-notice ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}.b24-refund-notice ul li {
    position: relative !important;
    padding-left: 24px !important;
    margin-bottom: 8px !important;
    font-size: 13px !important;
    color: #64748b !important;
    line-height: 1.5 !important;
}.b24-refund-notice ul li::before {
    content: "✓" !important;
    position: absolute !important;
    left: 0 !important;
    color: #10b981 !important;
    font-weight: 800 !important;
}.b24-refund-notice a {
    color: #0ea5e9 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}.b24-refund-notice a:hover {
    text-decoration: underline !important;
}/* Short refund notice on product page */.b24-refund-short {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    margin-top: 8px !important;
    padding: 6px 0 !important;
}/* ============================================================
   STRICT 5-COLUMN / SINGLE ROW OVERRIDE FOR CATEGORIES
   NUCLEAR ASTRA OVERRIDES - REVISED (Premium Typography)
   ============================================================ *//* 1. Force Flexbox on the container *//* 2. Reset the Category List Items *//* 3. Reset the Link Wrapper *//* 4. Kill ANY Astra wrap (thumbnail wrap, summary wrap) *//* 5. Force Circular Images & Add Image Hover Effect *//* 6. Premium Typography below the image *//* 7. HIDE PRODUCT COUNT *//* 8. KILLS THE SQUARE HOVER ON THE WHOLE ITEM *//* Force Hover state to do NOTHING to the text *//* Mobile specific sizing *//* ============================================================
   KILL THE UGLY "Loading..." BAR ON PRODUCT IMAGES
   ============================================================ */.woocommerce-product-gallery .blockUI.blockMsg,
.woocommerce-product-gallery .blockUI.blockMsg.blockElement,
.woocommerce-product-gallery__wrapper .blockUI,
.ast-woocommerce-container .blockUI.blockMsg {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    font-size: 0 !important;
}
/* ==========================================================
   B24 2.0 FINAL LAYOUT LAYER
   This is the only visual stylesheet enqueued by the plugin.
   It deliberately scopes new UI to B24 classes and WooCommerce
   storefront surfaces so Elementor sections are not globally reset.
   ========================================================== */
:root{--b24-accent:#c2410c;--b24-accent-2:#ea580c;--b24-ink:#0f172a;--b24-muted:#64748b;--b24-line:#e5e7eb;--b24-surface:#fff;--b24-soft:#f8fafc;--b24-radius:18px;--b24-shadow:0 12px 36px rgba(15,23,42,.09)}
.b24-cat-grid{display:grid!important;grid-template-columns:repeat(10,minmax(64px,1fr))!important;gap:18px!important;width:100%!important;align-items:start!important}
.b24-cat-item{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;min-width:0!important;text-decoration:none!important;color:inherit!important;cursor:pointer!important;transition:transform .35s cubic-bezier(.16,1,.3,1)!important}
.b24-cat-icon-box{width:clamp(68px,7vw,92px)!important;height:clamp(68px,7vw,92px)!important;max-width:none!important;aspect-ratio:1!important;border-radius:50%!important;overflow:hidden!important;background:#fff!important;box-shadow:0 7px 22px rgba(15,23,42,.10),inset 0 0 0 1px rgba(15,23,42,.05)!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0 0 10px!important;transform:translateZ(0)!important;transition:transform .42s cubic-bezier(.16,1,.3,1),box-shadow .42s cubic-bezier(.16,1,.3,1)!important;will-change:transform!important}
.b24-cat-icon-box img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;transition:transform .55s cubic-bezier(.16,1,.3,1)!important}
.b24-cat-item:hover .b24-cat-icon-box,.b24-cat-item:focus-visible .b24-cat-icon-box{transform:translateY(-8px) scale(1.035)!important;box-shadow:0 18px 34px rgba(15,23,42,.16),0 0 0 5px rgba(194,65,12,.07)!important}
.b24-cat-item:hover .b24-cat-icon-box img,.b24-cat-item:focus-visible .b24-cat-icon-box img{transform:scale(1.06)!important}
.b24-cat-text{display:block!important;width:100%!important;max-width:110px!important;min-height:2.5em!important;font-family:Inter,system-ui,sans-serif!important;font-size:12px!important;font-weight:750!important;color:var(--b24-ink)!important;text-align:center!important;line-height:1.25!important;white-space:normal!important;overflow:hidden!important;text-overflow:ellipsis!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important}
@media(max-width:1100px) and (min-width:769px){.b24-cat-grid{grid-template-columns:repeat(8,minmax(70px,1fr))!important}}
@media(max-width:768px){
 .b24-cat-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-auto-rows:auto!important;gap:20px 10px!important}
 .b24-cat-icon-box{width:clamp(58px,15vw,76px)!important;height:clamp(58px,15vw,76px)!important;margin-bottom:8px!important}
 .b24-cat-text{font-size:11px!important;max-width:76px!important;min-height:28px!important}
}

/* Premium, compact WooCommerce product cards */
.woocommerce ul.products li.product{display:flex!important;flex-direction:column!important;height:auto!important;min-width:0!important;overflow:hidden!important;padding:0 0 14px!important;margin:0!important;background:#fff!important;border:1px solid #eef2f7!important;border-radius:18px!important;box-shadow:0 4px 18px rgba(15,23,42,.055)!important;transition:transform .38s cubic-bezier(.16,1,.3,1),box-shadow .38s ease,border-color .38s ease!important}
.woocommerce ul.products li.product:hover{transform:translateY(-5px)!important;box-shadow:0 18px 38px rgba(15,23,42,.11)!important;border-color:#e2e8f0!important}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{position:relative!important;width:100%!important;aspect-ratio:1/1!important;overflow:hidden!important;margin:0!important;background:#f8fafc!important;border-radius:18px 18px 0 0!important}
.woocommerce ul.products li.product a img{width:100%!important;height:100%!important;object-fit:contain!important;margin:0!important;padding:10px!important;transition:transform .55s cubic-bezier(.16,1,.3,1)!important}
.woocommerce ul.products li.product:hover a img{transform:scale(1.045)!important}
.woocommerce ul.products li.product .astra-shop-summary-wrap{display:flex!important;flex-direction:column!important;min-width:0!important;flex:1!important;padding:12px 14px 0!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product h2{font:700 13px/1.35 Inter,system-ui,sans-serif!important;color:var(--b24-ink)!important;margin:0 0 7px!important;padding:0!important;min-height:35px!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:normal!important;overflow-wrap:anywhere!important}
.woocommerce ul.products li.product .price{font:800 17px/1.2 Inter,system-ui,sans-serif!important;color:var(--b24-ink)!important;margin:0 0 10px!important;padding:0!important;min-height:20px!important}
.woocommerce ul.products li.product .price del{font-size:12px!important;color:#94a3b8!important;margin-right:5px!important}.woocommerce ul.products li.product .price ins{color:var(--b24-accent)!important;text-decoration:none!important}
.woocommerce ul.products li.product .button,.woocommerce ul.products li.product a.add_to_cart_button{position:static!important;width:calc(100% - 28px)!important;margin:auto 14px 0!important;padding:10px 12px!important;border:0!important;border-radius:11px!important;background:var(--b24-ink)!important;color:#fff!important;font:700 12px/1.2 Inter,system-ui,sans-serif!important;text-align:center!important;text-transform:none!important;letter-spacing:0!important;box-sizing:border-box!important;transition:transform .25s ease,background .25s ease,box-shadow .25s ease!important}
.woocommerce ul.products li.product .button:hover,.woocommerce ul.products li.product a.add_to_cart_button:hover{background:var(--b24-accent)!important;transform:translateY(-2px)!important;box-shadow:0 8px 18px rgba(194,65,12,.22)!important}
.woocommerce ul.products li.product .onsale{top:10px!important;left:10px!important;right:auto!important;margin:0!important;padding:6px 9px!important;border-radius:9px!important;background:#ef4444!important;color:#fff!important;font:800 9px/1 Inter,sans-serif!important;min-width:auto!important;min-height:auto!important}
@media(max-width:768px){.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin:0!important;padding:0!important}.woocommerce ul.products li.product{width:100%!important}.woocommerce ul.products li.product .astra-shop-summary-wrap{padding:10px 10px 0!important}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:12px!important;min-height:32px!important}.woocommerce ul.products li.product .price{font-size:15px!important;margin-bottom:8px!important}.woocommerce ul.products li.product .button,.woocommerce ul.products li.product a.add_to_cart_button{width:calc(100% - 20px)!important;margin-left:10px!important;margin-right:10px!important;padding:9px 8px!important;font-size:11px!important}.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{border-radius:14px 14px 0 0!important}.woocommerce ul.products li.product:hover{transform:translateY(-2px)!important}}

/* Bottom app-like navigation. Shop/product/archive contexts move it to top. */
.b24-mobile-nav{position:fixed!important;left:50%!important;bottom:max(10px,env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;width:min(94vw,460px)!important;height:68px!important;padding:6px!important;display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:2px!important;background:rgba(255,255,255,.94)!important;border:1px solid rgba(226,232,240,.92)!important;border-radius:24px!important;box-shadow:0 14px 45px rgba(15,23,42,.18)!important;backdrop-filter:blur(22px)!important;-webkit-backdrop-filter:blur(22px)!important;z-index:99990!important}
.b24-mobile-nav.b24-shop-nav{top:max(8px,env(safe-area-inset-top))!important;bottom:auto!important}
.b24-nav-action{position:relative!important;min-width:0!important;border:0!important;background:transparent!important;color:#64748b!important;text-decoration:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;border-radius:17px!important;font:700 9px/1 Inter,system-ui,sans-serif!important;cursor:pointer!important;padding:5px!important;transition:background .25s ease,color .25s ease,transform .25s ease!important}
.b24-nav-action:hover,.b24-nav-action:focus-visible{color:var(--b24-accent)!important;background:#fff7ed!important;transform:translateY(-1px)!important;outline:0!important}
.b24-nav-icon{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;width:30px!important;height:27px!important;font-size:21px!important;line-height:1!important}.b24-nav-cart-count{position:absolute!important;top:-6px!important;right:-9px!important;min-width:16px!important;height:16px!important;padding:0 4px!important;border-radius:999px!important;background:#ef4444!important;color:#fff!important;font:800 9px/16px Inter,sans-serif!important;text-align:center!important;border:2px solid #fff!important}.b24-nav-cart-count.is-empty{display:none!important}
.b24-menu-overlay{position:fixed!important;inset:0!important;background:rgba(2,6,23,.45)!important;backdrop-filter:blur(4px)!important;z-index:99998!important;opacity:0!important;visibility:hidden!important;transition:opacity .3s ease,visibility .3s ease!important}.b24-menu-overlay.is-open{opacity:1!important;visibility:visible!important}
.b24-menu-drawer{position:fixed!important;top:0!important;left:0!important;width:min(88vw,380px)!important;height:100dvh!important;background:#fff!important;z-index:99999!important;transform:translateX(-105%)!important;transition:transform .42s cubic-bezier(.16,1,.3,1)!important;display:flex!important;flex-direction:column!important;box-shadow:18px 0 50px rgba(15,23,42,.18)!important;overflow:hidden!important}
.b24-menu-drawer.is-open{transform:translateX(0)!important}.b24-menu-head{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:max(18px,env(safe-area-inset-top)) 20px 16px!important;border-bottom:1px solid #eef2f7!important}.b24-menu-logo{display:flex!important;align-items:center!important;min-width:0!important;color:var(--b24-ink)!important;text-decoration:none!important}.b24-menu-logo img{max-width:150px!important;max-height:42px!important;width:auto!important;height:auto!important}.b24-menu-brand-text{font:800 20px/1.1 Inter,sans-serif!important}.b24-menu-close{width:40px!important;height:40px!important;border:0!important;border-radius:50%!important;background:#f8fafc!important;color:#0f172a!important;font:400 27px/1 Inter,sans-serif!important;cursor:pointer!important}.b24-menu-account{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;padding:16px 20px!important}.b24-menu-account a{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:44px!important;border-radius:13px!important;background:#f8fafc!important;color:#334155!important;text-decoration:none!important;font:700 12px/1 Inter,sans-serif!important}.b24-menu-account a:hover{background:#fff7ed!important;color:var(--b24-accent)!important}.b24-menu-links{overflow:auto!important;padding:0 20px 30px!important;display:flex!important;flex-direction:column!important;gap:3px!important}.b24-menu-links>a{padding:12px 13px!important;border-radius:12px!important;color:#1e293b!important;text-decoration:none!important;font:650 14px/1.25 Inter,sans-serif!important}.b24-menu-links>a:hover{background:#f8fafc!important;color:var(--b24-accent)!important}.b24-menu-label{margin:16px 13px 5px!important;color:#94a3b8!important;font:800 10px/1 Inter,sans-serif!important;text-transform:uppercase!important;letter-spacing:1.5px!important}.b24-menu-socials{display:flex!important;gap:8px!important;padding:12px 20px calc(20px + env(safe-area-inset-bottom))!important;border-top:1px solid #eef2f7!important;margin-top:auto!important}.b24-menu-socials a{width:34px!important;height:34px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#f8fafc!important;color:#475569!important;text-decoration:none!important;font:800 12px/1 Inter,sans-serif!important}.b24-menu-socials a:hover{background:#fff7ed!important;color:var(--b24-accent)!important}
.b24-nav-search{position:fixed!important;left:50%!important;bottom:calc(86px + env(safe-area-inset-bottom))!important;transform:translate(-50%,12px)!important;width:min(92vw,440px)!important;padding:8px!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:18px!important;box-shadow:0 14px 40px rgba(15,23,42,.15)!important;z-index:99991!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:.25s ease!important}.b24-nav-search.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate(-50%,0)!important}.b24-nav-search form{display:flex!important;gap:7px!important}.b24-nav-search input[type=search]{flex:1!important;min-width:0!important;border:0!important;background:#f8fafc!important;border-radius:12px!important;padding:12px 14px!important;outline:0!important;font:600 14px/1.2 Inter,sans-serif!important}.b24-nav-search button{width:46px!important;border:0!important;border-radius:12px!important;background:var(--b24-ink)!important;color:#fff!important;font-size:20px!important;cursor:pointer!important}
.b24-cart-toast{position:fixed!important;top:18px!important;right:18px!important;width:min(390px,calc(100vw - 36px))!important;display:flex!important;align-items:center!important;gap:10px!important;padding:12px!important;background:rgba(255,255,255,.96)!important;border:1px solid #e5e7eb!important;border-radius:16px!important;box-shadow:0 16px 40px rgba(15,23,42,.16)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;z-index:100000!important;transform:translateY(-150%)!important;opacity:0!important;visibility:hidden!important;transition:transform .38s cubic-bezier(.16,1,.3,1),opacity .25s ease,visibility .25s ease!important}.b24-cart-toast.is-visible{transform:translateY(0)!important;opacity:1!important;visibility:visible!important}.b24-cart-toast-icon{width:32px!important;height:32px!important;flex:0 0 32px!important;border-radius:50%!important;background:#dcfce7!important;color:#15803d!important;display:grid!important;place-items:center!important;font-weight:900!important}.b24-cart-toast-copy{min-width:0!important;flex:1!important;display:flex!important;flex-direction:column!important;gap:2px!important}.b24-cart-toast-copy strong{font:800 13px/1.2 Inter,sans-serif!important;color:#0f172a!important}.b24-cart-toast-copy small{font:500 11px/1.3 Inter,sans-serif!important;color:#64748b!important}.b24-cart-toast>a{font:800 11px/1 Inter,sans-serif!important;color:var(--b24-accent)!important;text-decoration:none!important;white-space:nowrap!important}.b24-cart-toast>button{border:0!important;background:#f8fafc!important;color:#64748b!important;width:28px!important;height:28px!important;border-radius:50%!important;cursor:pointer!important;font-size:18px!important}
@media(min-width:769px){.b24-mobile-nav{display:none!important}.b24-menu-drawer,.b24-menu-overlay,.b24-nav-search{display:none!important}}
@media(max-width:768px){body{padding-bottom:96px!important}.woocommerce-cart,.woocommerce-checkout{padding-bottom:0!important}.b24-cart-toast{top:max(12px,env(safe-area-inset-top))!important;right:12px!important;width:calc(100vw - 24px)!important}.b24-mobile-nav.b24-shop-nav{width:100%!important;max-width:none!important;border-radius:0 0 20px 20px!important;border-left:0!important;border-right:0!important;border-top:0!important;box-shadow:0 8px 28px rgba(15,23,42,.13)!important}.b24-mobile-nav.b24-shop-nav~*{} }
@media(prefers-reduced-motion:reduce){.b24-cat-icon-box,.b24-cat-icon-box img,.b24-cat-item,.woocommerce ul.products li.product,.woocommerce ul.products li.product img,.b24-menu-drawer,.b24-menu-overlay,.b24-cart-toast{transition:none!important}.b24-cat-item:hover .b24-cat-icon-box{transform:none!important}}

/* Prevent long product/category labels from escaping their cards. */
.woocommerce ul.products li.product,.woocommerce ul.products li.product *,.b24-cat-item,.b24-cat-text{min-width:0!important;overflow-wrap:anywhere!important}


/* =====================================================================
   B24 2.1 — SAFE ELEMENTOR FULL-WIDTH + STICKY BOUNCING TICKER
   The page shell is widened without changing Elementor's editable
   section/container controls. WooCommerce archives keep their own shell.
   ===================================================================== */
body.b24-elementor-fullwidth-page {
    overflow-x: hidden !important;
}
body.b24-elementor-fullwidth-page #content,
body.b24-elementor-fullwidth-page #main,
body.b24-elementor-fullwidth-page .site-content,
body.b24-elementor-fullwidth-page .site-main,
body.b24-elementor-fullwidth-page .content-area,
body.b24-elementor-fullwidth-page .entry-content,
body.b24-elementor-fullwidth-page .elementor,
body.b24-elementor-fullwidth-page .elementor-section-wrap {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
body.b24-elementor-fullwidth-page .ast-container,
body.b24-elementor-fullwidth-page .site-content > .ast-container,
body.b24-elementor-fullwidth-page .site-main > .ast-container,
body.b24-elementor-fullwidth-page .content-area > .ast-container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
body.b24-elementor-fullwidth-page .elementor-section.elementor-section-boxed > .elementor-container {
    width: min(100%, var(--container-max-width, 1200px)) !important;
    max-width: var(--container-max-width, 1200px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
body.b24-elementor-fullwidth-page .elementor-section.elementor-section-full_width > .elementor-container,
body.b24-elementor-fullwidth-page .elementor-container.elementor-column-gap-no {
    width: 100% !important;
    max-width: none !important;
}
body.b24-elementor-fullwidth-page .elementor-widget-container {
    min-width: 0 !important;
}

/* Elementor remains the design source of truth. These rules only remove
   theme-level outer gutters; section padding stays editable in Elementor. */
body.b24-elementor-fullwidth-page .elementor > .e-con,
body.b24-elementor-fullwidth-page .elementor > .elementor-element {
    max-width: none;
}

/* Sticky top message: stays visible while the user scrolls. */
body.b24-elementor-fullwidth-page .b24-ticker-wrapper {
    position: sticky !important;
    top: 0 !important;
    z-index: 10050 !important;
    width: 100% !important;
    max-width: none !important;
    overflow: hidden !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    white-space: nowrap !important;
    isolation: isolate !important;
}
body.b24-elementor-fullwidth-page .b24-ticker {
    display: inline-flex !important;
    width: max-content !important;
    max-width: none !important;
    margin: 0 !important;
    animation: none !important;
    transform: translate3d(0,0,0);
    will-change: transform;
    backface-visibility: hidden;
}
body.b24-elementor-fullwidth-page .b24-ticker-item {
    flex: 0 0 auto !important;
    padding: 0 16px !important;
    font-size: 13px !important;
    line-height: 40px !important;
}
body.b24-elementor-fullwidth-page .b24-ticker-item .highlight {
    font-weight: 750 !important;
}

/* If the mobile shop navigation shares a page with the sticky ticker,
   place it underneath the ticker rather than covering it. */
@media (max-width:768px) {
    body.b24-elementor-fullwidth-page .b24-mobile-nav.b24-site-nav {
        bottom: max(10px,env(safe-area-inset-bottom)) !important;
    }
    body.b24-elementor-fullwidth-page:has(.b24-ticker-wrapper) .b24-mobile-nav.b24-shop-nav {
        top: 40px !important;
    }
    body.b24-elementor-fullwidth-page .elementor-section.elementor-section-boxed > .elementor-container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-sizing: border-box !important;
    }
    body.b24-elementor-fullwidth-page .b24-ticker-wrapper {
        min-height: 38px !important;
        height: 38px !important;
    }
    body.b24-elementor-fullwidth-page .b24-ticker-item {
        padding: 0 12px !important;
        font-size: 12px !important;
        line-height: 38px !important;
    }
}

/* Never let the ticker create horizontal page overflow. */
html:has(body.b24-elementor-fullwidth-page),
body.b24-elementor-fullwidth-page {
    max-width: 100% !important;
    overflow-x: hidden !important;
}


/* =====================================================================
   B24 PROMO TICKER v2.3 — CONTINUOUS LOOP / MOBILE FULL TEXT
   ===================================================================== */
.b24-ticker-wrapper{
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  max-width:100% !important;
  min-height:42px !important;
  height:42px !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  background:#0f172a !important;
  color:#fff !important;
  box-sizing:border-box !important;
  position:relative !important;
}
.b24-ticker-contact{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:0 14px !important;
  height:100% !important;
  background:#0f172a !important;
  position:relative !important;
  z-index:3 !important;
  box-sizing:border-box !important;
  box-shadow:8px 0 12px -10px rgba(0,0,0,.7) !important;
}
.b24-ticker-contact a{
  text-decoration:none !important;
  white-space:nowrap !important;
  font-family:var(--font-family,Inter,sans-serif) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.1px !important;
}
.b24-ticker-whatsapp{
  color:#fff !important;
  background:#16a34a !important;
  border-radius:999px !important;
  padding:7px 10px !important;
}
.b24-ticker-number{color:#fff !important;}
.b24-ticker-viewport{
  flex:1 1 auto !important;
  min-width:0 !important;
  height:100% !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  position:relative !important;
}
.b24-ticker{
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  transform:translate3d(0,0,0) !important;
  animation:b24PromoLoop var(--b24-loop-duration,22s) linear infinite !important;
  will-change:transform !important;
  backface-visibility:hidden !important;
}
.b24-ticker-item{
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  max-width:none !important;
  white-space:nowrap !important;
  padding:0 20px !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:42px !important;
  font-weight:700 !important;
  letter-spacing:.2px !important;
}
.b24-ticker-item .highlight{
  color:#fb923c !important;
  font-weight:900 !important;
}
@keyframes b24PromoLoop{
  from{transform:translate3d(0,0,0) !important;}
  to{transform:translate3d(-50%,0,0) !important;}
}
.b24-ticker-wrapper:hover .b24-ticker,
.b24-ticker-wrapper:focus-within .b24-ticker{
  animation-play-state:paused !important;
}
@media (max-width:768px){
  .b24-ticker-wrapper{
    min-height:40px !important;
    height:40px !important;
  }
  .b24-ticker-contact{
    gap:7px !important;
    padding:0 9px !important;
  }
  .b24-ticker-contact a{font-size:11px !important;}
  .b24-ticker-whatsapp{padding:6px 8px !important;}
  .b24-ticker-item{
    padding:0 16px !important;
    font-size:12px !important;
    line-height:40px !important;
    letter-spacing:0 !important;
  }
}

/* =====================================================================
   B24 v2.4 — PREMIUM SHOP FILTERS + PRODUCT PAGE
   ===================================================================== */
.b24-shop-filter-wrap{width:100%;margin:0 0 26px;padding:18px 20px;background:#fff;border:1px solid #e8edf3;border-radius:18px;box-shadow:0 8px 28px rgba(15,23,42,.045);box-sizing:border-box}
.b24-shop-filter-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px}
.b24-filter-eyebrow{display:block;font-size:10px;line-height:1;font-weight:900;letter-spacing:1.6px;color:#c2410c;margin-bottom:5px}
.b24-shop-filter-head strong{display:block;font-size:18px;line-height:1.2;color:#0f172a;font-weight:850}
.b24-filter-head-actions{display:flex;align-items:center;gap:10px}
.b24-filter-view-all,.b24-filter-mobile-trigger{border:1px solid #e2e8f0;border-radius:999px;padding:9px 14px;background:#fff;color:#0f172a;font:700 12px/1 Inter,system-ui,sans-serif;text-decoration:none;cursor:pointer;white-space:nowrap}
.b24-filter-view-all:hover,.b24-filter-mobile-trigger:hover{border-color:#c2410c;color:#c2410c}
.b24-filter-mobile-trigger{display:none}
.b24-shop-filter-panel{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(200px,1.2fr) minmax(170px,1fr) auto auto auto;gap:12px;align-items:end}
.b24-filter-field label{display:block;margin:0 0 6px;color:#64748b;font:800 10px/1 Inter,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.9px}
.b24-filter-field select,.b24-price-inputs input{width:100%;height:42px;border:1px solid #e2e8f0;border-radius:11px;background:#f8fafc;color:#1e293b;padding:0 12px;font:600 13px/42px Inter,system-ui,sans-serif;box-sizing:border-box;outline:none}
.b24-filter-field select:focus,.b24-price-inputs input:focus{border-color:#c2410c;background:#fff;box-shadow:0 0 0 3px rgba(194,65,12,.08)}
.b24-price-inputs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px}.b24-price-inputs span{color:#94a3b8;font-weight:800}
.b24-filter-check{height:42px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #e2e8f0;border-radius:11px;background:#f8fafc;color:#334155;font:700 12px/1 Inter,system-ui,sans-serif;cursor:pointer;white-space:nowrap;box-sizing:border-box}
.b24-filter-check input{accent-color:#c2410c;width:15px;height:15px;margin:0}
.b24-filter-actions{display:flex;gap:7px;align-items:center}
.b24-filter-apply{height:42px;padding:0 17px;border:0;border-radius:11px;background:#0f172a;color:#fff;font:800 12px/42px Inter,system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.b24-filter-apply:hover{background:#c2410c}.b24-filter-reset{font:700 12px/1 Inter,system-ui,sans-serif;color:#64748b;text-decoration:none;padding:8px}.b24-filter-reset:hover{color:#c2410c}

/* Product detail */
.single-product div.product .summary{padding:22px 24px;border:1px solid #edf1f5;border-radius:22px;background:#fff;box-shadow:0 12px 40px rgba(15,23,42,.055);box-sizing:border-box}
.single-product div.product .summary .product_title{font-size:clamp(25px,3vw,38px)!important;line-height:1.1!important;letter-spacing:-.8px!important;color:#0f172a!important;margin:0 0 9px!important;font-weight:900!important}
.single-product div.product .summary .price{font-size:26px!important;line-height:1.2!important;font-weight:900!important;color:#0f172a!important;margin:8px 0 14px!important}.single-product div.product .summary .price ins{color:#c2410c!important;text-decoration:none!important}.single-product div.product .summary .price del{font-size:15px!important;color:#94a3b8!important}
.b24-single-offer-strip{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 15px}.b24-single-offer-strip span{padding:8px 11px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font:700 11px/1.2 Inter,system-ui,sans-serif}.b24-single-offer-strip strong{font-weight:900}
.single-product div.product .summary form.cart{margin:15px 0 10px!important}.single-product div.product .summary form.cart .quantity .qty{height:46px!important;border-radius:11px!important;border:1px solid #e2e8f0!important}.single-product div.product .summary form.cart .single_add_to_cart_button{height:46px!important;border-radius:11px!important;background:#0f172a!important;color:#fff!important;font-weight:850!important;padding:0 20px!important;transition:.25s ease!important}.single-product div.product .summary form.cart .single_add_to_cart_button:hover{background:#c2410c!important;transform:translateY(-1px)!important}
.b24-product-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:13px}.b24-product-trust>div{min-width:0;padding:11px 9px;border:1px solid #edf1f5;border-radius:12px;background:#fafbfc}.b24-product-trust span{display:block;color:#c2410c;font-weight:900;font-size:16px;line-height:1;margin-bottom:6px}.b24-product-trust strong{display:block;color:#1e293b;font:800 10px/1.25 Inter,system-ui,sans-serif}.b24-product-trust small{display:block;color:#94a3b8;font:500 9px/1.3 Inter,system-ui,sans-serif;margin-top:3px}
.b24-product-highlights{max-width:1200px;margin:34px auto 10px;padding:0 18px;box-sizing:border-box}.b24-product-section-title span{font:900 10px/1 Inter,sans-serif;letter-spacing:1.5px;color:#c2410c}.b24-product-section-title h2{margin:6px 0 15px;font-size:24px;line-height:1.2;color:#0f172a;font-weight:900}.b24-highlight-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.b24-highlight-grid>div{padding:18px;border:1px solid #edf1f5;border-radius:16px;background:#fff;box-shadow:0 5px 20px rgba(15,23,42,.035)}.b24-highlight-grid b{display:block;color:#0f172a;font-size:14px;margin-bottom:5px}.b24-highlight-grid span{display:block;color:#64748b;font-size:12px;line-height:1.5}
.single-product .related>h2{display:flex!important;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px!important}.b24-related-title{font:900 24px/1.2 Inter,system-ui,sans-serif;color:#0f172a}.b24-related-view-all{font:800 12px/1 Inter,system-ui,sans-serif;color:#c2410c;text-decoration:none;white-space:nowrap}.single-product .related ul.products,.single-product .upsells ul.products{margin-top:0!important}
@media(max-width:900px){.b24-shop-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.b24-filter-actions{grid-column:1/-1}.b24-product-trust{grid-template-columns:repeat(2,1fr)}.b24-highlight-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){
 .b24-shop-filter-wrap{margin:0 0 18px;padding:14px;border-radius:15px}.b24-shop-filter-head{margin-bottom:0}.b24-shop-filter-head strong{font-size:16px}.b24-filter-view-all{padding:8px 11px;font-size:11px}.b24-filter-mobile-trigger{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px}.b24-filter-head-actions{gap:6px}.b24-shop-filter-panel{display:none;grid-template-columns:1fr;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid #eef2f7}.b24-shop-filter-panel.is-open{display:grid}.b24-filter-actions{grid-column:auto;display:grid;grid-template-columns:1fr auto}.b24-filter-apply{width:100%}.b24-filter-field select,.b24-price-inputs input{height:44px}.b24-filter-check{height:44px}
 .single-product div.product .summary{padding:16px;border-radius:18px;box-shadow:0 8px 26px rgba(15,23,42,.05)}.single-product div.product .summary .product_title{font-size:24px!important;line-height:1.15!important}.single-product div.product .summary .price{font-size:22px!important}.b24-single-offer-strip{gap:6px}.b24-single-offer-strip span{flex:1;min-width:135px;text-align:center;padding:8px 7px}.b24-product-trust{gap:7px}.b24-product-trust>div{padding:10px 8px}.b24-product-highlights{margin-top:25px;padding:0 12px}.b24-product-section-title h2{font-size:21px}.b24-highlight-grid{grid-template-columns:1fr 1fr;gap:8px}.b24-highlight-grid>div{padding:13px;border-radius:13px}.b24-highlight-grid b{font-size:12px}.b24-highlight-grid span{font-size:10px}.single-product .related>h2{margin-bottom:12px!important}.b24-related-title{font-size:19px}
 .single-product .related ul.products,.single-product .upsells ul.products{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:12px!important;padding:2px 2px 12px!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important}.single-product .related ul.products::-webkit-scrollbar,.single-product .upsells ul.products::-webkit-scrollbar{display:none}.single-product .related ul.products li.product,.single-product .upsells ul.products li.product{flex:0 0 72vw!important;max-width:280px!important;scroll-snap-align:start!important}
}

/* =====================================================================
   B24 v2.5 — CUSTOMER / WISHLIST / REFERRAL / CATEGORY SHOWCASE
   ===================================================================== */
.b24-menu-account{grid-template-columns:repeat(3,1fr)!important}
.b24-menu-account a{position:relative!important;min-width:0!important;flex-direction:column!important;gap:4px!important;font-size:10px!important}
.b24-menu-account .b24-icon{font-size:17px!important;line-height:1!important}
.b24-menu-wishlist-count{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:15px!important;height:15px!important;padding:0 4px!important;border-radius:999px!important;background:#c2410c!important;color:#fff!important;font:800 8px/15px Inter,sans-serif!important;margin-left:2px!important}
.b24-menu-socials a svg{width:17px!important;height:17px!important;display:block!important}
.b24-menu-socials a{color:#334155!important}

/* Wishlist heart on product cards */
.woocommerce ul.products li.product{position:relative!important}
.b24-wishlist-toggle{position:absolute!important;top:10px!important;right:10px!important;z-index:8!important;width:38px!important;height:38px!important;border:1px solid rgba(226,232,240,.9)!important;border-radius:50%!important;background:rgba(255,255,255,.96)!important;color:#475569!important;box-shadow:0 6px 18px rgba(15,23,42,.10)!important;font:400 22px/36px Inter,sans-serif!important;text-align:center!important;padding:0!important;cursor:pointer!important;transition:transform .2s ease,background .2s ease,color .2s ease!important}
.b24-wishlist-toggle:hover{transform:scale(1.07)!important;color:#c2410c!important;background:#fff7ed!important}
.b24-wishlist-toggle.is-saved{background:#fff7ed!important;color:#c2410c!important;border-color:#fed7aa!important}
.single-product .b24-wishlist-toggle{top:12px!important;right:12px!important}

/* Bulk progress */
.b24-bulk-progress{margin:13px 0 12px;padding:12px 13px;border:1px solid #fed7aa;border-radius:14px;background:linear-gradient(135deg,#fffaf5,#fff7ed);box-sizing:border-box}
.b24-bulk-progress-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#7c2d12;font:800 11px/1.2 Inter,sans-serif;text-transform:uppercase;letter-spacing:.4px}
.b24-bulk-progress-head span{font-weight:900;color:#c2410c}
.b24-bulk-progress-track{height:8px;margin:9px 0 7px;border-radius:999px;background:#ffedd5;overflow:hidden}
.b24-bulk-progress-track i{display:block;height:100%;width:20%;border-radius:999px;background:linear-gradient(90deg,#fb923c,#c2410c);transition:width .35s cubic-bezier(.16,1,.3,1)}
.b24-bulk-progress p{margin:0;color:#9a3412;font:600 10px/1.45 Inter,sans-serif}.b24-bulk-progress.is-unlocked{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-color:#bbf7d0}.b24-bulk-progress.is-unlocked .b24-bulk-progress-track{background:#dcfce7}.b24-bulk-progress.is-unlocked .b24-bulk-progress-track i{background:linear-gradient(90deg,#22c55e,#15803d)}.b24-bulk-progress.is-unlocked p{color:#166534}

/* Customer account */
.b24-account-panel{margin:20px 0;padding:22px;border:1px solid #e8edf3;border-radius:20px;background:#fff;box-shadow:0 10px 34px rgba(15,23,42,.05)}
.b24-account-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:18px}.b24-account-panel-head span:first-child{font:900 10px/1 Inter,sans-serif;letter-spacing:1.5px;color:#c2410c}.b24-account-panel-head h2{margin:6px 0 0;font:900 25px/1.15 Inter,sans-serif;color:#0f172a}.b24-wishlist-total{padding:7px 10px;border-radius:999px;background:#f8fafc;color:#64748b;font:800 10px/1 Inter,sans-serif}
.b24-wishlist-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.b24-wishlist-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:10px;border:1px solid #edf1f5;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(15,23,42,.04)}.b24-wishlist-image{display:flex;aspect-ratio:1/1;align-items:center;justify-content:center;border-radius:12px;background:#f8fafc;overflow:hidden}.b24-wishlist-image img{width:100%;height:100%;object-fit:contain}.b24-wishlist-name{margin:11px 3px 5px;color:#1e293b;text-decoration:none;font:800 13px/1.35 Inter,sans-serif;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.b24-wishlist-price{margin:0 3px 10px;color:#c2410c;font:900 16px/1.2 Inter,sans-serif}.b24-wishlist-cart{margin-top:auto!important;width:100%;text-align:center;border-radius:10px!important;background:#0f172a!important;color:#fff!important;font-size:11px!important;padding:9px 10px!important}.b24-wishlist-remove{position:absolute;top:16px;right:16px;z-index:3;width:30px;height:30px;border:0;border-radius:50%;background:#fff;color:#64748b;box-shadow:0 4px 12px rgba(15,23,42,.1);font-size:18px;line-height:30px;cursor:pointer}.b24-wishlist-remove:hover{color:#c2410c;background:#fff7ed}
.b24-empty-state{text-align:center;padding:45px 20px;border:1px dashed #dbe3ec;border-radius:16px;background:#fafcff}.b24-empty-icon{font-size:35px;color:#c2410c}.b24-empty-state h3{margin:10px 0 5px;color:#0f172a;font-size:18px}.b24-empty-state p{margin:0 0 15px;color:#64748b;font-size:12px}.b24-empty-state a{display:inline-block;padding:10px 14px;border-radius:10px;background:#0f172a;color:#fff;text-decoration:none;font:800 11px/1 Inter,sans-serif}
.b24-notification-list{display:grid;gap:9px}.b24-notification-item{display:flex;gap:12px;padding:14px;border:1px solid #edf1f5;border-radius:14px;background:#fff}.b24-notification-dot{width:9px;height:9px;flex:0 0 9px;margin-top:5px;border-radius:50%;background:#c2410c;box-shadow:0 0 0 5px #fff7ed}.b24-notification-item strong{display:block;color:#0f172a;font:850 13px/1.25 Inter,sans-serif}.b24-notification-item p{margin:4px 0;color:#64748b;font:500 11px/1.45 Inter,sans-serif}.b24-notification-item small{color:#94a3b8;font:600 9px/1 Inter,sans-serif}
.b24-brick-referral-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0;padding:20px;border-radius:20px;background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;box-shadow:0 15px 40px rgba(15,23,42,.12)}.b24-brick-eyebrow{display:block;color:#fdba74;font:900 9px/1 Inter,sans-serif;letter-spacing:1.6px}.b24-brick-referral-card h3{margin:7px 0 5px;color:#fff;font:900 21px/1.2 Inter,sans-serif}.b24-brick-referral-card p{max-width:600px;margin:0 0 9px;color:#cbd5e1;font:500 11px/1.5 Inter,sans-serif}.b24-brick-referral-card code{display:inline-block;padding:5px 8px;border-radius:7px;background:rgba(255,255,255,.08);color:#fed7aa;font:800 10px/1 Inter,monospace}.b24-brick-actions{display:flex;flex-wrap:wrap;gap:8px;flex:0 0 auto}.b24-brick-actions a,.b24-brick-copy{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:10px;text-decoration:none;cursor:pointer;font:800 11px/1 Inter,sans-serif}.b24-brick-join{background:#fb923c;color:#fff}.b24-brick-copy{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff}.b24-brick-toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:100000;padding:10px 14px;border-radius:999px;background:#0f172a;color:#fff;font:800 11px/1 Inter,sans-serif;transition:.25s ease}.b24-brick-toast.is-visible{transform:translate(-50%,0);opacity:1}

/* Category poster + showcase */
.b24-category-showcases{display:grid;gap:42px;margin:34px 0}.b24-category-showcase{display:grid;grid-template-columns:minmax(240px,.32fr) minmax(0,1fr);gap:20px;align-items:stretch}.b24-category-poster{position:relative;min-height:245px;border-radius:22px;overflow:hidden;background:#0f172a center/cover no-repeat;background-image:var(--b24-cat-bg);text-decoration:none;box-shadow:0 12px 35px rgba(15,23,42,.12)}.b24-category-poster-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,.05),rgba(15,23,42,.88))}.b24-category-poster-copy{position:absolute;left:20px;right:20px;bottom:20px;color:#fff;display:flex;flex-direction:column;align-items:flex-start}.b24-category-poster-copy small{font:900 9px/1 Inter,sans-serif;letter-spacing:1.5px;color:#fdba74}.b24-category-poster-copy strong{margin:7px 0 4px;font:900 27px/1.1 Inter,sans-serif}.b24-category-poster-copy em{max-width:300px;color:#cbd5e1;font:500 11px/1.4 Inter,sans-serif;font-style:normal}.b24-category-poster-copy>span:last-child{margin-top:11px;padding:8px 11px;border-radius:9px;background:rgba(255,255,255,.13);backdrop-filter:blur(8px);font:800 10px/1 Inter,sans-serif;color:#fff}.b24-category-showcase-products{min-width:0}.b24-category-showcase-head,.b24-product-rail-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:13px}.b24-category-showcase-head h3,.b24-product-rail-head h2{margin:0;color:#0f172a;font:900 23px/1.15 Inter,sans-serif}.b24-category-showcase-head a,.b24-rail-view-all{color:#c2410c;text-decoration:none;white-space:nowrap;font:800 11px/1 Inter,sans-serif}.b24-rail-eyebrow,.b24-category-showcase-head:before{color:#c2410c}
.b24-product-rail{margin:32px 0}.b24-product-rail-track{min-width:0}.b24-product-rail-track .woocommerce ul.products,.b24-category-showcase-products>.products{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:14px!important;padding:4px 2px 14px!important;margin:0!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important}.b24-product-rail-track .woocommerce ul.products::-webkit-scrollbar,.b24-category-showcase-products>.products::-webkit-scrollbar{display:none}.b24-product-rail-track .woocommerce ul.products li.product,.b24-category-showcase-products>.products li.product{flex:0 0 250px!important;width:250px!important;max-width:250px!important;scroll-snap-align:start!important}

/* Desktop product cards: longer horizontal rails, compact premium visuals. */
@media(min-width:769px){
 .b24-product-rail-track .woocommerce ul.products li.product,.b24-category-showcase-products>.products li.product{height:100%!important}
 .b24-product-rail-track .woocommerce ul.products li.product .astra-shop-thumbnail-wrap,.b24-category-showcase-products>.products li.product .astra-shop-thumbnail-wrap{aspect-ratio:1/1!important}
 .b24-product-rail-track .woocommerce ul.products li.product .woocommerce-loop-product__title,.b24-category-showcase-products>.products li.product .woocommerce-loop-product__title{font-size:13px!important}
}
@media(max-width:900px){.b24-wishlist-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.b24-brick-referral-card{align-items:flex-start;flex-direction:column}.b24-category-showcase{grid-template-columns:1fr}.b24-category-poster{min-height:210px}}
@media(max-width:768px){
 .b24-menu-account{grid-template-columns:repeat(3,1fr)!important}
 .b24-wishlist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.b24-account-panel{padding:14px;border-radius:16px}.b24-account-panel-head h2{font-size:21px}
 .b24-wishlist-card{padding:8px;border-radius:13px}.b24-wishlist-name{font-size:11px}.b24-wishlist-price{font-size:14px}.b24-wishlist-cart{font-size:10px!important;padding:8px 6px!important}.b24-wishlist-remove{top:11px;right:11px;width:27px;height:27px;line-height:27px}
 .b24-brick-referral-card{padding:16px;border-radius:16px}.b24-brick-referral-card h3{font-size:18px}.b24-brick-actions{width:100%}.b24-brick-actions a,.b24-brick-copy{flex:1}
 .b24-category-showcases{gap:30px;margin:25px 0}.b24-category-poster{min-height:190px;border-radius:17px}.b24-category-poster-copy{left:16px;right:16px;bottom:16px}.b24-category-poster-copy strong{font-size:22px}.b24-category-showcase-head h3,.b24-product-rail-head h2{font-size:19px}
 .b24-product-rail-track .woocommerce ul.products,.b24-category-showcase-products>.products{gap:11px!important;padding-bottom:10px!important}.b24-product-rail-track .woocommerce ul.products li.product,.b24-category-showcase-products>.products li.product{flex:0 0 72vw!important;width:72vw!important;max-width:280px!important}
 .b24-wishlist-toggle{width:34px!important;height:34px!important;font-size:20px!important;line-height:32px!important;top:8px!important;right:8px!important}
}
@media(prefers-reduced-motion:reduce){.b24-bulk-progress-track i,.b24-wishlist-toggle{transition:none!important}}

/* Product rails must win over the theme's default grid on both desktop and mobile. */
.b24-product-rail-track>.products{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:14px!important;padding:4px 2px 14px!important;margin:0!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important;}
.b24-product-rail-track>.products::-webkit-scrollbar{display:none!important;}
.b24-product-rail-track>.products>li.product{flex:0 0 250px!important;width:250px!important;max-width:250px!important;margin:0!important;scroll-snap-align:start!important;}
@media(max-width:768px){.b24-product-rail-track>.products{gap:11px!important;padding-bottom:10px!important}.b24-product-rail-track>.products>li.product{flex:0 0 72vw!important;width:72vw!important;max-width:280px!important}}

/* =====================================================================
   B24 2.5.4 — MOBILE DRAWER CLEANUP
   ===================================================================== */
.b24-menu-drawer{z-index:100001!important}
.b24-menu-overlay{z-index:100000!important}
.b24-menu-head{min-height:72px!important;box-sizing:border-box!important;align-items:center!important}
.b24-menu-close{display:grid!important;place-items:center!important;flex:0 0 40px!important;width:40px!important;height:40px!important;padding:0!important;margin:0!important;line-height:1!important;font-family:Arial,Helvetica,sans-serif!important;font-size:26px!important;font-weight:400!important;overflow:hidden!important}
.b24-menu-close:focus{outline:2px solid rgba(194,65,12,.25)!important;outline-offset:2px!important}
.b24-menu-links{overscroll-behavior:contain!important}
.b24-menu-category-link,.b24-menu-page-link{display:block!important}
.b24-menu-empty{display:block!important;padding:10px 13px!important;color:#94a3b8!important;font:600 12px/1.4 Inter,system-ui,sans-serif!important}
/* The cart/wishlist toast must never sit over the open drawer. */
.b24-menu-drawer.is-open ~ .b24-cart-toast{display:none!important}
body.b24-menu-open .b24-cart-toast{visibility:hidden!important;pointer-events:none!important}
.b24-menu-account a span:last-child{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.b24-menu-wishlist-count:empty{display:none!important}
@media(max-width:768px){
  .b24-menu-drawer{width:min(92vw,390px)!important}
  .b24-menu-head{padding-left:18px!important;padding-right:14px!important}
  .b24-menu-close{width:42px!important;height:42px!important;flex-basis:42px!important;font-size:27px!important}
  .b24-menu-account{padding:14px 14px 16px!important;gap:8px!important}
  .b24-menu-account a{min-height:48px!important;padding:7px 4px!important}
  .b24-menu-links{padding-left:16px!important;padding-right:16px!important}
  .b24-menu-label{margin-left:10px!important;margin-right:10px!important}
  .b24-menu-links>a{padding:12px 10px!important}
}
.b24-menu-category-link{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}
.b24-menu-category-link small{flex:0 0 auto!important;min-width:22px!important;padding:3px 6px!important;border-radius:999px!important;background:#f8fafc!important;color:#94a3b8!important;text-align:center!important;font:800 9px/1 Inter,system-ui,sans-serif!important}
.b24-menu-category-link:hover small{background:#fff7ed!important;color:#c2410c!important}

/* B24 v2.5.4 — Social menu controls */
.b24-menu-socials{align-items:center!important;flex-wrap:wrap!important;gap:8px!important;}
.b24-menu-social-title{width:100%!important;display:block!important;margin:0 0 2px!important;color:#94a3b8!important;font:800 9px/1 Inter,system-ui,sans-serif!important;letter-spacing:1.4px!important;text-transform:uppercase!important;}
.b24-menu-socials a{flex:0 0 34px!important;width:34px!important;height:34px!important;padding:0!important;}
.b24-menu-socials a svg{width:17px!important;height:17px!important;display:block!important;}
@media(max-width:768px){
 .b24-menu-socials{padding-left:20px!important;padding-right:20px!important;}
}

/* B24 v2.5.5 ticker final override: JS controls motion. */
.b24-ticker-wrapper{overflow:hidden !important;}
.b24-ticker-viewport{overflow:hidden !important;min-width:0 !important;}
.b24-ticker{animation:none !important;transition:none !important;display:inline-flex !important;width:max-content !important;max-width:none !important;white-space:nowrap !important;will-change:transform !important;}
.b24-ticker-item{flex:0 0 auto !important;white-space:nowrap !important;display:inline-flex !important;align-items:center !important;}
.b24-ticker-wrapper:hover .b24-ticker,.b24-ticker-wrapper:focus-within .b24-ticker{animation:none !important;}
@media(max-width:768px){
 .b24-ticker-contact{flex:0 0 auto !important;z-index:5 !important;}
 .b24-ticker-viewport{flex:1 1 0 !important;min-width:0 !important;}
 .b24-ticker-item{padding-left:22px !important;padding-right:22px !important;}
}
/* v2.5.6 menu cleanup: no account/notification section, clean pages, fixed wishlist badge and drawer header */
.b24-menu-close{display:grid!important;place-items:center!important;box-sizing:border-box!important;padding:0!important;margin:0!important;width:40px!important;height:40px!important;line-height:40px!important;font-family:Arial,Helvetica,sans-serif!important;font-size:25px!important;font-weight:400!important;text-align:center!important;overflow:hidden!important;}
.b24-menu-account{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.b24-menu-account a{min-width:0!important;overflow:hidden!important;}
.b24-menu-account a span:last-child{display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;white-space:nowrap!important;}
.b24-menu-wishlist-count{display:inline-flex!important;vertical-align:middle!important;align-items:center!important;justify-content:center!important;min-width:15px!important;height:15px!important;margin-left:3px!important;padding:0 4px!important;border-radius:999px!important;background:#c2410c!important;color:#fff!important;font:800 8px/15px Inter,sans-serif!important;}
.b24-menu-label{margin-top:18px!important;}
.b24-menu-links{padding-bottom:24px!important;}
.b24-menu-page-link{display:block!important;}
.b24-menu-socials{flex:0 0 auto!important;}
@media(max-width:768px){
  .b24-menu-drawer{width:min(92vw,390px)!important;}
  .b24-menu-head{min-height:70px!important;padding:14px 14px 14px 18px!important;}
  .b24-menu-logo{max-width:calc(100% - 54px)!important;}
  .b24-menu-close{width:42px!important;height:42px!important;flex-basis:42px!important;line-height:42px!important;font-size:27px!important;}
}
/* v2.5.6 menu cleanup */
.b24-menu-close{display:grid!important;place-items:center!important;box-sizing:border-box!important;padding:0!important;margin:0!important;width:40px!important;height:40px!important;line-height:40px!important;font-family:Arial,Helvetica,sans-serif!important;font-size:25px!important;font-weight:400!important;text-align:center!important;overflow:hidden!important;}
.b24-menu-account{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.b24-menu-account a{min-width:0!important;overflow:hidden!important;}
.b24-menu-account a span:last-child{display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;white-space:nowrap!important;}
.b24-menu-wishlist-count{display:inline-flex!important;vertical-align:middle!important;align-items:center!important;justify-content:center!important;min-width:15px!important;height:15px!important;margin-left:3px!important;padding:0 4px!important;border-radius:999px!important;background:#c2410c!important;color:#fff!important;font:800 8px/15px Inter,sans-serif!important;}
.b24-menu-links{padding-bottom:24px!important;}
.b24-menu-socials{flex:0 0 auto!important;}
@media(max-width:768px){.b24-menu-drawer{width:min(92vw,390px)!important}.b24-menu-head{min-height:70px!important;padding:14px 14px 14px 18px!important}.b24-menu-logo{max-width:calc(100% - 54px)!important}.b24-menu-close{width:42px!important;height:42px!important;flex-basis:42px!important;line-height:42px!important;font-size:27px!important}}

/* v2.5.7 — always-visible cart/wishlist counters in menu */
.b24-menu-account .b24-icon{position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:24px!important;min-height:22px!important;}
.b24-menu-cart-count,.b24-menu-wishlist-count{position:absolute!important;top:-7px!important;right:-11px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:16px!important;height:16px!important;padding:0 4px!important;border-radius:999px!important;background:#ef4444!important;color:#fff!important;border:2px solid #fff!important;font:800 8px/12px Inter,sans-serif!important;box-sizing:border-box!important;margin:0!important;}
.b24-menu-wishlist-count{background:#c2410c!important;}
.b24-nav-cart-count{display:inline-flex!important;align-items:center!important;justify-content:center!important;}

/* v2.5.9: swipe-to-remove account notifications */
.b24-notification-item{position:relative;align-items:flex-start;touch-action:pan-y;overflow:hidden;transition:transform .3s ease,opacity .3s ease}
.b24-notification-copy{min-width:0;flex:1}
.b24-notification-dismiss{margin-left:auto;flex:0 0 30px;width:30px;height:30px;border:0!important;border-radius:50%;background:#f8fafc!important;color:#64748b!important;display:grid;place-items:center;padding:0!important;font:700 18px/1 Inter,sans-serif;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}
.b24-notification-dismiss:hover{background:#fff1f2!important;color:#dc2626!important;transform:scale(1.06)}
@media(max-width:768px){.b24-notification-item{padding:13px}.b24-notification-dismiss{width:32px;height:32px;flex-basis:32px}.b24-notification-item:active{cursor:grabbing}}

/* =====================================================================
   B24 v2.5.10 — SHOP MOBILE NAV + FILTER TOOLS
   ===================================================================== */
@media (max-width:768px){
  /* Keep the Shop navigation reliably visible on mobile. */
  .b24-mobile-nav.b24-shop-nav{
    top:auto!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;
    left:50%!important;
    width:min(94vw,460px)!important;
    max-width:min(94vw,460px)!important;
    height:68px!important;
    border-radius:24px!important;
    border:1px solid rgba(226,232,240,.92)!important;
    box-shadow:0 14px 45px rgba(15,23,42,.18)!important;
    z-index:100005!important;
    transform:translateX(-50%)!important;
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
  }
  body:has(.b24-mobile-nav.b24-shop-nav){padding-bottom:108px!important}

  /* Fixed filter/sort controls sit just above the mobile navigation. */
  .b24-mobile-shop-tools{
    position:fixed!important;
    left:50%!important;
    bottom:calc(86px + env(safe-area-inset-bottom))!important;
    transform:translateX(-50%)!important;
    width:min(92vw,460px)!important;
    min-height:46px!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:1px!important;
    padding:4px!important;
    background:rgba(255,255,255,.96)!important;
    border:1px solid #e2e8f0!important;
    border-radius:16px!important;
    box-shadow:0 10px 28px rgba(15,23,42,.13)!important;
    backdrop-filter:blur(16px)!important;
    -webkit-backdrop-filter:blur(16px)!important;
    z-index:100004!important;
  }
  .b24-mobile-shop-tools button{
    min-height:38px!important;
    border:0!important;
    border-radius:12px!important;
    background:#f8fafc!important;
    color:#0f172a!important;
    font:800 12px/1 Inter,system-ui,sans-serif!important;
    cursor:pointer!important;
  }
  .b24-mobile-shop-tools button:active{background:#fff7ed!important;color:#c2410c!important}
  .b24-shop-filter-wrap{margin-bottom:22px!important}
}
@media (min-width:769px){
  .b24-mobile-shop-tools{display:none!important}
}

/* =====================================================================
   B24 v2.5.11 — MOBILE UX / NAV / CATEGORY FIXES
   ===================================================================== */

/* Category circles: larger icons and hard two-line truncation. */
.b24-cat-icon-box{
  width:clamp(82px,8vw,104px)!important;
  height:clamp(82px,8vw,104px)!important;
}
.b24-cat-text{
  max-width:112px!important;
  height:30px!important;
  min-height:30px!important;
  line-height:15px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  word-break:break-word!important;
}

/* WooCommerce escapes related-product headings in some themes: keep the
   heading clean and let JS insert the actual clickable View All link. */
.single-product .related>h2 .b24-related-title{font:900 24px/1.2 Inter,system-ui,sans-serif!important;color:#0f172a!important}
.single-product .related>h2{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
.single-product .related>h2 .b24-related-view-all{font:800 12px/1 Inter,system-ui,sans-serif!important;color:#c2410c!important;text-decoration:none!important;white-space:nowrap!important}

/* Product add-to-cart: quantity first, full-width button on the second row. */
.single-product div.product .summary form.cart{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  gap:10px!important;
}
.single-product div.product .summary form.cart .quantity{
  flex:0 0 110px!important;
  margin:0!important;
}
.single-product div.product .summary form.cart .single_add_to_cart_button{
  flex:1 1 0!important;
  min-width:0!important;
  margin:0!important;
}
@media(max-width:768px){
  .single-product div.product .summary form.cart .quantity{flex:1 1 100%!important}
  .single-product div.product .summary form.cart .single_add_to_cart_button{
    flex:1 1 100%!important;
    width:100%!important;
    margin:0!important;
    min-height:48px!important;
  }
}

/* Navigation positioning: Home stays bottom; every other page is sticky at top. */
@media(max-width:768px){
  body{padding-bottom:82px!important;padding-top:0!important}
  body.b24-nav-scrolling .b24-mobile-nav{opacity:0!important;pointer-events:none!important;transform:translate(-50%,-12px)!important}
  .b24-mobile-nav{
    top:max(8px,env(safe-area-inset-top))!important;
    bottom:auto!important;
    left:50%!important;
    width:min(94vw,460px)!important;
    max-width:min(94vw,460px)!important;
    height:68px!important;
    z-index:100005!important;
    transition:opacity .22s ease,transform .22s ease,box-shadow .22s ease!important;
  }
  .b24-mobile-nav.b24-home-nav{
    top:auto!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;
    transform:translateX(-50%)!important;
  }
  .b24-mobile-nav.b24-top-nav{position:fixed!important}
  .b24-mobile-nav.b24-shop-nav{top:max(8px,env(safe-area-inset-top))!important;bottom:auto!important;transform:translateX(-50%)!important}
  body.b24-nav-scrolling .b24-mobile-nav.b24-home-nav{transform:translateX(-50%)!important;opacity:1!important;pointer-events:auto!important}

  /* Shop filter/sort bar stays at the bottom, separate from the top nav. */
  .b24-mobile-shop-tools{
    bottom:max(10px,env(safe-area-inset-bottom))!important;
    z-index:100004!important;
    width:min(94vw,460px)!important;
    border-radius:18px!important;
  }
  body:has(.b24-mobile-shop-tools){padding-bottom:76px!important}

  /* The mobile filter drawer is an in-page dropdown, never underneath the
     fixed nav/tools. Only Category is shown on mobile as requested. */
  .b24-shop-filter-panel .b24-filter-price,
  .b24-shop-filter-panel .b24-filter-check,
  .b24-shop-filter-panel .b24-filter-actions{display:none!important}
  .b24-shop-filter-panel .b24-filter-category{display:block!important}
  .b24-shop-filter-panel.is-open{
    position:relative!important;
    z-index:5!important;
    background:#fff!important;
    border-radius:14px!important;
    box-shadow:0 10px 28px rgba(15,23,42,.08)!important;
    padding:14px!important;
    margin-top:12px!important;
  }
  .b24-shop-filter-panel.is-open .b24-filter-category select{width:100%!important}

  /* Custom sort popover. */
  .b24-mobile-sort-menu{
    position:fixed!important;
    left:50%!important;
    bottom:calc(70px + env(safe-area-inset-bottom))!important;
    transform:translate(-50%,10px)!important;
    width:min(88vw,340px)!important;
    padding:8px!important;
    background:#fff!important;
    border:1px solid #e2e8f0!important;
    border-radius:16px!important;
    box-shadow:0 18px 50px rgba(15,23,42,.18)!important;
    z-index:100006!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;
  }
  .b24-mobile-sort-menu.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate(-50%,0)!important}
  .b24-mobile-sort-menu button{display:block!important;width:100%!important;border:0!important;background:#fff!important;color:#0f172a!important;text-align:left!important;padding:12px 14px!important;border-radius:11px!important;font:700 13px/1.2 Inter,system-ui,sans-serif!important}
  .b24-mobile-sort-menu button.active,.b24-mobile-sort-menu button:active{background:#fff7ed!important;color:#c2410c!important}

  /* Give every fixed control its own space; no overlay with the product CTA. */
  .single-product div.product{padding-bottom:24px!important}
  .woocommerce-checkout #content,.woocommerce-checkout #primary,.woocommerce-cart #content,.woocommerce-cart #primary{padding-top:86px!important}
}

@media(min-width:769px){
  .b24-mobile-sort-menu{display:none!important}
}

/* v2.5.18 — Mobile footer cleanup. The nav disappears as soon as the footer
   reaches the viewport, and the body loses the reserved nav height so there
   is no artificial white space after the footer. */
@media(max-width:768px){
  body.b24-mobile-footer-visible{padding-bottom:0!important}
  body.b24-mobile-footer-visible .b24-mobile-nav{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate(-50%,12px)!important;
  }
}

/* FINAL PRODUCT CART ALIGNMENT FIX v2.5.13
   Bulk savings/progress is always a full-width first row.
   Quantity + Add to Cart stay together on the row underneath. */
.single-product div.product .summary form.cart{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
}
.single-product div.product .summary form.cart .b24-bulk-progress{
  flex:0 0 100%!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 0 2px!important;
  box-sizing:border-box!important;
}
.single-product div.product .summary form.cart .quantity{
  flex:0 0 80px!important;
  width:80px!important;
  max-width:80px!important;
  margin:0!important;
  align-self:center!important;
}
.single-product div.product .summary form.cart .quantity .qty{
  width:100%!important;
  box-sizing:border-box!important;
  height:48px!important;
  margin:0!important;
}
.single-product div.product .summary form.cart .single_add_to_cart_button{
  flex:1 1 0!important;
  width:auto!important;
  min-width:0!important;
  height:48px!important;
  min-height:48px!important;
  margin:0!important;
  align-self:center!important;
  box-sizing:border-box!important;
}
@media(max-width:480px){
  .single-product div.product .summary form.cart{gap:10px!important}
  .single-product div.product .summary form.cart .quantity{
    flex:0 0 76px!important;
    width:76px!important;
    max-width:76px!important;
  }
  .single-product div.product .summary form.cart .single_add_to_cart_button{
    flex:1 1 calc(100% - 86px)!important;
    width:auto!important;
  }
}


/* =====================================================================
   B24 v2.5.14 — PRODUCT MOBILE CTA / IMAGE CONTROLS FIX
   - Wishlist/like stays on the left of the product gallery.
   - Mobile zoom never collides with the like control.
   - Mobile Add to Cart is a true edge-to-edge sticky bar.
   - Quantity/count is always visible beside the sticky CTA.
   ===================================================================== */
.single-product .woocommerce-product-gallery,
.single-product div.product div.images{position:relative!important;}
.single-product .b24-wishlist-toggle{
  top:12px!important;
  left:12px!important;
  right:auto!important;
  z-index:30!important;
}
.single-product .woocommerce-product-gallery__trigger,
.single-product div.images .zoom-button{
  z-index:25!important;
}

.b24-mobile-sticky-cart{display:none!important;}

@media(max-width:768px){
  /* Keep the gallery controls in separate corners. */
  .single-product .b24-wishlist-toggle{
    top:12px!important;
    left:12px!important;
    right:auto!important;
    width:40px!important;
    height:40px!important;
    line-height:38px!important;
    font-size:23px!important;
    z-index:35!important;
  }
  .single-product .woocommerce-product-gallery__trigger{
    top:12px!important;
    right:12px!important;
    left:auto!important;
    z-index:34!important;
  }
  /* Disable hover zoom on touch screens; tap-to-zoom remains handled by WooCommerce. */
  .woocommerce div.product div.images .woocommerce-product-gallery__image:hover img{
    transform:none!important;
  }

  /* The original inline CTA stays in normal flow only for the bulk animation.
     Its quantity/button are represented by the sticky mobile control below. */
  .single-product div.product .summary form.cart .quantity,
  .single-product div.product .summary form.cart .single_add_to_cart_button{
    display:none!important;
  }
  .single-product div.product .summary form.cart .b24-bulk-progress{
    display:block!important;
    width:100%!important;
    flex:0 0 100%!important;
    margin-bottom:4px!important;
  }

  /* Edge-to-edge mobile Add to Cart bar. */
  .b24-mobile-sticky-cart{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    max-width:none!important;
    min-height:70px!important;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;
    margin:0!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    background:#fff!important;
    border-top:1px solid #e5e7eb!important;
    border-radius:0!important;
    box-shadow:0 -10px 30px rgba(15,23,42,.14)!important;
    z-index:100012!important;
  }
  .b24-mobile-sticky-cart .b24-sticky-qty-wrap{
    flex:0 0 78px!important;
    width:78px!important;
    min-width:78px!important;
    display:flex!important;
    align-items:center!important;
  }
  .b24-mobile-sticky-cart .b24-sticky-qty{
    width:100%!important;
    height:50px!important;
    margin:0!important;
    padding:0 8px!important;
    box-sizing:border-box!important;
    border:1px solid #dbe3ec!important;
    border-radius:12px!important;
    background:#f8fafc!important;
    color:#0f172a!important;
    text-align:center!important;
    font:800 16px/50px Inter,system-ui,sans-serif!important;
    -webkit-appearance:auto!important;
    appearance:auto!important;
  }
  .b24-mobile-sticky-cart .b24-sticky-add{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    height:50px!important;
    min-height:50px!important;
    margin:0!important;
    padding:0 14px!important;
    border:0!important;
    border-radius:12px!important;
    background:#0f172a!important;
    color:#fff!important;
    box-shadow:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font:900 13px/1.05 Inter,system-ui,sans-serif!important;
    letter-spacing:.2px!important;
    white-space:nowrap!important;
    cursor:pointer!important;
  }
  .b24-mobile-sticky-cart .b24-sticky-add:disabled{
    opacity:.5!important;
    cursor:not-allowed!important;
  }
  body.b24-has-sticky-cart{
    padding-bottom:96px!important;
  }
  /* Product-page top navigation remains clear of the sticky CTA. */
  body.single-product .b24-mobile-nav{z-index:100005!important;}
}

@media(min-width:769px){
  .b24-mobile-sticky-cart{display:none!important;}
}

/* =====================================================================
   B24 2.5.15 — OPEN DRAWER MUST OWN THE MOBILE VIEWPORT
   ===================================================================== */
@media (max-width:768px){
  /* When the side menu is open, every sticky/floating control is hidden
     so it can never appear through or over the drawer/overlay. */
  body.b24-menu-open{overflow:hidden!important;overscroll-behavior:none!important;}
  body.b24-menu-open .b24-mobile-nav,
  body.b24-menu-open .b24-mobile-filter-bar,
  body.b24-menu-open .b24-mobile-sticky-cart,
  body.b24-menu-open .b24-mobile-sort-menu,
  body.b24-menu-open .b24-nav-search{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body.b24-menu-open .b24-mobile-nav{
    transform:translate(-50%,12px)!important;
  }
  body.b24-menu-open .b24-mobile-filter-bar,
  body.b24-menu-open .b24-mobile-sticky-cart{
    transform:translateY(110%)!important;
  }
  /* Keep the drawer and its dimming layer above every theme/plugin layer. */
  .b24-menu-overlay{z-index:2147483000!important;}
  .b24-menu-drawer{z-index:2147483001!important;}
}

/* =====================================================================
   B24 v2.5.17 — HOME SECTIONS / DESKTOP STICKY NAV / FOOTER
   ===================================================================== */

/* Section 2: categories is visually independent from Section 3 showcase. */
.b24-category-section,
.b24-showcase-section{
  width:100%!important;
  display:block!important;
  clear:both!important;
  box-sizing:border-box!important;
}
.b24-category-section{margin:0 0 42px!important;padding:0!important}
.b24-showcase-section{margin:0!important;padding:0!important}

/* Category poster title: large, centered over the image. */
.b24-category-poster{position:relative!important;overflow:hidden!important}
.b24-category-poster-copy{
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:28px!important;
  box-sizing:border-box!important;
}
.b24-category-poster-copy small{display:none!important}
.b24-category-poster-copy strong{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  color:#fff!important;
  font:900 clamp(30px,3vw,52px)/1.02 Inter,system-ui,sans-serif!important;
  text-align:center!important;
  text-wrap:balance!important;
  text-shadow:0 4px 24px rgba(0,0,0,.45)!important;
}
.b24-category-poster-copy em{display:none!important}
.b24-category-poster-copy>span{display:none!important}
.b24-category-poster-overlay{background:linear-gradient(180deg,rgba(15,23,42,.12),rgba(15,23,42,.72))!important}

/* Mobile categories: exactly four cards per row with breathing room. */
@media(max-width:768px){
  .b24-category-section{margin-bottom:30px!important}
  .b24-cat-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:22px 12px!important;
  }
  .b24-cat-item{min-width:0!important}
  .b24-cat-icon-box{
    width:clamp(60px,18vw,82px)!important;
    height:clamp(60px,18vw,82px)!important;
  }
  .b24-cat-text{
    max-width:100%!important;
    font-size:10px!important;
    line-height:1.2!important;
  }
  .b24-category-poster-copy strong{font-size:28px!important}
}

/* Desktop navigation: same compact app-like bar as mobile. It is hidden on
   the home hero, revealed after section 1, and hidden near the footer. */
@media(min-width:769px){
  .b24-mobile-nav{
    display:grid!important;
    position:fixed!important;
    top:14px!important;
    bottom:auto!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    width:min(94vw,460px)!important;
    max-width:min(94vw,460px)!important;
    height:68px!important;
    z-index:100005!important;
    opacity:1!important;
    pointer-events:auto!important;
    transition:opacity .22s ease,transform .22s ease,box-shadow .22s ease!important;
  }
  body.b24-desktop-nav-hidden .b24-mobile-nav{
    opacity:0!important;
    pointer-events:none!important;
    transform:translate(-50%,-14px)!important;
  }
  body.b24-desktop-nav-footer .b24-mobile-nav{
    opacity:0!important;
    pointer-events:none!important;
    transform:translate(-50%,-14px)!important;
  }
  body.b24-desktop-nav-visible .b24-mobile-nav{opacity:1!important;pointer-events:auto!important;transform:translateX(-50%)!important}
}

/* Footer — desktop first, with the same links/social destinations used by the drawer. */
.b24-storefront-footer{
  width:100%!important;
  margin:70px 0 0!important;
  padding:54px 28px 20px!important;
  background:#0f172a!important;
  color:#fff!important;
  box-sizing:border-box!important;
  position:relative!important;
  z-index:2!important;
}
.b24-storefront-footer-inner{
  width:min(1200px,100%)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:1.4fr 1fr 1fr!important;
  gap:50px!important;
}
.b24-footer-brand strong{display:block!important;font:900 26px/1.1 Inter,system-ui,sans-serif!important;color:#fff!important;margin-bottom:12px!important}
.b24-footer-brand p{max-width:360px!important;margin:0!important;color:#94a3b8!important;font:400 14px/1.7 Inter,system-ui,sans-serif!important}
.b24-storefront-footer .b24-footer-col h4{margin:0 0 16px!important;color:#fff!important;font:800 14px/1 Inter,system-ui,sans-serif!important;letter-spacing:.04em!important;text-transform:uppercase!important}
.b24-storefront-footer .b24-footer-col ul{list-style:none!important;margin:0!important;padding:0!important}
.b24-storefront-footer .b24-footer-col li{margin:0 0 10px!important;padding:0!important}
.b24-storefront-footer .b24-footer-col li a{color:#cbd5e1!important;text-decoration:none!important;font:600 13px/1.4 Inter,system-ui,sans-serif!important}
.b24-storefront-footer .b24-footer-col li a:hover{color:#fff!important}
.b24-footer-socials{display:flex!important;flex-wrap:wrap!important;gap:10px!important}
.b24-footer-socials a{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  color:#cbd5e1!important;
  text-decoration:none!important;
  padding:8px 10px!important;
  border:1px solid rgba(148,163,184,.22)!important;
  border-radius:10px!important;
  font:600 12px/1 Inter,system-ui,sans-serif!important;
}
.b24-footer-socials a svg{width:16px!important;height:16px!important;fill:currentColor!important;color:currentColor!important}
.b24-footer-socials a:hover{color:#fff!important;border-color:rgba(255,255,255,.45)!important}
.b24-storefront-footer .b24-footer-bottom{
  width:min(1200px,100%)!important;
  margin:35px auto 0!important;
  padding:18px 0 0!important;
  border-top:1px solid rgba(148,163,184,.2)!important;
  color:#94a3b8!important;
  font:500 12px/1.4 Inter,system-ui,sans-serif!important;
  text-align:left!important;
}
@media(max-width:768px){
  .b24-storefront-footer{margin-top:48px!important;padding:40px 20px 110px!important}
  .b24-storefront-footer-inner{grid-template-columns:1fr!important;gap:30px!important}
  .b24-storefront-footer .b24-footer-bottom{text-align:center!important}
}

/* Keep the desktop nav out of the way when the side drawer is open. */
@media(min-width:769px){
  body.b24-menu-open .b24-mobile-nav{opacity:0!important;pointer-events:none!important;transform:translate(-50%,-14px)!important}
}

/* v2.5.17 — desktop nav controls stay usable, just like mobile. */
@media(min-width:769px){
  .b24-menu-overlay,.b24-menu-drawer,.b24-nav-search{display:block!important}
  .b24-menu-drawer{display:flex!important}
  .b24-nav-search{top:94px!important;bottom:auto!important}
}

/* =====================================================================
   B24 v2.5.19 — DESKTOP NAV + DRAWER SIZE / ALIGNMENT
   ===================================================================== */
@media (min-width:769px){
  /* Larger desktop app-style top navigation with balanced spacing. */
  .b24-mobile-nav{
    width:min(92vw,760px)!important;
    max-width:min(92vw,760px)!important;
    height:78px!important;
    padding:7px!important;
    gap:5px!important;
    border-radius:28px!important;
    box-shadow:0 18px 55px rgba(15,23,42,.20)!important;
  }
  .b24-mobile-nav > *{
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .b24-mobile-nav a,
  .b24-mobile-nav button{
    min-width:0!important;
    min-height:64px!important;
    padding:8px 10px!important;
    border-radius:21px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .b24-mobile-nav .b24-icon,
  .b24-mobile-nav svg{
    width:24px!important;
    height:24px!important;
    font-size:24px!important;
  }
  .b24-mobile-nav span,
  .b24-mobile-nav .b24-nav-label{
    font-size:13px!important;
    line-height:1.15!important;
    font-weight:800!important;
  }

  /* Bigger desktop side drawer with consistent internal alignment. */
  .b24-menu-drawer{
    width:min(34vw,480px)!important;
    min-width:420px!important;
    max-width:480px!important;
    border-radius:0 24px 24px 0!important;
    box-shadow:24px 0 70px rgba(15,23,42,.24)!important;
  }
  .b24-menu-head{
    min-height:92px!important;
    padding:22px 28px 20px!important;
    gap:18px!important;
  }
  .b24-menu-logo img{
    max-width:185px!important;
    max-height:52px!important;
  }
  .b24-menu-brand-text{
    font-size:24px!important;
  }
  .b24-menu-close{
    flex:0 0 48px!important;
    width:48px!important;
    height:48px!important;
    font-size:30px!important;
  }
  .b24-menu-account{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px!important;
    padding:22px 28px 18px!important;
  }
  .b24-menu-account a{
    min-height:62px!important;
    padding:10px 8px!important;
    border-radius:16px!important;
    gap:6px!important;
    font-size:12px!important;
  }
  .b24-menu-account .b24-icon{
    min-width:27px!important;
    min-height:25px!important;
    font-size:21px!important;
  }
  .b24-menu-links{
    padding:4px 28px 34px!important;
    gap:6px!important;
  }
  .b24-menu-links>a{
    padding:15px 16px!important;
    border-radius:14px!important;
    font-size:16px!important;
    line-height:1.3!important;
    font-weight:700!important;
  }
  .b24-menu-label{
    margin:22px 16px 8px!important;
    font-size:11px!important;
    letter-spacing:1.7px!important;
  }
  .b24-menu-category-link small{
    min-width:28px!important;
    padding:5px 8px!important;
    font-size:10px!important;
  }
  .b24-menu-socials{
    gap:10px!important;
    padding:16px 28px calc(24px + env(safe-area-inset-bottom))!important;
  }
  .b24-menu-socials a{
    flex:0 0 42px!important;
    width:42px!important;
    height:42px!important;
    border-radius:13px!important;
  }
  .b24-menu-socials a svg{
    width:20px!important;
    height:20px!important;
  }
}

@media (min-width:769px) and (max-width:1100px){
  .b24-mobile-nav{
    width:calc(100vw - 80px)!important;
    max-width:680px!important;
  }
  .b24-menu-drawer{
    width:min(46vw,440px)!important;
    min-width:390px!important;
  }
}

@media (max-width:768px){
  /* Keep the mobile drawer comfortably sized and aligned after desktop scaling. */
  .b24-menu-drawer{width:min(92vw,390px)!important;max-width:390px!important}
  .b24-mobile-nav{box-sizing:border-box!important}
}


/* =====================================================================
   B24 v2.5.20 — DESKTOP ICON / NAV POLISH + FULL-SIZE CART & WISHLIST
   ===================================================================== */
@media (min-width:769px){
  .b24-mobile-nav .b24-nav-action{
    min-width:0!important;
    overflow:visible!important;
    padding:8px 14px!important;
    gap:5px!important;
    font-size:14px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }
  .b24-mobile-nav .b24-nav-icon{
    width:36px!important;
    height:34px!important;
    flex:0 0 36px!important;
    font-size:29px!important;
    line-height:1!important;
    overflow:visible!important;
  }
  .b24-mobile-nav .b24-nav-icon svg{
    width:30px!important;
    height:30px!important;
  }
  .b24-nav-cart-count{
    top:-5px!important;
    right:-10px!important;
    min-width:20px!important;
    height:20px!important;
    padding:0 5px!important;
    font-size:10px!important;
    line-height:20px!important;
    z-index:5!important;
  }
  .b24-menu-account .b24-icon{
    min-width:34px!important;
    min-height:32px!important;
    width:34px!important;
    height:32px!important;
    font-size:29px!important;
    line-height:1!important;
    overflow:visible!important;
  }
  .b24-menu-account a{
    overflow:visible!important;
  }
  .b24-menu-cart-count,.b24-menu-wishlist-count{
    top:-9px!important;
    right:-13px!important;
    min-width:20px!important;
    height:20px!important;
    padding:0 5px!important;
    font-size:9px!important;
    line-height:16px!important;
    z-index:6!important;
  }
  .single-product .b24-wishlist-toggle{
    width:50px!important;
    height:50px!important;
    line-height:48px!important;
    font-size:29px!important;
    left:16px!important;
    top:16px!important;
    overflow:visible!important;
  }
  .single-product .woocommerce-product-gallery__trigger,
  .single-product div.images .zoom-button{
    width:50px!important;
    height:50px!important;
    right:16px!important;
    top:16px!important;
    font-size:25px!important;
    overflow:visible!important;
  }
}
@media (min-width:769px) and (max-width:1250px){
  .b24-mobile-nav .b24-nav-action{padding-left:9px!important;padding-right:9px!important;font-size:12px!important}
  .b24-mobile-nav .b24-nav-icon{width:32px!important;height:30px!important;flex-basis:32px!important;font-size:26px!important}
}

/* v2.5.25 — large desktop header quick-action icons, top-right alignment. */
.b24-header-actions{display:flex;align-items:center;gap:10px;position:absolute;right:24px;top:10px;transform:none;z-index:20;padding:6px;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 8px 28px rgba(15,23,42,.10);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.b24-header-action{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;min-width:58px;height:54px;padding:6px 10px;border:0;border-radius:14px;background:transparent;color:#334155;text-decoration:none;cursor:pointer;font:800 11px/1 Inter,system-ui,sans-serif;transition:.2s ease}
.b24-header-action:hover{background:#fff7ed;color:var(--b24-accent);transform:translateY(-1px)}
.b24-header-action-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;font-size:27px;line-height:1;flex:0 0 30px}
.b24-header-action-label{white-space:nowrap}
.b24-header-cart-count,.b24-header-wishlist-count{position:absolute;top:-6px;right:-7px;min-width:18px;height:18px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#ef4444;color:#fff;font:800 10px/14px Inter,sans-serif;text-align:center}
.b24-header-cart-count:not(:empty),.b24-header-wishlist-count:not(:empty){display:block}
header.b24-has-quick-actions{position:relative!important}
@media(min-width:769px){
  header.b24-has-quick-actions .b24-header-actions{display:flex}
}
@media(max-width:768px){
  .b24-header-actions{position:fixed;right:10px;top:10px;transform:none;gap:2px;padding:4px;border-radius:14px;z-index:100004}
  .b24-header-action{min-width:42px;width:42px;height:42px;padding:4px;border-radius:11px}
  .b24-header-action-icon{width:28px;height:28px;font-size:24px;flex-basis:28px}
  .b24-header-action-label{display:none}
  .b24-header-cart-count,.b24-header-wishlist-count{top:-5px;right:-5px}
}

/* ============================================================
   B24 GLOBAL CLOSE/CROSS ICON ALIGNMENT FIX
   Keep every circular close/remove/dismiss control perfectly centered.
   ============================================================ */
.b24-menu-close,
.b24-lightbox-close,
.b24-drawer-close,
.b24-search-close,
.b24-wishlist-close,
.b24-wl-remove,
.b24-wishlist-remove,
.b24-notification-dismiss,
.b24-cart-toast > button[aria-label="Dismiss"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    text-align: center !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    overflow: hidden !important;
}

/* The multiplication sign has font-metric whitespace in some fonts.
   A tiny optical correction keeps it visually centered, not just mathematically centered. */
.b24-menu-close,
.b24-lightbox-close,
.b24-drawer-close,
.b24-search-close,
.b24-wishlist-close,
.b24-wl-remove,
.b24-wishlist-remove,
.b24-notification-dismiss,
.b24-cart-toast > button[aria-label="Dismiss"] {
    text-indent: 0 !important;
    -webkit-text-indent: 0 !important;
}

.b24-menu-close::first-line,
.b24-lightbox-close::first-line,
.b24-drawer-close::first-line,
.b24-search-close::first-line,
.b24-wishlist-close::first-line,
.b24-wl-remove::first-line,
.b24-wishlist-remove::first-line,
.b24-notification-dismiss::first-line,
.b24-cart-toast > button[aria-label="Dismiss"]::first-line {
    line-height: 1 !important;
}

/* Explicit optical nudge for the × glyph only. */
.b24-menu-close,
.b24-lightbox-close,
.b24-drawer-close,
.b24-search-close,
.b24-wishlist-close,
.b24-wl-remove,
.b24-wishlist-remove,
.b24-notification-dismiss,
.b24-cart-toast > button[aria-label="Dismiss"] {
    font-family: Arial, Helvetica, sans-serif !important;
}

/* Preserve the circular controls' intended dimensions at every breakpoint. */
.b24-menu-close,
.b24-lightbox-close,
.b24-drawer-close,
.b24-search-close,
.b24-wishlist-close,
.b24-wl-remove,
.b24-wishlist-remove,
.b24-notification-dismiss,
.b24-cart-toast > button[aria-label="Dismiss"] {
    flex-shrink: 0 !important;
}


/* =====================================================================
   B24 v2.5.25 — INDEPENDENT HOMEPAGE SECTIONS / CENTERED CATEGORIES
   Section 2 = [b24_categories] only.
   Section 3 = [b24_category_showcase] only.
   Keep both shortcode outputs independent of Elementor's parent containers.
   ===================================================================== */
.b24-home-section-2,
.b24-home-section-3,
.b24-category-section,
.b24-showcase-section {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  clear: both !important;
}

/* Section 2 category circles: center the actual category group, not just its parent. */
.b24-category-section .b24-cat-grid,
.b24-home-section-2 .b24-cat-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(90px, 120px)) !important;
  justify-content: center !important;
  align-items: start !important;
  gap: 18px 22px !important;
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Undo the old full-viewport Section 3 rule that pushed the showcase sideways. */
.b24-showcase-section .b24-category-showcases,
.b24-home-section-3 .b24-category-showcases {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.b24-showcase-section .b24-category-showcase,
.b24-home-section-3 .b24-category-showcase {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto 32px !important;
  box-sizing: border-box !important;
}

.b24-showcase-section .b24-category-showcase-products,
.b24-home-section-3 .b24-category-showcase-products {
  min-width: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.b24-showcase-section .b24-category-showcase-products > .products,
.b24-home-section-3 .b24-category-showcase-products > .products {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 768px) {
  .b24-category-section .b24-cat-grid,
  .b24-home-section-2 .b24-cat-grid {
    grid-template-columns: repeat(4, minmax(60px, 1fr)) !important;
    max-width: 420px !important;
    gap: 20px 12px !important;
  }
}

/* B24 v3.1.44 — center wishlist hearts in homepage and shortcode product grids. */
body ul.products li.product {
  position: relative !important;
}
body ul.products li.product .b24-wishlist-toggle,
body .woocommerce ul.products li.product .b24-wishlist-toggle,
body.home ul.products li.product .b24-wishlist-toggle,
body.home .woocommerce ul.products li.product .b24-wishlist-toggle {
  top: 12px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  z-index: 40 !important;
  font-size: 0 !important;
}
body ul.products li.product .b24-wishlist-toggle:hover {
  transform: translateX(-50%) scale(1.07) !important;
}
.b24-wishlist-heart {
  display: inline-block !important;
  color: #64748b !important;
  font: 400 25px/1 Arial, sans-serif !important;
  transition: color .18s ease, transform .18s ease !important;
}
.b24-wishlist-toggle.is-saved .b24-wishlist-heart {
  color: #dc2626 !important;
  transform: scale(1.08);
}
body.single-product .woocommerce div.product div.images .b24-wishlist-toggle .b24-wishlist-heart,
body.single-product .woocommerce-product-gallery .b24-wishlist-toggle .b24-wishlist-heart {
  font-size: 27px !important;
}
@media (max-width: 768px) {
  body ul.products li.product .b24-wishlist-toggle,
  body.home ul.products li.product .b24-wishlist-toggle,
  body.single-product .woocommerce div.product div.images .b24-wishlist-toggle {
    top: 10px !important;
    left: 50% !important;
    right: auto !important;
    width: 40px !important;
    height: 40px !important;
    transform: translateX(-50%) !important;
  }
}

/* =====================================================================
   B24 FINAL — NEW HOMEPAGE SECTION 2 / SECTION 3 ALIGNMENT
   Section 2 and Section 3 are separate top-level Elementor containers.
   Never use viewport width for either shortcode output.
   ===================================================================== */
.b24-home-section-2,
.b24-home-section-3,
.b24-category-section,
.b24-showcase-section {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.b24-home-section-2 > .elementor-container,
.b24-home-section-3 > .elementor-container,
.b24-home-section-2 > .e-con-inner,
.b24-home-section-3 > .e-con-inner {
  width: 100% !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

.b24-category-container,
.b24-category-container > .elementor-widget-shortcode,
.b24-category-container .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.b24-home-section-2 .b24-cat-grid,
.b24-category-section .b24-cat-grid,
.b24-category-container .b24-cat-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(90px, 120px)) !important;
  justify-content: center !important;
  justify-items: center !important;
  align-items: start !important;
  gap: 18px 22px !important;
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.b24-home-section-2 .b24-cat-item,
.b24-category-section .b24-cat-item,
.b24-category-container .b24-cat-item {
  width: 120px !important;
  max-width: 120px !important;
  margin: 0 !important;
  justify-self: center !important;
  text-align: center !important;
}

.b24-home-section-3 .b24-section-3-shortcode,
.b24-home-section-3 .elementor-widget-shortcode,
.b24-home-section-3 .elementor-widget-container {
  width: 100% !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.b24-home-section-3 .b24-category-showcases,
.b24-showcase-section .b24-category-showcases {
  display: grid !important;
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  gap: 42px !important;
}

.b24-home-section-3 .b24-category-showcase,
.b24-showcase-section .b24-category-showcase {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

@media (max-width: 768px) {
  .b24-home-section-2 .b24-cat-grid,
  .b24-category-section .b24-cat-grid,
  .b24-category-container .b24-cat-grid {
    grid-template-columns: repeat(4, minmax(60px, 82px)) !important;
    max-width: 380px !important;
    gap: 20px 12px !important;
  }
  .b24-home-section-2 .b24-cat-item,
  .b24-category-section .b24-cat-item,
  .b24-category-container .b24-cat-item {
    width: 82px !important;
    max-width: 82px !important;
  }
}


/* =====================================================================
   B24 FINAL UX FIXES — header actions, navigation, search + mobile filters
   ===================================================================== */

/* Header quick actions are desktop-only. Never render the floating account /
   search / cart / wishlist cluster on phones. */
@media (max-width: 768px) {
  .b24-header-actions,
  header.b24-has-quick-actions .b24-header-actions {
    display: none !important;
  }

  /* The shop navigation must never sit on top of the site header. Keep the
     app nav at the bottom on every mobile page, including shop/archive pages. */
  .b24-mobile-nav,
  .b24-mobile-nav.b24-shop-nav,
  .b24-mobile-nav.b24-top-nav {
    top: auto !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    border-radius: 24px !important;
    width: min(94vw, 460px) !important;
    max-width: 94vw !important;
    border: 1px solid rgba(226,232,240,.92) !important;
  }

  body:has(.b24-mobile-nav) {
    padding-bottom: 96px !important;
  }
}

/* Desktop search control: keep the magnifier perfectly centered inside the
   dark search action/button. */
.b24-nav-search button,
.b24-header-action.b24-header-search-trigger .b24-header-action-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
.b24-nav-search button {
  padding: 0 !important;
  line-height: 1 !important;
}

/* Footer uses the exact same site logo as the header. */
.b24-footer-logo {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 0 16px !important;
  text-decoration: none !important;
}
.b24-footer-logo img {
  display: block !important;
  width: auto !important;
  max-width: 190px !important;
  max-height: 58px !important;
  height: auto !important;
}
.b24-footer-logo .b24-menu-brand-text {
  color: #fff !important;
  font: 900 26px/1.1 Inter,system-ui,sans-serif !important;
}

/* Independent mobile FILTER menu. It intentionally does not open the desktop
   / top filter panel. */
.b24-mobile-filter-menu {
  display: none;
}
@media (max-width: 768px) {
  .b24-mobile-filter-menu {
    position: fixed !important;
    left: 50% !important;
    bottom: calc(82px + env(safe-area-inset-bottom)) !important;
    transform: translate(-50%, 14px) !important;
    width: min(92vw, 460px) !important;
    max-height: min(76vh, 620px) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 20px !important;
    box-shadow: 0 18px 55px rgba(15,23,42,.22) !important;
    z-index: 100001 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .22s ease, transform .22s ease, visibility .22s ease !important;
  }
  .b24-mobile-filter-menu.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) !important;
  }
  .b24-mobile-filter-menu-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 15px 17px !important;
    border-bottom: 1px solid #eef2f7 !important;
    flex: 0 0 auto !important;
  }
  .b24-mobile-filter-menu-head strong {
    color: #0f172a !important;
    font: 900 17px/1 Inter,system-ui,sans-serif !important;
  }
  .b24-mobile-filter-menu-close {
    width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    font: 400 23px/1 Arial,sans-serif !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .b24-mobile-filter-menu-body {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 16px !important;
    display: grid !important;
    gap: 14px !important;
  }
  .b24-mobile-filter-field label {
    display: block !important;
    margin: 0 0 7px !important;
    color: #64748b !important;
    font: 800 10px/1 Inter,system-ui,sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: .9px !important;
  }
  .b24-mobile-filter-field select,
  .b24-mobile-filter-field input[type=number] {
    width: 100% !important;
    height: 44px !important;
    box-sizing: border-box !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 11px !important;
    background: #f8fafc !important;
    color: #1e293b !important;
    padding: 0 12px !important;
    font: 600 13px/44px Inter,system-ui,sans-serif !important;
    outline: none !important;
  }
  .b24-mobile-filter-price-inputs {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    gap: 7px !important;
    align-items: center !important;
  }
  .b24-mobile-filter-price-inputs span { color: #94a3b8 !important; font-weight: 800 !important; }
  .b24-mobile-filter-checks { display: grid !important; gap: 8px !important; }
  .b24-mobile-filter-check {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 0 12px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 11px !important;
    background: #f8fafc !important;
    color: #334155 !important;
    font: 700 12px/1 Inter,system-ui,sans-serif !important;
  }
  .b24-mobile-filter-check input { accent-color: #c2410c !important; width: 16px !important; height: 16px !important; margin: 0 !important; }
  .b24-mobile-filter-menu-actions {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    gap: 8px !important;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) !important;
    border-top: 1px solid #eef2f7 !important;
    flex: 0 0 auto !important;
  }
  .b24-mobile-filter-reset,
  .b24-mobile-filter-apply {
    height: 44px !important;
    border-radius: 11px !important;
    font: 800 12px/44px Inter,system-ui,sans-serif !important;
    cursor: pointer !important;
  }
  .b24-mobile-filter-reset {
    padding: 0 15px !important;
    border: 1px solid #e2e8f0 !important;
    background: #fff !important;
    color: #64748b !important;
  }
  .b24-mobile-filter-apply {
    padding: 0 16px !important;
    border: 0 !important;
    background: #0f172a !important;
    color: #fff !important;
  }
}
@media (min-width: 769px) {
  .b24-mobile-filter-menu { display: none !important; }
}

/* Final mobile shop-tools position: keep Filter/Sort above the bottom nav. */
@media (max-width: 768px) {
  .b24-mobile-shop-tools {
    bottom: calc(86px + env(safe-area-inset-bottom)) !important;
    z-index: 100004 !important;
  }
  /* The bottom Filter control is the mobile filter entry point; do not expose
     the old inline trigger that opens the top filter panel. */
  .b24-shop-filter-head .b24-filter-mobile-trigger {
    display: none !important;
  }
}

/* v2.5.20 — SHOP MOBILE BOTTOM CONTROLS: three separate layers
   Bottom navigation stays at the very bottom.
   Filter/Sort sits above it with a guaranteed gap, so the controls never
   overlap the navigation or each other. Their menus open above the controls. */
@media (max-width: 768px) {
  .b24-mobile-nav.b24-shop-nav {
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    height: 68px !important;
    z-index: 100005 !important;
  }

  .b24-mobile-shop-tools {
    bottom: calc(88px + env(safe-area-inset-bottom)) !important;
    min-height: 54px !important;
    height: 54px !important;
    padding: 4px !important;
    box-sizing: border-box !important;
    z-index: 100004 !important;
  }

  .b24-mobile-shop-tools button {
    height: 44px !important;
    min-height: 44px !important;
  }

  /* Keep enough page space so the fixed controls never cover shop content. */
  body:has(.b24-mobile-shop-tools) {
    padding-bottom: 154px !important;
  }

  /* Both menus open above the Filter/Sort bar, not behind the bottom nav. */
  .b24-mobile-filter-menu {
    bottom: calc(150px + env(safe-area-inset-bottom)) !important;
    z-index: 100006 !important;
  }

  .b24-mobile-sort-menu {
    bottom: calc(150px + env(safe-area-inset-bottom)) !important;
    z-index: 100007 !important;
  }
}

/* =====================================================================
   B24 v2.5.21 — FINAL NAV / SHOP TOOLS / CART / ACCOUNT POLISH
   ===================================================================== */

/* Desktop: the main app navigation belongs at the bottom of the viewport,
   never across the header. */
@media (min-width:769px){
  .b24-mobile-nav{
    top:auto!important;
    bottom:18px!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    width:min(92vw,760px)!important;
    max-width:min(92vw,760px)!important;
    z-index:100005!important;
  }
  body.b24-desktop-nav-hidden .b24-mobile-nav,
  body.b24-desktop-nav-footer .b24-mobile-nav,
  body.b24-nav-scrolling .b24-mobile-nav{
    transform:translate(-50%,120px)!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  body.b24-desktop-nav-visible .b24-mobile-nav{transform:translateX(-50%)!important;opacity:1!important;pointer-events:auto!important}
}

/* More polished footer: deep charcoal, warm accent and cleaner contrast. */
.b24-storefront-footer{
  background:linear-gradient(135deg,#111827 0%,#171717 52%,#24150d 100%)!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 -18px 50px rgba(15,23,42,.08)!important;
}
.b24-storefront-footer .b24-footer-brand strong,
.b24-storefront-footer .b24-footer-col h4{color:#fff!important}
.b24-storefront-footer .b24-footer-brand p{color:#aeb8c7!important}
.b24-storefront-footer .b24-footer-col li a{color:#d4d9e1!important}
.b24-storefront-footer .b24-footer-col li a:hover{color:#fb923c!important}
.b24-footer-socials a{background:rgba(255,255,255,.035)!important;border-color:rgba(255,255,255,.12)!important;color:#d4d9e1!important}
.b24-footer-socials a:hover{color:#fb923c!important;border-color:rgba(251,146,60,.5)!important;background:rgba(251,146,60,.06)!important}
.b24-storefront-footer .b24-footer-bottom{border-top-color:rgba(255,255,255,.1)!important;color:#8f9aaa!important}

/* Mobile: Filter/Sort and bottom nav occupy separate layers. */
@media (max-width:768px){
  .b24-mobile-shop-tools,
  .b24-mobile-nav{transition:transform .24s ease,opacity .24s ease,visibility .24s ease!important}
  body.b24-nav-scrolling .b24-mobile-shop-tools,
  body.b24-nav-scrolling .b24-mobile-nav{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body.b24-nav-scrolling .b24-mobile-shop-tools{transform:translateY(110px)!important}
  body.b24-nav-scrolling .b24-mobile-nav{transform:translate(-50%,110px)!important}

  /* Do not reserve the old theme header's large blank area on commerce pages. */
  body.woocommerce-cart #content,
  body.woocommerce-cart #primary,
  body.woocommerce-checkout #content,
  body.woocommerce-checkout #primary,
  body.woocommerce-account #content,
  body.woocommerce-account #primary{
    padding-top:18px!important;
    margin-top:0!important;
  }
  body.woocommerce-cart .site-content,
  body.woocommerce-checkout .site-content,
  body.woocommerce-account .site-content{padding-top:0!important;margin-top:0!important}

  /* Simpler, tighter cart + checkout presentation. */
  body.woocommerce-cart .ast-container,
  body.woocommerce-checkout .ast-container,
  body.woocommerce-account .ast-container{
    padding-left:14px!important;padding-right:14px!important;
  }
  body.woocommerce-cart .woocommerce,
  body.woocommerce-checkout .woocommerce,
  body.woocommerce-account .woocommerce{
    width:100%!important;max-width:none!important;margin:0!important;
  }
  body.woocommerce-cart table.shop_table,
  body.woocommerce-checkout form.checkout,
  body.woocommerce-account .woocommerce-MyAccount-content,
  body.woocommerce-account .woocommerce-MyAccount-navigation{
    border-radius:14px!important;
  }
  body.woocommerce-cart .cart_totals,
  body.woocommerce-checkout #order_review,
  body.woocommerce-checkout #customer_details,
  body.woocommerce-account .woocommerce-MyAccount-content,
  body.woocommerce-account .woocommerce-MyAccount-navigation{
    margin-top:14px!important;
  }
  body.woocommerce-cart .cart-collaterals{margin-top:14px!important}
  body.woocommerce-cart .cart_totals h2,
  body.woocommerce-checkout #order_review_heading{font-size:18px!important}
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-additional-fields,
  body.woocommerce-checkout #order_review{
    padding:14px!important;
    background:#fff!important;
    border:1px solid #edf1f5!important;
    box-shadow:0 6px 20px rgba(15,23,42,.045)!important;
  }
  body.woocommerce-checkout .woocommerce-checkout-review-order-table{font-size:13px!important}
  body.woocommerce-cart .woocommerce-cart-form__cart-item td{padding:10px 7px!important}
  body.woocommerce-cart .coupon{margin-bottom:12px!important}

  /* Account page: remove theme-induced top gap and make the dashboard compact. */
  body.woocommerce-account .woocommerce-MyAccount-navigation,
  body.woocommerce-account .woocommerce-MyAccount-content{
    padding:14px!important;
    background:#fff!important;
    border:1px solid #edf1f5!important;
    box-shadow:0 6px 20px rgba(15,23,42,.045)!important;
  }
}

/* Desktop commerce pages should also start naturally below the real header,
   not with a large artificial spacer. */
@media (min-width:769px){
  body.woocommerce-cart #content,
  body.woocommerce-checkout #content,
  body.woocommerce-account #content,
  body.woocommerce-cart #primary,
  body.woocommerce-checkout #primary,
  body.woocommerce-account #primary{
    padding-top:20px!important;
  }
}

/* B24 v3.1 — DESKTOP NAV FIX
   Keep the app navigation at the bottom on desktop too. It must never sit
   over the shop/header content. Mobile keeps its existing bottom behavior. */
@media (min-width:769px){
  .b24-mobile-nav,
  .b24-mobile-nav.b24-shop-nav,
  .b24-mobile-nav.b24-site-nav,
  .b24-mobile-nav.b24-home-nav{
    display:grid !important;
    position:fixed !important;
    top:auto !important;
    bottom:24px !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    width:min(760px,calc(100vw - 48px)) !important;
    max-width:760px !important;
    height:72px !important;
    padding:7px !important;
    z-index:100005 !important;
    border-radius:24px !important;
  }
  body.b24-desktop-nav-hidden .b24-mobile-nav,
  body.b24-desktop-nav-visible .b24-mobile-nav,
  body.b24-desktop-nav-footer .b24-mobile-nav{
    display:grid !important;
    bottom:24px !important;
    top:auto !important;
    transform:translateX(-50%) !important;
  }
  body{padding-bottom:112px !important;}
}


/* B24 v3.1.8 — desktop bottom navigation visibility / cart + footer logic. */
@media (min-width:769px){
  .b24-mobile-nav{
    display:grid!important;
    position:fixed!important;
    top:auto!important;
    bottom:24px!important;
    left:50%!important;
    right:auto!important;
    width:min(760px,calc(100vw - 48px))!important;
    max-width:760px!important;
    height:72px!important;
    transform:translateX(-50%)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition:transform .24s ease,opacity .24s ease,visibility .24s ease!important;
    z-index:100005!important;
  }
  body.b24-desktop-nav-hidden .b24-mobile-nav,
  body.b24-desktop-nav-footer .b24-mobile-nav,
  body.b24-nav-scrolling .b24-mobile-nav{
    transform:translate(-50%,120px)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body.b24-desktop-nav-visible .b24-mobile-nav{
    transform:translateX(-50%)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  /* Keep cart/checkout/account pages using the same bottom navigation layer. */
  body.woocommerce-cart .b24-mobile-nav,
  body.woocommerce-checkout .b24-mobile-nav,
  body.woocommerce-account .b24-mobile-nav{
    display:grid!important;
    position:fixed!important;
    top:auto!important;
    bottom:24px!important;
  }
}

/* =====================================================================
   B24 v3.1.1 — PRODUCT PAGE / REVIEW LOGIN / STICKY CTA FIXES
   ===================================================================== */

/* Keep the mobile sticky Add to Cart CTA above page content instead of
   sitting directly over bulk savings, reviews or footer content. */
@media (max-width: 768px){
  .b24-mobile-sticky-cart{
    left:12px!important;
    right:12px!important;
    bottom:16px!important;
    width:calc(100% - 24px)!important;
    max-width:none!important;
    min-height:66px!important;
    padding:8px 10px!important;
    border:1px solid rgba(15,23,42,.10)!important;
    border-radius:16px!important;
    box-shadow:0 14px 38px rgba(15,23,42,.22)!important;
  }
  .b24-mobile-sticky-cart .b24-sticky-qty{
    height:48px!important;
    line-height:48px!important;
  }
  .b24-mobile-sticky-cart .b24-sticky-add{
    height:48px!important;
    min-height:48px!important;
  }
  body.b24-has-sticky-cart{
    padding-bottom:122px!important;
  }

  /* Give the product offer / bulk-saving blocks their own breathing room. */
  .single-product .b24-single-offer-strip,
  .single-product .b24-moq-notice,
  .single-product .b24-product-trust{
    position:relative!important;
    z-index:2!important;
  }
  .single-product .b24-single-offer-strip{
    margin-bottom:14px!important;
  }
  .single-product .b24-moq-notice{
    margin-bottom:18px!important;
  }
}

/* B24 v3.1.7 — Footer cleanup: remove the unwanted white logo box. */
.b24-storefront-footer{
  background:linear-gradient(135deg,#0b1220 0%,#111827 52%,#1f120b 100%)!important;
  color:#fff!important;
  overflow:hidden!important;
}
.b24-storefront-footer .b24-footer-logo{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-height:0!important;
  min-width:0!important;
  width:auto!important;
  padding:0!important;
  margin:0 0 16px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.b24-storefront-footer .b24-footer-logo img{
  display:block!important;
  width:auto!important;
  max-width:190px!important;
  max-height:70px!important;
  height:auto!important;
  opacity:1!important;
  visibility:visible!important;
  filter:drop-shadow(0 2px 8px rgba(255,255,255,.08))!important;
}
/* If the site's logo is dark/transparent, keep the footer readable without
   recreating the white rectangle that caused the visible box. */
.b24-storefront-footer .b24-footer-logo:has(img){
  isolation:isolate!important;
}
.b24-storefront-footer .b24-footer-logo .custom-logo-link{
  display:inline-flex!important;
  background:transparent!important;
}

/* Logged-out review gate. */
.b24-review-login-gate{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:20px 0 0!important;
  padding:18px!important;
  border:1px solid #e5e7eb!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#fff,#f8fafc)!important;
  box-shadow:0 8px 26px rgba(15,23,42,.06)!important;
}
.b24-review-login-copy{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
}
.b24-review-login-icon{
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:12px!important;
  background:#fff7ed!important;
  color:#ea580c!important;
  font-size:20px!important;
  font-weight:900!important;
}
.b24-review-login-copy strong{
  display:block!important;
  color:#0f172a!important;
  font:800 15px/1.3 Inter,system-ui,sans-serif!important;
}
.b24-review-login-copy p{
  margin:4px 0 0!important;
  color:#64748b!important;
  font:500 12px/1.5 Inter,system-ui,sans-serif!important;
}
.b24-review-login-button{
  flex:0 0 auto!important;
  min-height:44px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:10px!important;
  background:#111827!important;
  color:#fff!important;
  font:800 12px/1 Inter,system-ui,sans-serif!important;
  cursor:pointer!important;
  transition:transform .2s ease,background .2s ease!important;
}
.b24-review-login-button:hover{
  background:#ea580c!important;
  transform:translateY(-1px)!important;
}

/* Login modal. */
.b24-review-login-modal[hidden]{display:none!important;}
.b24-review-login-modal{
  position:fixed!important;
  inset:0!important;
  z-index:2147483640!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:20px!important;
}
.b24-review-login-backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(2,6,23,.68)!important;
  backdrop-filter:blur(5px)!important;
}
.b24-review-login-dialog{
  position:relative!important;
  z-index:2!important;
  width:min(100%,430px)!important;
  max-height:calc(100vh - 40px)!important;
  overflow:auto!important;
  padding:28px!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 28px 80px rgba(0,0,0,.30)!important;
}
.b24-review-create-top{
  display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:46px!important;margin:0 0 18px!important;padding:0 18px!important;box-sizing:border-box!important;border-radius:12px!important;background:#ea580c!important;color:#fff!important;text-decoration:none!important;font:800 13px/1 Inter,system-ui,sans-serif!important;box-shadow:0 8px 18px rgba(234,88,12,.18)!important;
}
.b24-review-create-top:hover{background:#c2410c!important;color:#fff!important;transform:translateY(-1px)!important;}
.b24-review-login-close{
  position:absolute!important;
  top:12px!important;
  right:12px!important;
  width:36px!important;
  height:36px!important;
  border:1px solid #e5e7eb!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#475569!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
  font:400 24px/36px Arial,Helvetica,sans-serif!important;
  text-align:center!important;
  line-height:1!important;
  cursor:pointer!important;
}
.b24-review-modal-eyebrow{
  display:block!important;
  margin-bottom:7px!important;
  color:#ea580c!important;
  font:900 10px/1 Inter,system-ui,sans-serif!important;
  letter-spacing:1.5px!important;
}
.b24-review-login-dialog h3{
  margin:0!important;
  color:#0f172a!important;
  font:900 25px/1.2 Inter,system-ui,sans-serif!important;
}
.b24-review-modal-desc{
  margin:8px 0 20px!important;
  color:#64748b!important;
  font:500 13px/1.55 Inter,system-ui,sans-serif!important;
}
.b24-review-login-form form{
  margin:0!important;
}
.b24-review-login-form label{
  display:block!important;
  margin:0 0 6px!important;
  color:#334155!important;
  font:700 12px/1.3 Inter,system-ui,sans-serif!important;
}
.b24-review-login-form input[type="text"],
.b24-review-login-form input[type="email"],
.b24-review-login-form input[type="password"]{
  width:100%!important;
  min-height:46px!important;
  margin:0 0 13px!important;
  padding:0 13px!important;
  border:1px solid #dbe3ec!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#0f172a!important;
  box-sizing:border-box!important;
}
.b24-review-login-form .login-remember{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0 0 14px!important;
}
.b24-review-login-form .login-remember label{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0!important;
  font-weight:600!important;
}
.b24-review-login-form .login-submit input[type="submit"]{
  width:100%!important;
  min-height:48px!important;
  border:0!important;
  border-radius:11px!important;
  background:#111827!important;
  color:#fff!important;
  font:900 13px/1 Inter,system-ui,sans-serif!important;
  cursor:pointer!important;
}
.b24-review-login-form .login-submit input[type="submit"]:hover{
  background:#ea580c!important;
}
.b24-review-register{
  margin-top:16px!important;
  padding-top:16px!important;
  border-top:1px solid #eef2f7!important;
  color:#64748b!important;
  text-align:center!important;
  font:500 12px/1.5 Inter,system-ui,sans-serif!important;
}
.b24-review-register a{
  color:#ea580c!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.b24-review-modal-note{
  margin:10px 0 0!important;
  color:#94a3b8!important;
  text-align:center!important;
  font:500 10px/1.45 Inter,system-ui,sans-serif!important;
}
body.b24-review-modal-open{
  overflow:hidden!important;
}
@media(max-width:600px){
  .b24-review-login-gate{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .b24-review-login-button{
    width:100%!important;
  }
  .b24-review-login-dialog{
    padding:23px 18px!important;
    border-radius:17px!important;
  }
}

/* B24 v3.1.3 — Keep mobile Add to Cart at the bottom; lift ONLY bulk savings above it. */
@media(max-width:768px){
  .single-product div.product .summary form.cart .b24-bulk-progress{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:calc(82px + env(safe-area-inset-bottom))!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    z-index:100011!important;
    box-shadow:0 8px 24px rgba(15,23,42,.12)!important;
  }
  .b24-mobile-sticky-cart{
    bottom:0!important;
    z-index:100012!important;
  }
}


/* =====================================================================
   B24 v3.1.4 — VISIBLE CUSTOMER COMMENTS + PRODUCT REVIEWS
   ===================================================================== */
.b24-customer-reviews{
  width:100%!important;
  max-width:1200px!important;
  margin:34px auto 0!important;
  padding:28px!important;
  box-sizing:border-box!important;
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  border-radius:20px!important;
  box-shadow:0 10px 32px rgba(15,23,42,.06)!important;
  scroll-margin-top:110px!important;
}
.b24-reviews-header{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-bottom:20px!important;
}
.b24-reviews-header .b24-product-section-title{
  margin:0!important;
}
.b24-reviews-header .b24-product-section-title p{
  margin:7px 0 0!important;
  color:#64748b!important;
  font-size:13px!important;
  line-height:1.55!important;
}
.b24-review-jump{
  flex:0 0 auto!important;
  display:inline-flex!important;
  border:0!important;
  cursor:pointer!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:0 17px!important;
  border-radius:10px!important;
  background:#111827!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:12px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.b24-review-jump:hover{
  background:#ea580c!important;
  color:#fff!important;
}
.b24-review-summary-card{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  margin:0 0 24px!important;
  padding:16px 18px!important;
  border:1px solid #eef2f7!important;
  border-radius:14px!important;
  background:#f8fafc!important;
}
.b24-review-score{
  display:flex!important;
  flex-direction:column!important;
  min-width:68px!important;
}
.b24-review-score strong{
  color:#0f172a!important;
  font-size:27px!important;
  line-height:1!important;
  font-weight:900!important;
}
.b24-review-score span,
.b24-review-count{
  color:#64748b!important;
  font-size:12px!important;
  line-height:1.4!important;
}
.b24-review-summary-stars{
  position:relative!important;
  font-size:22px!important;
  line-height:1!important;
  letter-spacing:2px!important;
}
.b24-review-summary-stars:before{
  content:'★★★★★'!important;
  color:#dbe3ec!important;
}
.b24-review-stars-fill{
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:var(--b24-review-rating,0%)!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  color:#f59e0b!important;
}
.b24-review-count{
  margin-left:auto!important;
  font-weight:700!important;
}
.b24-customer-reviews #reviews{
  margin:0!important;
}
.b24-customer-reviews #comments{
  margin:0!important;
}
.b24-customer-reviews #comments h2{
  margin:0 0 14px!important;
  font-size:18px!important;
}
.b24-customer-reviews #comments ol.commentlist{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.b24-customer-reviews #comments ol.commentlist li.review{
  margin:0 0 14px!important;
  padding:16px!important;
  border:1px solid #eef2f7!important;
  border-radius:14px!important;
  background:#fff!important;
}
.b24-customer-reviews #comments ol.commentlist li.review:last-child{
  margin-bottom:0!important;
}
.b24-customer-reviews #comments ol.commentlist li.review .comment-text{
  margin:0 0 0 58px!important;
  border:0!important;
  padding:0!important;
}
.b24-customer-reviews #comments ol.commentlist li.review .avatar{
  width:44px!important;
  height:44px!important;
  border-radius:50%!important;
}
.b24-customer-reviews #comments ol.commentlist li.review .star-rating{
  color:#f59e0b!important;
}
.b24-customer-reviews #review_form_wrapper{
  margin-top:24px!important;
}
.b24-customer-reviews .b24-review-login-gate{
  margin-top:20px!important;
}
@media(max-width:600px){
  .b24-customer-reviews{
    margin-top:24px!important;
    padding:18px!important;
    border-radius:16px!important;
  }
  .b24-reviews-header{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  .b24-review-jump{
    width:100%!important;
  }
  .b24-review-summary-card{
    gap:10px!important;
    padding:14px!important;
  }
  .b24-review-summary-stars{
    font-size:19px!important;
  }
  .b24-review-count{
    margin-left:auto!important;
    text-align:right!important;
  }
  .b24-customer-reviews #comments ol.commentlist li.review .comment-text{
    margin-left:0!important;
    margin-top:10px!important;
  }
}


/* B24 v3.1.6 — Create New Account action on the native WP/WooCommerce login */
body.login .b24-login-create-account{margin:18px 0 6px!important;text-align:center!important}
body.login .b24-login-create-account-hint{margin:14px auto 8px!important;max-width:360px!important;text-align:center!important;color:#64748b!important;font-size:13px!important;line-height:1.55!important}
body.login .b24-login-create-account a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:0 22px!important;border-radius:10px!important;background:#ea580c!important;color:#fff!important;text-decoration:none!important;font-weight:800!important;font-size:14px!important;box-shadow:0 6px 18px rgba(234,88,12,.18)!important}
body.login .b24-login-create-account a:hover{background:#c2410c!important;color:#fff!important}

/* v3.1.9 — High-contrast premium footer for the black/orange site logo. */
.b24-storefront-footer{
  background:linear-gradient(135deg,#fffaf5 0%,#f8fafc 58%,#fff7ed 100%)!important;
  color:#0f172a!important;
  border-top:1px solid rgba(15,23,42,.10)!important;
  box-shadow:0 -16px 45px rgba(15,23,42,.08)!important;
}
.b24-storefront-footer .b24-footer-brand strong,
.b24-storefront-footer .b24-footer-col h4{color:#0f172a!important}
.b24-storefront-footer .b24-footer-brand p{color:#475569!important}
.b24-storefront-footer .b24-footer-col li a{color:#334155!important}
.b24-storefront-footer .b24-footer-col li a:hover{color:#ea580c!important}
.b24-footer-logo{filter:drop-shadow(0 4px 10px rgba(15,23,42,.08))!important}
.b24-footer-logo .b24-menu-brand-text{color:#0f172a!important}
.b24-footer-socials a{background:rgba(255,255,255,.78)!important;border-color:rgba(15,23,42,.12)!important;color:#334155!important;box-shadow:0 4px 14px rgba(15,23,42,.05)!important}
.b24-footer-socials a:hover{color:#ea580c!important;border-color:rgba(234,88,12,.38)!important;background:#fff!important}
.b24-storefront-footer .b24-footer-bottom{border-top-color:rgba(15,23,42,.12)!important;color:#64748b!important}
@media(max-width:768px){
  .b24-storefront-footer{background:linear-gradient(180deg,#fffaf5 0%,#f8fafc 100%)!important}
}

/* B24 v3.1.10 — True page end / no blank space below footer */
html,body{min-height:100%!important;margin:0!important;padding:0!important;}
body{min-height:100vh!important;display:flex!important;flex-direction:column!important;}
body>div#page,
body>div.site,
body>div#content,
body>.site-container{min-height:100vh!important;display:flex!important;flex-direction:column!important;}
body #page main,
body .site-content,
body #content{flex:1 0 auto;}
body footer,
body .site-footer,
body #colophon{flex-shrink:0!important;margin-bottom:0!important;padding-bottom:0!important;}
body footer::after,
body .site-footer::after,
body #colophon::after{display:none!important;content:none!important;}
/* Prevent the bottom navigation from creating visual space after the footer. */
.b24-mobile-bottom-nav{margin-bottom:0!important;}
@media(max-width:768px){
  body{padding-bottom:0!important;}
}

/* B24 v3.1.11 — Review star/button click targets */
.b24-review-summary-stars{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  position:relative!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  text-decoration:none!important;
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  box-shadow:none!important;
}
.b24-review-summary-stars:hover,
.b24-review-summary-stars:focus{
  text-decoration:none!important;
  outline:0!important;
  transform:translateY(-1px);
}
.b24-review-summary-stars:focus-visible{
  outline:2px solid #f59e0b!important;
  outline-offset:4px!important;
  border-radius:5px!important;
}


/* B24 v3.1.12 — Review stars are always visible and review CTAs always have a live click target. */
.b24-review-summary-stars,
.b24-review-summary-stars:visited{color:#f59e0b!important;min-width:122px!important;min-height:30px!important;z-index:20!important;position:relative!important;pointer-events:auto!important;}
.b24-review-summary-stars:before{content:'★★★★★'!important;display:block!important;color:#d1d5db!important;letter-spacing:3px!important;line-height:1!important;}
.b24-review-stars-fill{z-index:2!important;display:block!important;color:#f59e0b!important;letter-spacing:3px!important;line-height:1!important;pointer-events:none!important;}
.b24-review-jump{position:relative!important;z-index:30!important;pointer-events:auto!important;}
.b24-review-login-modal{z-index:2147483000!important;}
.b24-review-login-backdrop{z-index:1!important;}
.b24-review-login-dialog{z-index:2!important;pointer-events:auto!important;}
.woocommerce #review_form #respond p.comment-form-rating .stars,
.woocommerce #review_form #respond p.comment-form-rating .stars a{display:inline-block!important;visibility:visible!important;opacity:1!important;}
.woocommerce #review_form #respond p.comment-form-rating .stars a{color:#f59e0b!important;}

/* =====================================================================
   B24 v3.1.17 — Simple one-page My Account login/register with user password
   ===================================================================== */
body.woocommerce-account .b24-account-quick-access{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;
  margin:0 0 18px!important;padding:18px 20px!important;border:1px solid #fed7aa!important;border-radius:16px!important;
  background:linear-gradient(135deg,#fffaf5,#fff7ed)!important;box-shadow:0 8px 24px rgba(15,23,42,.06)!important;
}
body.woocommerce-account .b24-account-quick-copy{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important}
body.woocommerce-account .b24-account-quick-copy span{font:800 10px/1 Inter,sans-serif!important;letter-spacing:1.4px!important;color:#c2410c!important}
body.woocommerce-account .b24-account-quick-copy strong{font:900 20px/1.15 Inter,sans-serif!important;color:#0f172a!important}
body.woocommerce-account .b24-account-quick-copy small{font:500 12px/1.45 Inter,sans-serif!important;color:#64748b!important}
body.woocommerce-account .b24-account-create-btn{
  flex:0 0 auto!important;min-height:46px!important;padding:0 20px!important;border:0!important;border-radius:11px!important;
  background:#ea580c!important;color:#fff!important;font:800 13px/1 Inter,sans-serif!important;cursor:pointer!important;
  box-shadow:0 7px 18px rgba(234,88,12,.2)!important;
}
body.woocommerce-account .b24-account-create-btn:hover{background:#c2410c!important;transform:translateY(-1px)!important}
body.woocommerce-account .u-column2[hidden]{display:none!important}
body.woocommerce-account .u-column2.b24-register-open{display:block!important}
@media(max-width:768px){
  body.woocommerce-account .b24-account-quick-access{flex-direction:column!important;align-items:stretch!important;padding:16px!important;gap:12px!important}
  body.woocommerce-account .b24-account-quick-copy strong{font-size:18px!important}
  body.woocommerce-account .b24-account-create-btn{width:100%!important}
}


/* B24 v3.1.17 — User-defined registration password */
body.woocommerce-account .b24-register-password-confirm{margin-bottom:14px!important}
body.woocommerce-account .b24-register-password-confirm label{display:block!important;font-weight:700!important;margin-bottom:6px!important}
body.woocommerce-account .b24-register-password-confirm input{width:100%!important;box-sizing:border-box!important}


/* B24 v3.1.18 — single product social sharing */
.b24-product-share{
  width:100%!important;
  margin:18px 0 8px!important;
  padding:16px!important;
  border:1px solid #e8edf3!important;
  border-radius:14px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
.b24-product-share-heading{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:baseline!important;
  justify-content:space-between!important;
  gap:6px 12px!important;
  margin-bottom:12px!important;
}
.b24-product-share-heading strong{
  color:#111827!important;
  font-size:15px!important;
  font-weight:800!important;
}
.b24-product-share-heading span{
  color:#6b7280!important;
  font-size:12px!important;
}
.b24-product-share-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
}
.b24-product-share .b24-share-btn{
  min-height:40px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:9px 13px!important;
  border:1px solid #e5e7eb!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#273244!important;
  font:700 12px/1.2 Inter,system-ui,sans-serif!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:transform .2s ease,box-shadow .2s ease!important;
}
.b24-product-share .b24-share-btn:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 4px 12px rgba(15,23,42,.09)!important;
}
.b24-product-share .b24-share-whatsapp{border-color:#b8e8c8!important;color:#128447!important}
.b24-product-share .b24-share-facebook{border-color:#c9d9fb!important;color:#2058a6!important}
.b24-product-share .b24-share-instagram{border-color:#f0c8df!important;color:#b52e79!important}
.b24-product-share .b24-share-copy{border-color:#d8dee8!important;color:#374151!important}
.b24-product-share .b24-share-btn span[aria-hidden="true"]{
  font-size:17px!important;
  line-height:1!important;
  font-weight:900!important;
}
.b24-product-share .b24-share-feedback{
  margin:8px 0 0!important;
  color:#15803d!important;
  font-size:12px!important;
  line-height:1.4!important;
}
.b24-product-share .b24-share-feedback:empty{display:none!important}
@media(max-width:480px){
  .b24-product-share{padding:13px!important}
  .b24-product-share-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .b24-product-share .b24-share-btn{width:100%!important;padding:9px 6px!important;font-size:11px!important}
}


/* B24 v3.1.19 — compact top-right share control */
.b24-product-share-top{
  width:100%!important;
  margin:0 0 14px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.b24-product-share-topline{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:8px!important;
}
.b24-product-share-main{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-height:42px!important;
  padding:0 20px!important;
  border:1px solid #d1d5db!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#111827!important;
  font:600 15px/1.2 Inter,system-ui,sans-serif!important;
  box-shadow:0 3px 9px rgba(15,23,42,.08)!important;
  cursor:pointer!important;
}
.b24-product-share-main svg{
  display:block!important;
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.b24-product-share-main:hover{border-color:#aeb5bf!important;box-shadow:0 5px 14px rgba(15,23,42,.12)!important}
.b24-product-share-caption{color:#252525!important;font-size:13px!important;line-height:1.45!important;text-align:right!important}
.b24-product-share-top .b24-product-share-actions{justify-content:flex-end!important;margin-top:8px!important}
.b24-product-share-top .b24-product-share-actions[hidden]{display:none!important}
.b24-product-share-top .b24-share-feedback{text-align:right!important}
.b24-customer-reviews .b24-review-list{display:grid!important;gap:12px!important;margin:0 0 20px!important}
.b24-customer-reviews .b24-review-item{padding:16px!important;border:1px solid #e7ebf0!important;border-radius:12px!important;background:#fff!important}
.b24-customer-reviews .b24-review-item-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;flex-wrap:wrap!important}
.b24-customer-reviews .b24-review-item-head strong{color:#111827!important;font-size:14px!important;font-weight:750!important}
.b24-customer-reviews .b24-review-item-head time{color:#64748b!important;font-size:12px!important}
.b24-customer-reviews .b24-review-item-stars{margin-top:6px!important;color:#f59e0b!important;letter-spacing:1px!important}
.b24-customer-reviews .b24-review-item-content{margin-top:8px!important;color:#374151!important;font-size:14px!important;line-height:1.65!important;overflow-wrap:anywhere!important}
.b24-customer-reviews .b24-review-item-content p:last-child{margin-bottom:0!important}
.b24-customer-reviews .b24-no-reviews-yet{margin:0 0 20px!important;color:#475569!important}
/* Native WooCommerce comments list duplicates the custom list above; preserve its review form. */
.b24-customer-reviews #reviews #comments{display:none!important}
@media(max-width:600px){
  .b24-product-share-topline{align-items:flex-end!important}
  .b24-product-share-main{min-height:40px!important;padding:0 17px!important}
  .b24-product-share-caption{font-size:12px!important}
  .b24-customer-reviews .b24-review-item{padding:13px!important}
}


/* B24 v3.1.22 review submission confirmation */
.b24-customer-reviews .b24-review-submission-notice{margin:0 0 18px;padding:12px 16px;border:1px solid #b7e4c7;border-radius:10px;background:#f0fff4;color:#166534;font-size:14px;line-height:1.5}


/* B24 v3.1.28 — keep WooCommerce product-card stars inside the card content. */
.woocommerce ul.products li.product .star-rating,
.woocommerce-page ul.products li.product .star-rating,
.b24-product-rail-track .woocommerce ul.products li.product .star-rating,
.b24-category-showcase-products > .products li.product .star-rating {
    float: none !important;
    position: relative !important;
    inset: auto !important;
    clear: both !important;
    display: block !important;
    align-self: flex-start !important;
    flex: 0 0 auto !important;
    width: 5.4em !important;
    max-width: 100% !important;
    margin: 6px 14px 0 !important;
    line-height: 1 !important;
    overflow: hidden !important;
    z-index: 1 !important;
    box-sizing: content-box !important;
}
.woocommerce ul.products li.product .astra-shop-summary-wrap > .star-rating,
.woocommerce-page ul.products li.product .astra-shop-summary-wrap > .star-rating {
    margin: 2px 0 8px !important;
}
@media (max-width: 768px) {
    .woocommerce ul.products li.product .star-rating,
    .woocommerce-page ul.products li.product .star-rating,
    .b24-product-rail-track .woocommerce ul.products li.product .star-rating,
    .b24-category-showcase-products > .products li.product .star-rating {
        margin: 6px 10px 0 !important;
        font-size: 12px !important;
    }
    .woocommerce ul.products li.product .astra-shop-summary-wrap > .star-rating,
    .woocommerce-page ul.products li.product .astra-shop-summary-wrap > .star-rating {
        margin: 2px 0 8px !important;
    }
}


/* B24 v3.1.29 — rating has local stacking priority but stays inside its card. */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.b24-product-rail-track .woocommerce ul.products li.product,
.b24-category-showcase-products > .products li.product {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    min-width: 0 !important;
}
.woocommerce ul.products li.product .star-rating,
.woocommerce-page ul.products li.product .star-rating,
.b24-product-rail-track .woocommerce ul.products li.product .star-rating,
.b24-category-showcase-products > .products li.product .star-rating {
    position: relative !important;
    z-index: 2 !important;
    float: none !important;
    inset: auto !important;
    display: block !important;
    width: 5.4em !important;
    max-width: calc(100% - 20px) !important;
    margin: 6px 10px 0 !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    overflow: hidden !important;
}
.woocommerce ul.products li.product .astra-shop-summary-wrap > .star-rating,
.woocommerce-page ul.products li.product .astra-shop-summary-wrap > .star-rating {
    margin: 2px 0 8px !important;
    max-width: 100% !important;
}
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce-page ul.products li.product a.add_to_cart_button {
    position: relative !important;
    z-index: 1 !important;
    max-width: calc(100% - 20px) !important;
    box-sizing: border-box !important;
}
@media (max-width: 768px) {
    .woocommerce ul.products li.product .star-rating,
    .woocommerce-page ul.products li.product .star-rating,
    .b24-product-rail-track .woocommerce ul.products li.product .star-rating,
    .b24-category-showcase-products > .products li.product .star-rating {
        margin: 6px 10px 0 !important;
        font-size: 12px !important;
        max-width: calc(100% - 20px) !important;
    }
}


/* B24 v3.1.30 — align rating beside category at the bottom edge of the image. */
.woocommerce ul.products li.product .b24-card-category-rating-row,
.woocommerce-page ul.products li.product .b24-card-category-rating-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 3 !important;
    padding: 0 !important;
    margin: 0 0 5px !important;
}
.woocommerce ul.products li.product .b24-card-category-rating-row .b24-cat-text,
.woocommerce-page ul.products li.product .b24-card-category-rating-row .b24-cat-text {
    min-width: 0 !important;
    max-width: calc(100% - 76px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    margin: 0 !important;
    flex: 1 1 auto !important;
}
.woocommerce ul.products li.product .b24-card-category-rating-row .star-rating,
.woocommerce-page ul.products li.product .b24-card-category-rating-row .star-rating {
    position: relative !important;
    inset: auto !important;
    float: none !important;
    display: block !important;
    flex: 0 0 5.4em !important;
    width: 5.4em !important;
    max-width: 5.4em !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    font-size: 12px !important;
    z-index: 4 !important;
}
@media (max-width: 768px) {
    .woocommerce ul.products li.product .b24-card-category-rating-row,
    .woocommerce-page ul.products li.product .b24-card-category-rating-row {
        gap: 4px !important;
    }
    .woocommerce ul.products li.product .b24-card-category-rating-row .star-rating,
    .woocommerce-page ul.products li.product .b24-card-category-rating-row .star-rating {
        font-size: 11px !important;
        flex-basis: 5.1em !important;
        width: 5.1em !important;
        max-width: 5.1em !important;
    }
}


/* B24 v3.1.31 — mobile shop controls stack search above filter/sort. */
@media (max-width: 768px) {
  .b24-shop-toolbar,
  .b24-shop-controls,
  .b24-shop-topbar,
  .b24-archive-toolbar,
  .b24-shop-filter-toolbar,
  .b24-shop-search-sort-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    position: relative !important;
    box-sizing: border-box !important;
  }

  .b24-shop-toolbar .b24-shop-search,
  .b24-shop-controls .b24-shop-search,
  .b24-shop-topbar .b24-shop-search,
  .b24-archive-toolbar .b24-shop-search,
  .b24-shop-filter-toolbar .b24-shop-search,
  .b24-shop-search-sort-row .b24-shop-search,
  .b24-shop-search,
  .b24-shop-search-wrap,
  .b24-product-search,
  .b24-live-search,
  .woocommerce .woocommerce-product-search,
  .woocommerce-page .woocommerce-product-search {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    order: 0 !important;
    position: relative !important;
    inset: auto !important;
    margin: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
    z-index: 2 !important;
  }

  .b24-shop-toolbar .b24-shop-search input,
  .b24-shop-controls .b24-shop-search input,
  .b24-shop-topbar .b24-shop-search input,
  .b24-archive-toolbar .b24-shop-search input,
  .b24-shop-filter-toolbar .b24-shop-search input,
  .b24-shop-search-sort-row .b24-shop-search input,
  .b24-shop-search input,
  .b24-shop-search-wrap input,
  .b24-product-search input,
  .b24-live-search input,
  .woocommerce .woocommerce-product-search input[type="search"],
  .woocommerce-page .woocommerce-product-search input[type="search"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    box-sizing: border-box !important;
  }

  .b24-shop-toolbar .b24-shop-filter,
  .b24-shop-controls .b24-shop-filter,
  .b24-shop-topbar .b24-shop-filter,
  .b24-archive-toolbar .b24-shop-filter,
  .b24-shop-filter-toolbar .b24-shop-filter,
  .b24-shop-search-sort-row .b24-shop-filter,
  .b24-shop-filter,
  .b24-shop-filter-button,
  .b24-filter-toggle,
  .b24-shop-sort,
  .b24-sort-wrap,
  .b24-shop-toolbar select,
  .b24-shop-controls select,
  .b24-shop-topbar select,
  .b24-archive-toolbar select,
  .woocommerce-ordering {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    float: none !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    z-index: 1 !important;
  }

  .b24-shop-toolbar .b24-shop-filter-sort,
  .b24-shop-controls .b24-shop-filter-sort,
  .b24-shop-topbar .b24-shop-filter-sort,
  .b24-archive-toolbar .b24-shop-filter-sort,
  .b24-shop-filter-sort,
  .b24-shop-actions,
  .b24-shop-toolbar-actions,
  .b24-shop-sort-filter-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    order: 1 !important;
    box-sizing: border-box !important;
  }

  .b24-shop-filter-sort > *,
  .b24-shop-actions > *,
  .b24-shop-toolbar-actions > *,
  .b24-shop-sort-filter-row > * {
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 1 1 0 !important;
  }
}


/* B24 v3.1.32 — mobile product wishlist alignment and review form visibility. */
@media (max-width: 768px) {
  /* Keep the product-gallery wishlist control on the right, inside the image. */
  body.single-product .woocommerce div.product div.images,
  body.single-product .woocommerce div.product .woocommerce-product-gallery {
    position: relative !important;
  }
  body.single-product .b24-single-wishlist,
  body.single-product .b24-wishlist-btn,
  body.single-product .b24-wishlist-button,
  body.single-product .tinvwl_add_to_wishlist_button,
  body.single-product a[class*="wishlist"],
  body.single-product button[class*="wishlist"] {
    left: auto !important;
    right: 12px !important;
    margin-left: auto !important;
  }
  body.single-product .b24-single-wishlist,
  body.single-product .b24-wishlist-btn,
  body.single-product .b24-wishlist-button {
    z-index: 5 !important;
  }

  /* The custom review card may hide/collapse the native form on small screens.
     Force the form itself and its fields to remain visible and usable. */
  body.single-product .b24-customer-reviews #review_form_wrapper,
  body.single-product .b24-customer-reviews #review_form,
  body.single-product .b24-customer-reviews #review_form #respond,
  body.single-product .b24-customer-reviews #review_form form,
  body.single-product .b24-customer-reviews #review_form .comment-form-rating,
  body.single-product .b24-customer-reviews #review_form .comment-form-comment,
  body.single-product .b24-customer-reviews #review_form .comment-form-author,
  body.single-product .b24-customer-reviews #review_form .comment-form-email,
  body.single-product .b24-customer-reviews #review_form .form-submit,
  body.single-product .b24-customer-reviews #review_form .comment-form-cookies-consent,
  body.single-product .b24-customer-reviews #review_form .comment-form,
  body.single-product .b24-customer-reviews #review_form p {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    position: relative !important;
    transform: none !important;
    clip: auto !important;
    clip-path: none !important;
  }
  body.single-product .b24-customer-reviews #review_form_wrapper,
  body.single-product .b24-customer-reviews #review_form {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  body.single-product .b24-customer-reviews #review_form #respond .comment-reply-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 0 14px !important;
    font-size: 22px !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere !important;
  }
  body.single-product .b24-customer-reviews #review_form textarea,
  body.single-product .b24-customer-reviews #review_form input[type="text"],
  body.single-product .b24-customer-reviews #review_form input[type="email"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}


/* B24 v3.1.33 — wishlist stays left; product-image search control moves to center. */
/* Desktop and mobile: keep wishlist on the left edge of the product image/card. */
body.single-product .woocommerce div.product div.images .b24-single-wishlist,
body.single-product .woocommerce div.product div.images .b24-wishlist-btn,
body.single-product .woocommerce div.product div.images .b24-wishlist-button,
body.single-product .woocommerce div.product div.images .tinvwl_add_to_wishlist_button,
body.single-product .woocommerce div.product div.images a[class*="wishlist"],
body.single-product .woocommerce div.product div.images button[class*="wishlist"] {
    left: 12px !important;
    right: auto !important;
    margin-left: 0 !important;
}

/* Keep the search/gallery action centered on top of the image so it does not
   collide with the left-side wishlist control on phones. */
body.single-product .woocommerce div.product div.images .b24-image-search,
body.single-product .woocommerce div.product div.images .b24-gallery-search,
body.single-product .woocommerce div.product div.images .b24-product-image-search,
body.single-product .woocommerce div.product div.images .b24-search-image,
body.single-product .woocommerce div.product div.images button[class*="image-search"],
body.single-product .woocommerce div.product div.images a[class*="image-search"] {
    left: 50% !important;
    right: auto !important;
    top: 12px !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    z-index: 6 !important;
}

@media (max-width: 768px) {
  body.single-product .woocommerce div.product div.images,
  body.single-product .woocommerce div.product .woocommerce-product-gallery {
    position: relative !important;
  }
  body.single-product .woocommerce div.product div.images .b24-single-wishlist,
  body.single-product .woocommerce div.product div.images .b24-wishlist-btn,
  body.single-product .woocommerce div.product div.images .b24-wishlist-button,
  body.single-product .woocommerce div.product div.images .tinvwl_add_to_wishlist_button,
  body.single-product .woocommerce div.product div.images a[class*="wishlist"],
  body.single-product .woocommerce div.product div.images button[class*="wishlist"] {
    left: 12px !important;
    right: auto !important;
    top: 12px !important;
    bottom: auto !important;
    z-index: 5 !important;
  }
}


/* B24 v3.1.34 — mobile search opens as a full-width row above shop filters/sort. */
@media (max-width: 768px) {
  .b24-shop-filter-wrap > .b24-nav-search,
  .b24-shop-filter-wrap .b24-nav-search.b24-shop-inline-search {
    display: block !important;
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 12px !important;
    padding: 8px !important;
    box-sizing: border-box !important;
    z-index: 5 !important;
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 14px !important;
    box-shadow: 0 6px 18px rgba(15,23,42,.08) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    height: 0 !important;
    overflow: hidden !important;
  }
  .b24-shop-filter-wrap > .b24-nav-search.is-open,
  .b24-shop-filter-wrap .b24-nav-search.b24-shop-inline-search.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    height: auto !important;
    overflow: visible !important;
    transform: none !important;
  }
  .b24-shop-filter-wrap .b24-nav-search form {
    display: flex !important;
    width: 100% !important;
    gap: 8px !important;
  }
  .b24-shop-filter-wrap .b24-nav-search input[type="search"] {
    flex: 1 1 auto !important;
    width: 1% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    box-sizing: border-box !important;
  }
  .b24-shop-filter-wrap .b24-nav-search button {
    flex: 0 0 44px !important;
    width: 44px !important;
    min-height: 44px !important;
  }
}


/* B24 v3.1.35 — distinct wishlist toast styling; preserves shared swipe motion. */
.b24-cart-toast.is-wishlist-toast .b24-cart-toast-icon {
  background: #fff1f2 !important;
  color: #e11d48 !important;
}
.b24-cart-toast.is-wishlist-toast .b24-cart-toast-copy strong {
  color: #9f1239 !important;
}
.b24-cart-toast.is-wishlist-toast > a {
  white-space: nowrap !important;
}
.b24-cart-toast {
  touch-action: pan-y !important;
  will-change: transform, opacity;
}


/* B24 v3.1.36 — dedicated shop search control, always above filter/sort when opened. */
.b24-shop-filter-wrap .b24-shop-search-option-row[hidden] { display: none !important; }
.b24-shop-filter-wrap .b24-shop-search-option-row {
  position: relative !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 0 12px !important;
  padding: 9px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 6px 18px rgba(15,23,42,.07) !important;
  z-index: 5 !important;
}
.b24-shop-filter-wrap .b24-shop-search-option-row.is-open {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.b24-shop-search-option-form {
  display: flex !important;
  align-items: center !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  gap: 8px !important;
  margin: 0 !important;
}
.b24-shop-search-option-form input[type="search"] {
  flex: 1 1 auto !important;
  width: 1% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  padding: 10px 12px !important;
  box-sizing: border-box !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
  color: #0f172a !important;
}
.b24-shop-search-option-form button,
.b24-shop-search-close {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #111827 !important;
  color: #fff !important;
  font-size: 21px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
.b24-shop-search-close { background: #f1f5f9 !important; color: #334155 !important; }
.b24-shop-filter-wrap .b24-shop-search-option-trigger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  min-height: 38px !important;
  padding: 8px 11px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #0f172a !important;
  font: 700 12px/1.1 Inter,system-ui,sans-serif !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}
.b24-shop-filter-wrap .b24-shop-search-option-trigger.is-active {
  border-color: #c2410c !important;
  color: #c2410c !important;
  background: #fff7ed !important;
}
@media (max-width: 768px) {
  .b24-shop-filter-wrap .b24-shop-search-option-row {
    order: -1 !important;
    margin: 0 0 12px !important;
  }
  .b24-shop-filter-wrap .b24-shop-filter-head {
    flex-wrap: wrap !important;
  }
  .b24-shop-filter-wrap .b24-filter-head-actions {
    flex-wrap: wrap !important;
    min-width: 0 !important;
  }
  .b24-shop-filter-wrap .b24-shop-search-option-trigger {
    min-height: 38px !important;
  }
}


/* B24 v3.1.37 — center product-image search control on mobile to avoid wishlist overlap. */
@media (max-width: 768px) {
  body.single-product .woocommerce div.product div.images,
  body.single-product .woocommerce div.product .woocommerce-product-gallery,
  body.single-product .woocommerce div.product .woocommerce-product-gallery__wrapper {
    position: relative !important;
  }

  body.single-product .woocommerce div.product div.images .b24-image-search,
  body.single-product .woocommerce div.product div.images .b24-gallery-search,
  body.single-product .woocommerce div.product div.images .b24-product-image-search,
  body.single-product .woocommerce div.product div.images .b24-search-image,
  body.single-product .woocommerce div.product div.images button[class*="image-search"],
  body.single-product .woocommerce div.product div.images a[class*="image-search"],
  body.single-product .woocommerce div.product div.images button[aria-label*="search" i],
  body.single-product .woocommerce div.product div.images a[aria-label*="search" i],
  body.single-product .woocommerce div.product .woocommerce-product-gallery button[class*="search"],
  body.single-product .woocommerce div.product .woocommerce-product-gallery a[class*="search"] {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: 12px !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    z-index: 8 !important;
  }

  body.single-product .woocommerce div.product div.images .b24-single-wishlist,
  body.single-product .woocommerce div.product div.images .b24-wishlist-btn,
  body.single-product .woocommerce div.product div.images .b24-wishlist-button,
  body.single-product .woocommerce div.product div.images .tinvwl_add_to_wishlist_button,
  body.single-product .woocommerce div.product div.images a[class*="wishlist"],
  body.single-product .woocommerce div.product div.images button[class*="wishlist"] {
    left: 12px !important;
    right: auto !important;
    z-index: 7 !important;
  }
}


/* B24 v3.1.38 — force wishlist heart to the LEFT on desktop product cards as well as single-product images. */
@media (min-width: 769px) {
  .woocommerce ul.products li.product .b24-wishlist-btn,
  .woocommerce-page ul.products li.product .b24-wishlist-btn,
  .woocommerce ul.products li.product .b24-wishlist-button,
  .woocommerce-page ul.products li.product .b24-wishlist-button,
  .woocommerce ul.products li.product .b24-single-wishlist,
  .woocommerce-page ul.products li.product .b24-single-wishlist,
  .woocommerce ul.products li.product a[class*="wishlist"],
  .woocommerce-page ul.products li.product a[class*="wishlist"],
  .woocommerce ul.products li.product button[class*="wishlist"],
  .woocommerce-page ul.products li.product button[class*="wishlist"] {
    left: 12px !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}


/* B24 v3.1.39 — persistent shop search bar above filter/sort on desktop and mobile. */
.b24-shop-filter-wrap .b24-shop-search-static-form {
  display: flex !important;
  position: relative !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  margin: 0 0 14px !important;
  padding: 8px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  background: #fff !important;
  clear: both !important;
}
.b24-shop-filter-wrap .b24-shop-search-static-form input[type="search"] {
  display: block !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 9px !important;
  box-sizing: border-box !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  font-size: 14px !important;
}
.b24-shop-filter-wrap .b24-shop-search-static-form button[type="submit"] {
  display: inline-flex !important;
  flex: 0 0 44px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: #c2410c !important;
  color: #fff !important;
  font-size: 25px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
.b24-shop-filter-wrap .b24-shop-search-static-form button[type="submit"]:hover { background: #9a3412 !important; }
@media (max-width: 768px) {
  .b24-shop-filter-wrap .b24-shop-search-static-form { order: 0 !important; margin: 0 0 12px !important; }
  .b24-shop-filter-wrap .b24-shop-filter-head { order: 1 !important; }
  .b24-shop-filter-wrap .b24-shop-filter-panel { order: 2 !important; }
}


/* B24 v3.1.40 — center WooCommerce's native product-gallery zoom/search trigger.
   The native trigger is .woocommerce-product-gallery__trigger (not image-search),
   so older selectors could miss it and leave it overlapping the wishlist heart. */
body.single-product div.product .woocommerce-product-gallery {
  position: relative !important;
}
body.single-product div.product .woocommerce-product-gallery__trigger,
body.single-product div.product .woocommerce-product-gallery a.woocommerce-product-gallery__trigger {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  top: 12px !important;
  bottom: auto !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
  z-index: 20 !important;
}
body.single-product div.product .woocommerce-product-gallery .b24-image-search,
body.single-product div.product .woocommerce-product-gallery .b24-gallery-search,
body.single-product div.product .woocommerce-product-gallery .b24-product-image-search,
body.single-product div.product .woocommerce-product-gallery .b24-search-image,
body.single-product div.product .woocommerce-product-gallery button[class*="image-search"],
body.single-product div.product .woocommerce-product-gallery a[class*="image-search"] {
  left: 50% !important;
  right: auto !important;
  top: 12px !important;
  bottom: auto !important;
  transform: translateX(-50%) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  z-index: 20 !important;
}
body.single-product div.product .woocommerce-product-gallery .b24-single-wishlist,
body.single-product div.product .woocommerce-product-gallery .b24-wishlist-btn,
body.single-product div.product .woocommerce-product-gallery .b24-wishlist-button,
body.single-product div.product .woocommerce-product-gallery a[class*="wishlist"],
body.single-product div.product .woocommerce-product-gallery button[class*="wishlist"] {
  left: 12px !important;
  right: auto !important;
  z-index: 21 !important;
}


/* B24 v3.1.41 — exact image-center zoom/search; desktop wishlist at right. */
body.single-product div.product .woocommerce-product-gallery__trigger,
body.single-product div.product .woocommerce-product-gallery a.woocommerce-product-gallery__trigger,
body.single-product div.product .woocommerce-product-gallery .b24-image-search,
body.single-product div.product .woocommerce-product-gallery .b24-gallery-search,
body.single-product div.product .woocommerce-product-gallery .b24-product-image-search,
body.single-product div.product .woocommerce-product-gallery .b24-search-image,
body.single-product div.product .woocommerce-product-gallery button[class*="image-search"],
body.single-product div.product .woocommerce-product-gallery a[class*="image-search"] {
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  z-index: 30 !important;
}
@media (min-width: 769px) {
  body.single-product div.product .woocommerce-product-gallery .b24-single-wishlist,
  body.single-product div.product .woocommerce-product-gallery .b24-wishlist-btn,
  body.single-product div.product .woocommerce-product-gallery .b24-wishlist-button,
  body.single-product div.product .woocommerce-product-gallery a[class*="wishlist"],
  body.single-product div.product .woocommerce-product-gallery button[class*="wishlist"] {
    left: auto !important;
    right: 12px !important;
    top: 12px !important;
  }
}

/* Desktop keeps its inline search. On mobile, search opens as a centered modal. */
.b24-shop-search-popup-trigger { display: none !important; }
.b24-shop-search-popup-backdrop { display: none; }
.b24-shop-search-popup-close { display: none; }
@media (max-width: 768px) {
  .b24-shop-filter-wrap .b24-shop-search-popup-trigger {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    padding: 8px 12px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #0f172a !important;
    font-weight: 600 !important;
    cursor: pointer !important;
  }
  .b24-shop-filter-wrap .b24-shop-search-static-form,
  .b24-shop-filter-wrap .b24-shop-search-static-form.is-open {
    display: none !important;
  }
  .b24-shop-filter-wrap.b24-shop-search-modal-open .b24-shop-search-static-form,
  .b24-shop-filter-wrap.b24-shop-search-modal-open .b24-shop-search-static-form.is-open {
    display: flex !important;
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    width: calc(100vw - 32px) !important;
    max-width: 460px !important;
    margin: 0 !important;
    padding: 58px 16px 16px !important;
    flex-wrap: nowrap !important;
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 60px rgba(15,23,42,.28) !important;
    z-index: 100002 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    height: auto !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }
  .b24-shop-filter-wrap.b24-shop-search-modal-open .b24-shop-search-popup-backdrop {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(15,23,42,.58) !important;
    z-index: 100001 !important;
  }
  .b24-shop-filter-wrap .b24-shop-search-popup-close {
    display: inline-flex !important;
    position: absolute !important;
    top: 12px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #f1f5f9 !important;
    color: #0f172a !important;
    font-size: 28px !important;
    line-height: 1 !important;
    cursor: pointer !important;
  }
  body.b24-shop-search-modal-active { overflow: hidden !important; }
}


/* B24 v3.1.42 — keep a dedicated Search action in the mobile bottom navigation. */
@media (max-width: 768px) {
  .b24-mobile-nav .b24-nav-search-trigger {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
  }
  .b24-mobile-nav .b24-nav-search-trigger .b24-nav-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}
/* B24 v3.1.43: isolated storefront control fixes for WooCommerce/Astra. */
body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product,
body.single-product .woocommerce div.product div.images,
body.single-product .woocommerce-product-gallery {
  position: relative !important;
}
body.woocommerce ul.products li.product .b24-wishlist-toggle,
body.woocommerce-page ul.products li.product .b24-wishlist-toggle {
  top: 12px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  z-index: 40 !important;
}
body.single-product .woocommerce div.product div.images .b24-wishlist-toggle,
body.single-product .woocommerce-product-gallery .b24-wishlist-toggle {
  top: 14px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  z-index: 40 !important;
}
body.single-product .woocommerce div.product div.images .b24-wishlist-toggle:hover,
body.woocommerce ul.products li.product .b24-wishlist-toggle:hover {
  transform: translateX(-50%) scale(1.07) !important;
}
.single-product .b24-low-stock-note {
  margin: 6px 0 12px !important;
  color: #b42318 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}
body.woocommerce .b24-mobile-nav,
body.woocommerce-page .b24-mobile-nav,
body .b24-menu-overlay,
body .b24-menu-drawer {
  isolation: isolate;
}
body .b24-menu-overlay { z-index: 2147483000 !important; }
body .b24-menu-drawer { z-index: 2147483001 !important; }
body marquee,
body .marquee,
body [class*="marquee"] {
  z-index: 0 !important;
}
@media (max-width: 768px) {
  body.woocommerce ul.products li.product .b24-wishlist-toggle,
  body.woocommerce-page ul.products li.product .b24-wishlist-toggle,
  body.single-product .woocommerce div.product div.images .b24-wishlist-toggle,
  body.single-product .woocommerce-product-gallery .b24-wishlist-toggle {
    top: 10px !important;
    left: 50% !important;
    right: auto !important;
    width: 40px !important;
    height: 40px !important;
    line-height: 38px !important;
    transform: translateX(-50%) !important;
  }
}

/* B24 v3.1.45 — Checkout Block/classic checkout rule notices. */
.b24-checkout-policy-card{margin:14px 0;padding:14px 16px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;color:#0f172a;font:600 12px/1.55 Inter,sans-serif}.b24-checkout-policy-card strong{font-weight:900}.b24-checkout-policy-card ul{margin:8px 0 0 18px;padding:0}.b24-checkout-policy-card li{margin:3px 0}.b24-block-payment-note{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font:700 12px/1.45 Inter,sans-serif}.b24-block-payment-note.is-prepaid{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.b24-payment-label-note{display:block;margin-top:3px;font-size:10px!important;line-height:1.35!important;font-weight:700!important;color:#64748b!important}.wc-block-checkout input[autocomplete="tel"]:required,.wc-block-checkout input[type="tel"]:required{box-shadow:none}

/* =====================================================================
   B24 v3.1.46 — pixel-centered wishlist heart + COD advance summaries
   ===================================================================== */
.b24-wishlist-toggle{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  line-height:1!important;
}
.b24-wishlist-toggle .b24-wishlist-heart{
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:center center!important;
  text-align:center!important;
}
.b24-wishlist-toggle.is-saved .b24-wishlist-heart{
  transform:translate(-50%,-50%) scale(1.08)!important;
}
.b24-order-advance-summary{
  margin:12px 0!important;
  padding:12px 14px!important;
  border:1px solid #e2e8f0!important;
  border-radius:10px!important;
  background:#f8fafc!important;
  color:#0f172a!important;
  font:600 12px/1.55 Inter,system-ui,sans-serif!important;
}


/* =====================================================================
   B24 v3.1.56 — final gallery/sale stability layer
   ===================================================================== */

/* Keep benefit/trust text contained on every product. */
body.single-product .b24-product-trust {
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  align-items:stretch !important;
}
body.single-product .b24-product-trust > * {min-width:0 !important;box-sizing:border-box !important;}
body.single-product .b24-product-trust strong,
body.single-product .b24-product-trust small,
body.single-product .b24-highlight-grid b,
body.single-product .b24-highlight-grid span {
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
@media (min-width:769px) and (max-width:1050px) {
  body.single-product .b24-product-trust {grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}

/* Percentage beside the main product price. */
body.single-product .summary .price .b24-sale-percent,
body.single-product .woocommerce-variation-price .price .b24-sale-percent {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-inline-start:8px !important;
  padding:5px 8px !important;
  border:1px solid #fecaca !important;
  border-radius:7px !important;
  background:#fff1f2 !important;
  color:#dc2626 !important;
  font:900 11px/1.1 Inter,system-ui,sans-serif !important;
  white-space:nowrap !important;
  text-decoration:none !important;
}

/* One sale badge only. Astra/other templates can print their own generic
   Sale! chip in addition to WooCommerce's filtered flash; hide only those
   duplicates when our calculated badge exists. */
body.woocommerce ul.products li.product:has(.b24-sale-flash) .onsale:not(.b24-sale-flash),
body.woocommerce-page ul.products li.product:has(.b24-sale-flash) .onsale:not(.b24-sale-flash),
body.single-product .related.products li.product:has(.b24-sale-flash) .onsale:not(.b24-sale-flash),
body.single-product .upsells.products li.product:has(.b24-sale-flash) .onsale:not(.b24-sale-flash),
body.woocommerce ul.products li.product:has(.b24-sale-flash) .ast-onsale-card:not(.b24-sale-flash),
body.woocommerce-page ul.products li.product:has(.b24-sale-flash) .ast-onsale-card:not(.b24-sale-flash) {
  display:none !important;
}
.woocommerce span.onsale.b24-sale-flash,
.woocommerce-page span.onsale.b24-sale-flash {
  position:absolute !important;
  top:10px !important;
  left:10px !important;
  right:auto !important;
  bottom:auto !important;
  z-index:15 !important;
  min-width:0 !important;
  min-height:0 !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  padding:6px 9px !important;
  border:0 !important;
  border-radius:999px !important;
  background:#dc2626 !important;
  color:#fff !important;
  font:900 10px/1 Inter,system-ui,sans-serif !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
@media (max-width:480px) {
  .woocommerce span.onsale.b24-sale-flash,
  .woocommerce-page span.onsale.b24-sale-flash {padding:5px 7px !important;font-size:9px !important;}
  body.single-product .summary .price .b24-sale-percent,
  body.single-product .woocommerce-variation-price .price .b24-sale-percent {margin-inline-start:5px !important;padding:4px 6px !important;font-size:10px !important;}
}


/* =====================================================================
   B24 v3.1.56 — price-side discount + reliable review form (PC + mobile)
   ===================================================================== */
/* Keep the calculated offer visible beside the amount on catalogue cards,
   related products, up-sells and the single-product price. */
.woocommerce ul.products li.product .price .b24-sale-percent,
.woocommerce .related.products li.product .price .b24-sale-percent,
.woocommerce .upsells.products li.product .price .b24-sale-percent,
.wc-block-grid__product .price .b24-sale-percent,
.b24-wishlist-price .b24-sale-percent {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  vertical-align:middle !important;
  margin:2px 0 2px 6px !important;
  padding:4px 6px !important;
  border:1px solid #fecaca !important;
  border-radius:6px !important;
  background:#fff1f2 !important;
  color:#dc2626 !important;
  font:900 9px/1 Inter,system-ui,sans-serif !important;
  white-space:nowrap !important;
  text-decoration:none !important;
}

/* Astra modern cards can emit their own independent generic Sale! chip.
   PHP/JS remove it; this is the CSS safety net for every current browser. */
.woocommerce ul.products li.product .ast-onsale-card[aria-hidden="true"],
.woocommerce ul.products li.product .onsale[aria-hidden="true"],
.woocommerce .related.products li.product .ast-onsale-card[aria-hidden="true"],
.woocommerce .related.products li.product .onsale[aria-hidden="true"] {
  display:none !important;
}

/* The review CTA must always have a real, visible destination for logged-in
   customers on desktop and mobile. */
body.logged-in.single-product .b24-customer-reviews #review_form_wrapper,
body.logged-in.single-product .b24-customer-reviews #review_form,
body.logged-in.single-product .b24-customer-reviews #review_form #respond,
body.logged-in.single-product .b24-customer-reviews #review_form form.comment-form {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  transform:none !important;
  clip:auto !important;
  clip-path:none !important;
}
body.single-product #review_form_wrapper {
  scroll-margin-top:118px !important;
}
@media (max-width:768px) {
  body.single-product #review_form_wrapper {scroll-margin-top:92px !important;}
  .woocommerce ul.products li.product .price .b24-sale-percent,
  .woocommerce .related.products li.product .price .b24-sale-percent,
  .woocommerce .upsells.products li.product .price .b24-sale-percent,
  .wc-block-grid__product .price .b24-sale-percent {
    margin-left:4px !important;
    padding:3px 5px !important;
    font-size:8px !important;
  }
}


/* v3.1.56 — guest product reviews: desktop + mobile */
body.single-product .b24-customer-reviews .b24-review-moderation-note{
  margin:0 0 14px!important;padding:10px 12px!important;border:1px solid #fed7aa!important;
  border-radius:10px!important;background:#fff7ed!important;color:#9a3412!important;
  font-size:13px!important;line-height:1.5!important;
}
body.single-product .b24-customer-reviews .comment-form-author,
body.single-product .b24-customer-reviews .comment-form-email{
  width:100%!important;max-width:100%!important;margin:0 0 14px!important;
}
body.single-product .b24-customer-reviews .comment-form-author label,
body.single-product .b24-customer-reviews .comment-form-email label{
  display:block!important;margin:0 0 6px!important;font-weight:700!important;color:#1e293b!important;
}
body.single-product .b24-customer-reviews .b24-review-email-note{
  display:block!important;margin-top:6px!important;color:#64748b!important;font-size:12px!important;line-height:1.4!important;
}
body.single-product .b24-customer-reviews #review_form_wrapper.b24-review-form-open{
  scroll-margin-top:118px!important;
}
@media(max-width:768px){
  body.single-product .b24-customer-reviews #review_form_wrapper.b24-review-form-open{scroll-margin-top:88px!important;}
  body.single-product .b24-customer-reviews .b24-review-moderation-note{font-size:12px!important;padding:9px 10px!important;}
}

/* v3.1.57 — legal/privacy consent + My Account privacy request UI */
.b24-registration-legal-consent{margin-top:14px!important;padding:12px 14px;border:1px solid #dfe5ee;border-radius:12px;background:#f8fafc}
.b24-registration-legal-consent label{display:flex!important;align-items:flex-start;gap:9px;line-height:1.45}
.b24-registration-legal-consent input[type="checkbox"]{margin-top:4px!important;flex:0 0 auto}
.b24-registration-legal-consent a,.b24-legal-links a,.b24-privacy-policy-links a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.b24-legal-links{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font-size:14px}
.b24-privacy-data-panel .b24-privacy-intro{max-width:780px;color:#52617a;line-height:1.65}
.b24-privacy-policy-links{margin:10px 0 22px}
.b24-privacy-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.b24-privacy-card{border:1px solid #e2e8f0;border-radius:16px;padding:20px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.05)}
.b24-privacy-card h3{margin:0 0 8px;font-size:18px}
.b24-privacy-card p{margin:0 0 16px;color:#5b6b82;line-height:1.55}
.b24-privacy-card .button{min-height:42px;border-radius:10px!important;padding:0 16px!important;font-weight:700!important}
.b24-privacy-card-danger{border-color:#fecaca;background:#fffafa}
.b24-privacy-card-danger .button{background:#991b1b!important;border-color:#991b1b!important;color:#fff!important}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox{line-height:1.5}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:768px){.b24-privacy-action-grid{grid-template-columns:1fr}.b24-privacy-card{padding:16px}.b24-registration-legal-consent{padding:11px 12px}}


/* =====================================================================
   B24 v3.1.58 — single-product wishlist: TOP CENTER on every viewport.
   This final override intentionally wins over older top-left/top-right rules.
   ===================================================================== */
body.single-product .woocommerce div.product div.images,
body.single-product .woocommerce-product-gallery {
  position: relative !important;
}
body.single-product .woocommerce div.product div.images .b24-wishlist-toggle,
body.single-product .woocommerce-product-gallery .b24-wishlist-toggle {
  top: 14px !important;
  left: 50% !important;
  right: auto !important;
  margin: 0 !important;
  transform: translateX(-50%) !important;
  z-index: 45 !important;
}
body.single-product .woocommerce div.product div.images .b24-wishlist-toggle:hover,
body.single-product .woocommerce-product-gallery .b24-wishlist-toggle:hover {
  transform: translateX(-50%) scale(1.07) !important;
}
@media (max-width: 768px) {
  body.single-product .woocommerce div.product div.images .b24-wishlist-toggle,
  body.single-product .woocommerce-product-gallery .b24-wishlist-toggle {
    top: 10px !important;
    left: 50% !important;
    right: auto !important;
    width: 40px !important;
    height: 40px !important;
    line-height: 38px !important;
    transform: translateX(-50%) !important;
  }
  body.single-product .woocommerce div.product div.images .b24-wishlist-toggle:hover,
  body.single-product .woocommerce-product-gallery .b24-wishlist-toggle:hover {
    transform: translateX(-50%) scale(1.04) !important;
  }
}
/* B24 v3.1.68 — one bounded gallery layout for native WooCommerce and YITH.
   WooCommerce can be a BODY class; never require a nested .woocommerce node.
   The native gallery DOM, slide widths, transforms and click handlers stay intact. */
body.single-product div.product .b24-product-main[data-b24-product-main] {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  align-items:start !important;
  gap:clamp(24px,3vw,44px) !important;
  position:relative !important;
  clear:both !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
  box-sizing:border-box !important;
  margin:0 0 30px !important;
}
body.single-product div.product .b24-product-main[data-b24-product-main] > div.images,
body.single-product div.product .b24-product-main[data-b24-product-main] > .woocommerce-product-gallery,
body.single-product div.product .b24-product-main[data-b24-product-main] > .summary {
  float:none !important;
  clear:none !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
  align-self:start !important;
}
body.single-product div.product .b24-product-main[data-b24-product-main] > div.images,
body.single-product div.product .b24-product-main[data-b24-product-main] > .woocommerce-product-gallery {
  position:relative !important;
  inset:auto !important;
  height:auto !important;
  max-height:none !important;
  transform:none !important;
  translate:none !important;
  transition:none !important;
  overflow:visible !important;
  z-index:2 !important;
}
/* Enable only after measuring. A gallery taller than the viewport scrolls in
   normal flow, so its thumbnails are always reachable. CSS owns all scrolling. */
@media (min-width:769px) {
  body.single-product div.product .b24-product-main[data-b24-product-main] > div.b24-gallery-can-stick {
    position:sticky !important;
    top:var(--b24-gallery-top,24px) !important;
  }
}
/* A constant stage prevents thumbnail/variation changes from moving the page.
   Contain shows the ENTIRE source image, including very tall/wide uploads. */
body.single-product div.product .b24-product-main[data-b24-product-main] .b24-gallery-sized > .woocommerce-product-gallery__image,
body.single-product div.product .b24-product-main[data-b24-product-main] .b24-gallery-sized > .woocommerce-product-gallery__wrapper,
body.single-product div.product .b24-product-main[data-b24-product-main] .b24-gallery-sized > .flex-viewport {
  width:100% !important;
  height:var(--b24-gallery-stage) !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  transition:none !important;
}
body.single-product div.product .b24-product-main[data-b24-product-main] .b24-gallery-sized .flex-viewport > .woocommerce-product-gallery__wrapper,
body.single-product div.product .b24-product-main[data-b24-product-main] .b24-gallery-sized .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
  height:var(--b24-gallery-stage) !important;
  min-height:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  box-sizing:border-box !important;
}
body.single-product div.product .b24-product-main[data-b24-product-main] .b24-gallery-sized .woocommerce-product-gallery__image > a,
body.single-product div.product .b24-product-main[data-b24-product-main] .b24-gallery-sized .woocommerce-product-gallery__image > .yith_magnifier_zoom_wrap,
body.single-product div.product .b24-product-main[data-b24-product-main] .b24-gallery-sized .yith_magnifier_zoom_wrap > a.yith_magnifier_zoom {
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
body.single-product div.product .b24-product-main[data-b24-product-main] .b24-gallery-sized .woocommerce-product-gallery__image img:not(.zoomImg):not(.yith_magnifier_lens img) {
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
  box-sizing:border-box !important;
}
/* YITH's thumbnail track contains every source image. A 1500px-tall source
   must not inflate the entire track or create a gap below the main image. */
body.single-product div.product .b24-product-main[data-b24-product-main] .b24-gallery-sized > .thumbnails,
body.single-product div.product .b24-product-main[data-b24-product-main] .b24-gallery-sized > .flex-control-thumbs {
  clear:both !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:12px 0 0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
}
body.single-product div.product .b24-product-main[data-b24-product-main] .b24-gallery-sized .yith_magnifier_gallery li {
  vertical-align:top !important;
}
body.single-product div.product .b24-product-main[data-b24-product-main] .b24-gallery-sized .yith_magnifier_gallery li a {
  margin-top:0 !important;
}
body.single-product div.product .b24-product-main[data-b24-product-main] .b24-gallery-sized .yith_magnifier_gallery li img,
body.single-product div.product .b24-product-main[data-b24-product-main] .b24-gallery-sized .flex-control-thumbs li img {
  display:block !important;
  width:100% !important;
  height:72px !important;
  object-fit:contain !important;
  box-sizing:border-box !important;
}
@media (max-width:768px) {
  body.single-product div.product .b24-product-main[data-b24-product-main] {
    display:block !important;
    margin-bottom:22px !important;
  }
  body.single-product div.product .b24-product-main[data-b24-product-main] > div.images,
  body.single-product div.product .b24-product-main[data-b24-product-main] > .woocommerce-product-gallery {
    position:relative !important;
    top:auto !important;
    margin-bottom:22px !important;
  }
}

/* Compact wishlist: applies to both the public page and account endpoint. */
.b24-public-wishlist-wrap{box-sizing:border-box;width:100%;max-width:1100px;margin:0 auto;padding:20px 18px}
.b24-wishlist-page.b24-account-panel{box-sizing:border-box;margin:12px 0;padding:16px;border-radius:14px}
.b24-wishlist-page .b24-account-panel-head{align-items:center;gap:10px;margin-bottom:14px}
.b24-wishlist-page .b24-account-panel-head h2{font-size:22px}
.b24-wishlist-page .b24-wishlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.b24-wishlist-page .b24-wishlist-card{box-sizing:border-box;min-width:0;margin:0;padding:8px;border-radius:10px;box-shadow:none}
.b24-wishlist-page .b24-wishlist-image{box-sizing:border-box;width:100%;height:128px;aspect-ratio:auto;border-radius:7px;padding:6px}
.b24-wishlist-page .b24-wishlist-image img{display:block;width:100%;height:100%;max-height:100%;margin:0;object-fit:contain}
.b24-wishlist-page .b24-wishlist-name{min-height:35px;max-height:35px;margin:8px 0 4px;font-size:13px;line-height:17.5px;overflow-wrap:anywhere}
.b24-wishlist-page .b24-wishlist-price{display:block;margin:0 0 8px;font-size:14px;line-height:1.4}
.b24-wishlist-page .b24-wishlist-cart{box-sizing:border-box;min-height:36px;margin-bottom:0!important;padding:8px!important;line-height:20px!important;border-radius:7px!important;white-space:normal}
.b24-wishlist-page .b24-wishlist-remove{top:7px;right:7px;width:32px!important;height:32px!important;min-width:32px;padding:0!important;line-height:32px!important}
.b24-wishlist-page .b24-empty-state{padding:24px 12px}
@media(max-width:600px){
 .b24-public-wishlist-wrap{padding:10px}
 .b24-wishlist-page.b24-account-panel{padding:10px;margin:8px 0}
 .b24-wishlist-page .b24-account-panel-head h2{font-size:20px}
 .b24-wishlist-page .b24-wishlist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .b24-wishlist-page .b24-wishlist-card{padding:7px}
 .b24-wishlist-page .b24-wishlist-image{height:96px;padding:4px}
 .b24-wishlist-page .b24-wishlist-name{font-size:12px;line-height:17px;min-height:34px;max-height:34px}
 .b24-wishlist-page .b24-wishlist-price{font-size:13px;margin-bottom:6px}
 .b24-wishlist-page .b24-wishlist-cart{font-size:11px!important}
}

/* v3.1.81: center wishlist controls in all product cards and native/YITH galleries. */
body ul.products li.product,
body.single-product div.product div.images {
  position: relative !important;
}
body ul.products li.product .b24-wishlist-toggle[data-b24-wishlist="toggle"],
body.single-product div.product div.images .b24-wishlist-toggle[data-b24-wishlist="toggle"],
body.single-product div.product .woocommerce-product-gallery .b24-wishlist-toggle[data-b24-wishlist="toggle"] {
  position: absolute !important;
  top: 12px !important;
  bottom: auto !important;
  left: 50% !important;
  right: auto !important;
  margin: 0 !important;
  transform: translateX(-50%) !important;
  z-index: 45 !important;
}
body ul.products li.product .b24-wishlist-toggle[data-b24-wishlist="toggle"]:hover,
body.single-product div.product div.images .b24-wishlist-toggle[data-b24-wishlist="toggle"]:hover,
body.single-product div.product .woocommerce-product-gallery .b24-wishlist-toggle[data-b24-wishlist="toggle"]:hover {
  transform: translateX(-50%) scale(1.07) !important;
}

/* v3.1.83: center the gallery magnifier inside its round control. */
body.single-product div.product .woocommerce-product-gallery__trigger,
body.single-product div.product div.images .zoom-button,
body.single-product div.product div.images .b24-image-search,
body.single-product div.product div.images .b24-gallery-search {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  text-indent: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
}
/* WooCommerce draws this icon with two positioned pseudo-elements. */
body.single-product div.product .woocommerce-product-gallery__trigger::before {
  content: "" !important;
  position: absolute !important;
  box-sizing: content-box !important;
  width: 10px !important;
  height: 10px !important;
  border: 2px solid #475569 !important;
  border-radius: 50% !important;
  background: transparent !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  transform: translate(-65%, -65%) !important;
}
body.single-product div.product .woocommerce-product-gallery__trigger::after {
  content: "" !important;
  position: absolute !important;
  box-sizing: content-box !important;
  width: 2px !important;
  height: 7px !important;
  border: 0 !important;
  border-radius: 1px !important;
  background: #475569 !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  transform: translate(5px, 2px) rotate(-45deg) !important;
}
body.single-product div.product .woocommerce-product-gallery__trigger img,
body.single-product div.product .woocommerce-product-gallery__trigger svg {
  display: none !important;
}
