/**
 * Leafbridge Pro Integration Styles
 *
 * Adapted from the live highqcannabis.com Leafbridge custom CSS (v3.0.41).
 * Ported + reskinned for the new High Q dark theme.
 *
 * Color tokens (must match Tailwind config in functions.php):
 *   --hq-night       : #0c1117
 *   --hq-coral       : #e8522b
 *   --hq-rose        : #dc5a79
 *   --hq-sunset      : #f4a855
 *   --hq-gold        : #e8900a
 *   --hq-mountain-mint: #7dc3b8
 */

/* =========================================================================
   0. TAILWIND PREFLIGHT RECOVERY
   Tailwind nukes default element styles. Restore what Leafbridge relies on.
   ========================================================================= */

.leafbridge_shop_wizard_wrapper *,
.leafbridge_specific_product_filter_wrapper *,
.leafbridge_special_products_wrapper *,
.leafbridge_recently_viewed_products_wrapper *,
.lb_single_prod_page_container *,
.lb_search_products_shortcode * {
    box-sizing: border-box;
}

/* =========================================================================
   1. PRODUCT CARDS — keep white for readability on dark-theme pages
   ========================================================================= */

.leafbridge_product_card {
    display: inline-block;
    width: 100% !important;
    height: 100% !important;
    background-color: #f9f9f7;
    position: relative;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.leafbridge_product_card.lf-common {
    background-color: #f9f9f7;
    box-shadow: none !important;
    border: 1px solid rgba(0,0,0,0.12) !important;
}

.leafbridge_product_card:hover,
.leafbridge_product_card.lf-common:hover {
    background-color: #f9f9f7;
    box-shadow: 2px 4px 14px rgba(0,0,0,0.18) !important;
    filter: none;
}

/* inner padding */
.leafbridge_product_card .leafbridge_product_a {
    padding: 14px 16px 14px 16px;
}

@media (max-width: 480px) {
    .leafbridge_product_card .leafbridge_product_a {
        padding: 10px;
    }
}

/* =========================================================================
   2. PRODUCT IMAGE
   ========================================================================= */

.leafbridge_product_card img {
    width: 100%;
    height: 160px !important;
    object-fit: cover;
}

@media (max-width: 480px) {
    .leafbridge_product_card img {
        height: 120px !important;
    }
}

/* =========================================================================
   3. PRODUCT NAME
   ========================================================================= */

h5.leafbridge_product_name {
    margin-top: 6px !important;
    margin-bottom: 4px !important;
    font-family: inherit;
    min-height: 0;
}

h5.leafbridge_product_name a {
    font-size: 14px !important;
    color: #111111;
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none;
    -webkit-line-clamp: 3;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

h5.leafbridge_product_name.lf-common {
    line-height: 1.25;
}

@media (max-width: 480px) {
    h5.leafbridge_product_name a {
        font-size: 13px !important;
    }
    h5.leafbridge_product_name {
        margin-top: 4px !important;
    }
    .leafbridge_prod_box_name {
        min-height: 2px;
    }
}

@media (min-width: 481px) {
    .leafbridge_prod_box_name {
        min-height: 30px;
    }
}

/* =========================================================================
   4. BRAND NAME
   ========================================================================= */

.leafbridge_brand_name {
    margin-top: 4px !important;
    margin-bottom: 2px !important;
    font-size: 11px;
    color: #e8522b;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* =========================================================================
   5. PRICING
   ========================================================================= */

.leafbridge_product_price {
    margin-bottom: 4px;
}

.leafbridge_product_price span {
    display: inline-block;
    width: auto;
    padding: 0;
    background: transparent;
    border-radius: 0;
    font-size: 15px !important;
    font-weight: 700;
    color: #111111;
    text-align: left;
    border: none;
    margin-top: 2px !important;
}

.price_discount {
    display: flex;
    flex-direction: column;
    row-gap: 0;
}

del {
    color: #e44141;
}

/* PDP pricing */
.variations_show .leafbridge_product_price.lf-common span {
    background-color: transparent;
    color: #111111;
    font-size: 20px !important;
    margin: 0 !important;
    padding: 0;
}

.variations_show {
    margin-top: 0;
}

/* =========================================================================
   6. DISCOUNT LABELS
   ========================================================================= */

span.disc_perc,
span.disc_perc span {
    position: relative;
    top: 2px;
    background-color: #e8522b !important;
    color: #ffffff !important;
    margin-top: 0 !important;
    border-radius: 0;
    font-weight: 700;
    font-size: 11px;
    padding: 2px 5px !important;
}

.disc_perc i {
    display: none;
}

@media (max-width: 480px) {
    span.disc_perc {
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }
}

/* List view discount */
.list span.disc_perc {
    position: relative;
    padding: 4px 8px !important;
    right: 0;
    display: flex;
    justify-content: center;
}

/* =========================================================================
   7. POTENCY LABELS (card view)
   ========================================================================= */

.potency_card_view {
    flex-direction: row-reverse;
}

.potency_card_view span {
    font-size: 10px;
    background: transparent;
    color: #333;
    border: 1px solid #ccc;
    border-radius: 0;
    font-weight: 500;
    padding: 2px 5px;
}

@media (max-width: 480px) {
    .potency_card_view span {
        font-size: 9px;
    }
}

/* Potency list view */
.list .potency_list_view span {
    background: #f3f4f6;
    color: #111;
    padding: 2px 5px;
    font-weight: 600;
    border-radius: 3px;
    font-size: 11px;
}

/* Weight labels */
.lb-product-weight {
    color: #111;
    background-color: transparent;
    border: 1px solid #aaa;
    padding: 0 8px;
    height: auto;
    font-size: 10px;
    line-height: 20px;
    font-weight: 600;
    margin-right: 3px;
    margin-bottom: 3px;
}

@media (max-width: 480px) {
    .lb-product-weight { font-size: 9px; }
}

/* =========================================================================
   8. STRAIN TYPE LABELS
   ========================================================================= */

/* Remove default indicator dot */
.leafbridge_strain_type_label_indicator.lf-common {
    display: none;
}

.leafbridge_strain_type_label,
.leafbridge_strain_type_label.lf-common {
    background-color: #0c1117 !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    border-left: 0 !important;
    position: absolute;
    top: 18px;
    left: 0;
    font-size: 11px;
    color: white;
    height: 26px;
    border-radius: 0;
    justify-content: center;
    z-index: 2;
}

/* Sativa */
.leafbridge_strain_type_label.orange_label.lf-common { background-color: #91ba5e !important; }
/* Hybrid */
.leafbridge_strain_type_label.green_label.lf-common  { background-color: #e8900a !important; }
/* Indica */
.leafbridge_strain_type_label.blue_label.lf-common   { background-color: #dc5a79 !important; }

.leafbridge_strain_type_label span {
    margin-left: 0;
    margin-top: 2px;
    font-size: 11px;
}

.leafbridge_strain_type_label.green_label,
.leafbridge_strain_type_label.blue_label,
.leafbridge_strain_type_label.orange_label {
    color: #ffffff;
    position: absolute;
    top: 18px;
    left: 0;
    height: 26px;
    width: 64px;
    border-radius: 0;
    justify-content: center;
}

@media (max-width: 480px) {
    .leafbridge_strain_type_label.green_label,
    .leafbridge_strain_type_label.blue_label,
    .leafbridge_strain_type_label.orange_label {
        top: 8px;
        height: 22px;
        padding-bottom: 4px;
    }
    .leafbridge_strain_type_label span { font-size: 10px; }
}

/* Swiper slide strain labels */
.swiper-slide .leafbridge_strain_type_label.green_label,
.swiper-slide .leafbridge_strain_type_label.blue_label,
.swiper-slide .leafbridge_strain_type_label.orange_label {
    left: 0 !important;
}

/* List view strain labels — pull out of absolute positioning.
   In list view, the plugin renders .strain_potency > .leafbridge_strain_type_label
   (inside .leafbridge_product_modal). Grid view uses .lb-strain-weight instead.
   Target .strain_potency to avoid touching the grid card label. */
.strain_potency .leafbridge_strain_type_label,
.strain_potency .leafbridge_strain_type_label.lf-common,
.strain_potency .leafbridge_strain_type_label.green_label,
.strain_potency .leafbridge_strain_type_label.blue_label,
.strain_potency .leafbridge_strain_type_label.orange_label,
.strain_potency .leafbridge_strain_type_label.red_label {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
    height: 22px !important;
    display: inline-flex !important;
    flex-shrink: 0;
    border-radius: 2px;
    font-size: 10px;
    padding: 0 8px;
}

/* =========================================================================
   9. STAFF PICKS LABEL
   ========================================================================= */

.staff_picks_label {
    background-color: #f9f9f7;
    border: 1px solid #111;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    border-radius: 50%;
    height: 56px;
    width: 56px;
    text-align: center;
    position: absolute;
    right: 12px;
    top: 8px;
    z-index: 2;
    font-size: 11px;
}

.staff_picks_label p {
    color: #111;
    text-transform: uppercase;
    line-height: 1.1;
    padding-top: 2px;
}

.list .staff_picks_label {
    background: #ffffff;
    border: 1px solid #111;
    height: 26px;
    border-radius: 0;
    max-width: 250px;
}

.list .staff_picks_label p {
    color: #111;
    position: relative;
    top: 0;
}

.leafbridge_product_modal .staff_picks_label {
    left: 12px;
}

@media (max-width: 480px) {
    .staff_picks_label { right: 4px; top: 8px; height: 48px; width: 48px; font-size: 10px; }
    .swiper-slide .staff_picks_label { right: -4px; top: 4px; }
}

/* =========================================================================
   10. SPECIAL OFFER LABEL
   ========================================================================= */

.special_offer_label {
    position: absolute;
    left: 0;
    transform: none;
    top: 3%;
    z-index: 2;
    background-color: #e8900a;
    color: white;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
}

/* =========================================================================
   11. ADD TO CART BUTTON
   ========================================================================= */

.lb_prod_box_add_to_cart_wrapper.leafbridge_product_modal_add_to_cart button,
.leafbridge_product_modal_add_to_cart button {
    height: auto;
    border-radius: 0 !important;
    padding: 10px 12px;
    display: inline-block;
    text-align: center;
    background-color: #0c1117 !important;
    border: 1px solid #0c1117;
    color: #ffffff;
    margin-bottom: 4px;
    width: 100%;
    cursor: pointer;
    font-family: inherit;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    transition: background-color 0.2s, border-color 0.2s;
}

.lb_prod_box_add_to_cart_wrapper.leafbridge_product_modal_add_to_cart button:hover,
.leafbridge_product_modal_add_to_cart button:hover {
    background-color: #e8522b !important;
    border-color: #e8522b;
}

.lb_prod_box_add_to_cart_wrapper span.atc_text {
    letter-spacing: 0.04em;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
}

.lb_prod_box_bottom {
    margin-top: 4px;
}

/* Full-width ATC wrapper */
.leafbridge_product_modal_add_to_cart.lb_prod_box_add_to_cart_wrapper {
    width: 100%;
}

/* Variant select */
.lb_prod_box_add_to_cart_wrapper.leafbridge_product_modal_add_to_cart select {
    font-family: inherit;
    font-size: 12px;
    border: 1px solid #ddd;
    border-radius: 0;
    padding: 7px 10px;
    height: auto;
    background: #fff;
    color: #111;
}

@media (max-width: 480px) {
    .lb_prod_box_add_to_cart_wrapper.leafbridge_product_modal_add_to_cart button {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }
}

/* List view — dropdown, quantity input, and ATC button all same height (35px) */
.wizard_category_products_showcase.list .leafbridge_product_modal_add_to_cart select,
.wizard_category_products_showcase.list .leafbridge_product_modal_add_to_cart input.add_to_cart_count {
    height: 35px !important;
    max-height: 35px !important;
    padding: 4px 8px !important;
    font-size: 13px;
}

/* List view ATC — constrain width, restore text the plugin hides */
.wizard_category_products_showcase.list .leafbridge_product_modal_add_to_cart button {
    background-color: #0c1117 !important;
    border-color: #0c1117;
    margin-left: 4px;
    border-radius: 0 !important;
    width: auto !important;
    min-width: 130px;
    white-space: nowrap;
    padding: 10px 16px !important;
}
/* Plugin hides atc_text in list — restore it */
.wizard_category_products_showcase.list .atc_text {
    display: inline !important;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* List view: brand label should display inline, not absolute */
.list .leafbridge_brand_name {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    display: block;
}

/* List view: keep the product info column from being crushed */
.list .leafbridge_product_a {
    flex: 1 1 auto;
    min-width: 0;
}

/* List view: product name should not be hidden under badges */
.list h5.leafbridge_product_name {
    position: relative;
    z-index: 1;
}

/* =========================================================================
   12. PRODUCT DETAIL PAGE (PDP)
   ========================================================================= */

/* Product title */
.lb_prod_single_details h1 {
    margin: 0;
    text-transform: uppercase;
    font-size: 28px !important;
    font-weight: 800;
    line-height: 1.1;
    color: #111;
}

/* Potency labels PDP */
.lb_prod_single_thc_cbd span {
    background: #e8e8e8;
    color: #333;
    font-size: 13px;
    border-radius: 20px;
    padding: 6px 12px;
    font-weight: 600;
    margin-right: 8px;
    margin-bottom: 8px;
    display: inline-block;
}

.lb_prod_single_thc_cbd strong {
    font-weight: 700;
}

.lb_prod_single_thc_cbd.lb_prod_single_section {
    margin-bottom: 6px;
}

/* Effects labels PDP */
.lb_prod_single_effects span {
    display: inline-block;
    padding: 6px 12px;
    background: #e8e8e8;
    border-radius: 20px;
    font-size: 13px;
    color: #333;
    font-weight: 600;
    margin-right: 8px;
    margin-bottom: 8px;
}

/* ATC area mobile PDP */
@media (max-width: 767px) {
    .leafbridge_product_modal_add_to_cart {
        display: inline-flex;
        column-gap: 6px;
        align-items: center;
        overflow: hidden;
        width: 100%;
        row-gap: 0;
    }
    .add_to_cart_part button {
        margin: 0 !important;
        height: 48px;
        width: 90%;
    }
}

/* Quantity input PDP */
.leafbridge_product_modal_add_to_cart input.add_to_cart_count {
    max-width: 70px;
    height: 48px;
    padding: 5px 10px;
    background-color: #fff;
    max-height: 48px;
    border: 1px solid #ddd;
    border-radius: 0;
}

/* Variant select PDP */
.leafbridge_product_modal_add_to_cart select {
    border: 1px solid #ddd;
    border-radius: 0;
    width: auto;
    padding: 10px 14px;
    font-size: 14px;
    outline: none;
    height: 48px;
    background: #fff;
    color: #111;
}

select.add_to_cart_variant.variant_prod_page {
    padding-top: 12px;
}

/* Gallery thumbs */
.swiper-thumbs {
    display: grid;
    justify-content: center;
    margin-top: 8px;
}

.lb_prod_thumb_slider .swiper-slide img {
    opacity: 0.6;
    border: 2px solid #ccc;
    transition: all 0.35s ease;
    border-radius: 0;
    height: 90%;
    object-fit: cover;
}

/* Pricing on PDP */
.variations_show {
    margin-top: 0;
}

/* Offers PDP */
p.offers_title {
    font-size: 16px;
    color: #111;
    font-weight: 600;
}

div.offer_box {
    background-color: #fff;
    border: 1px solid #111;
    border-radius: 0;
    box-shadow: none;
    grid-template-columns: 1fr 138px;
}

a.shop_offer {
    color: #fff !important;
    background: #e8522b;
    border-radius: 0;
    text-transform: uppercase;
    font-weight: 600;
    white-space: nowrap;
}

div#offers_stack {
    max-width: 100% !important;
}

/* Product description */
.lb_single_prod_page_container {
    display: inline-block;
    max-width: 100%;
    width: 100%;
    min-width: 80%;
    text-align: left;
    margin-top: 0 !important;
}

/* =========================================================================
   13. PRODUCT SLIDER (leafbridge_specific_product_filter)
   ========================================================================= */

/* Swiper slide sizing */
.leafbridge_specific_product_filter_wrapper .lb_specific_prods_slider_wrapper .lb_specific_prods_slider_inner .swiper-slide {
    max-width: 280px;
    min-width: 220px;
    margin-right: 12px !important;
    box-shadow: none !important;
    border: 0;
}

.leafbridge_specific_product_filter_wrapper .lb_specific_prods_slider_wrapper .lb_specific_prods_slider_inner .leafbridge_product_card {
    width: 100% !important;
    height: 100% !important;
}

@media (min-width: 720px) {
    .leafbridge_specific_product_filter_wrapper .lb_specific_prods_slider_wrapper .lb_specific_prods_slider_inner .swiper-slide {
        max-width: 260px;
        margin-right: 12px !important;
    }
}

@media (max-width: 480px) {
    .leafbridge_specific_product_filter_wrapper .lb_specific_prods_slider_wrapper .lb_specific_prods_slider_inner .swiper-slide {
        margin-right: 8px !important;
        min-width: 160px !important;
        max-width: 160px !important;
        padding: 0 !important;
    }
    .leafbridge_specific_product_filter_wrapper .lb_specific_prods_slider_wrapper .lb_specific_prods_slider_inner .leafbridge_product_card {
        max-width: 100% !important;
    }
    .swiper-slide .leafbridge_product_card .leafbridge_product_a {
        padding: 8px !important;
    }
}

/* ── Slider nav arrows — tall, narrow chevrons on the slider EDGES ──────────
 * Previous design was a fat round button that floated over the card area and
 * collided with Add-To-Cart buttons. New design: 28px wide × 80px tall, dark
 * glass, perched just inside the slider's left/right edges, vertically
 * centered on the cards, hidden when there's nothing more to scroll to. */
.leafbridge_specific_product_filter_wrapper {
    position: relative;
}
.leafbridge_specific_product_filter_wrapper .swipernav_wrapper {
    position: static !important;
    display: contents !important;
}
.leafbridge_specific_product_filter_wrapper .swipernav_btn,
.leafbridge_specific_product_filter_wrapper .swiper-button-prev,
.leafbridge_specific_product_filter_wrapper .swiper-button-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 28px !important;
    height: 88px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: rgba(15,10,31,0.55) !important;
    background-color: rgba(15,10,31,0.55) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    border-radius: 0 !important;
    color: rgba(255,255,255,0.7) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 5 !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: background-color 0.15s, color 0.15s, border-color 0.15s, opacity 0.15s !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}
.leafbridge_specific_product_filter_wrapper .swipernav_btn:hover,
.leafbridge_specific_product_filter_wrapper .swiper-button-prev:hover,
.leafbridge_specific_product_filter_wrapper .swiper-button-next:hover {
    background: #ffa810 !important;
    background-color: #ffa810 !important;
    color: #0f0a1f !important;
    border-color: #ffa810 !important;
}
/* Position OUTSIDE the card area — into the section padding so arrows don't
 * overlay any product card. -40px puts them well clear of the leftmost /
 * rightmost cards (section padding is 24–64px depending on breakpoint). */
.leafbridge_specific_product_filter_wrapper .swiper-button-prev,
.leafbridge_specific_product_filter_wrapper .swipernav_btn.prev,
.leafbridge_specific_product_filter_wrapper .swipernav_btn:first-child {
    left: -40px !important;
    right: auto !important;
}
.leafbridge_specific_product_filter_wrapper .swiper-button-next,
.leafbridge_specific_product_filter_wrapper .swipernav_btn.next,
.leafbridge_specific_product_filter_wrapper .swipernav_btn:last-child {
    right: -40px !important;
    left: auto !important;
}
/* On smaller screens the section padding shrinks — tighten the offset so
 * arrows don't clip off-screen */
@media (max-width: 768px) {
    .leafbridge_specific_product_filter_wrapper .swiper-button-prev,
    .leafbridge_specific_product_filter_wrapper .swipernav_btn:first-child { left: -12px !important; }
    .leafbridge_specific_product_filter_wrapper .swiper-button-next,
    .leafbridge_specific_product_filter_wrapper .swipernav_btn:last-child { right: -12px !important; }
}
/* The slider section must allow overflow so the arrows sit in the section
 * padding gutters and don't get clipped by `overflow: hidden` on inner swiper */
.lb-homepage-slider { overflow: visible !important; }
.lb-homepage-slider .leafbridge_specific_product_filter_wrapper { overflow: visible !important; }
/* Swiper's default chevron icon — use a thin caret instead */
.leafbridge_specific_product_filter_wrapper .swiper-button-prev::after,
.leafbridge_specific_product_filter_wrapper .swiper-button-next::after {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: inherit !important;
    line-height: 1 !important;
}
/* Hide arrows when there's nothing more to scroll (start/end of slider) */
.leafbridge_specific_product_filter_wrapper .swiper-button-disabled,
.leafbridge_specific_product_filter_wrapper .swipernav_btn.swiper-button-disabled {
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
}
/* Override the legacy `.swiper-button-next/prev { display: none }` rule
 * so our new arrows are actually visible */
.lb-homepage-slider .swiper-button-next,
.lb-homepage-slider .swiper-button-prev,
.leafbridge_specific_product_filter_wrapper .swiper-button-next,
.leafbridge_specific_product_filter_wrapper .swiper-button-prev {
    display: flex !important;
}

/* Slider title */
.leafbridge_specific_product_filter_wrapper h3.shortcode_title {
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 16px;
    color: inherit;
    font-family: inherit;
}

/* Placeholder skeleton cards */
.swiper-slide.placeholder-template {
    max-height: 460px;
    margin-right: 14px;
    opacity: 0.75;
}

@media (max-width: 480px) {
    .swiper-slide.placeholder-template { margin-right: 8px; }
    .cover-image-skeleton { max-width: 120px; height: 100px; min-width: 120px; }
}

.skeleton-loader { margin-bottom: 8px; }

@keyframes loading {
    0%   { background-position: 200% 0; }
    20%  { background-position: -200% 0; }
    100% { background-position: -200% 0; }
}

/* =========================================================================
   14. FULL SHOP PAGE (leafbridge_shop_wizard)
   ========================================================================= */

/* Container */
.non_block_theme .wizard_prods_wrapper.wizard_prods_categories_wrapper {
    display: inline-block;
    max-width: 100%;
    margin-top: 0 !important;
}

.wizard_prods_categories_wrapper {
    display: inline-block;
    max-width: 100%;
    margin-top: 0 !important;
}

/* Grid layout: filter col + products col */
.wizard_prods_inner {
    grid-template-columns: 1fr 4fr;
}

@media (max-width: 1024px) {
    .wizard_prods_inner {
        display: inline-grid;
        grid-template-columns: 1fr !important;
    }
}

/* Product grid spacing */
.wizard_prods_inner .wizard_prods_view .wizard_product_section .wizard_category_products_showcase {
    column-gap: 10px;
    row-gap: 10px;
}

/* =========================================================================
   15. FILTER SIDEBAR
   ========================================================================= */

/* Filter panel bg on mobile open */
.wizard_prods_inner .wizard_prods_categories.open_cats {
    left: 0;
    z-index: 9999;
    background-color: #f8f8f8;
}

/* Filter section boxes */
.lb_prod_filter_attrs {
    box-shadow: none;
}

.lb_prod_filter_attr_box {
    border-top: 1px solid #e5e5e5 !important;
    border: 1px solid #111 !important;
    margin-bottom: 10px !important;
    padding: 20px !important;
    min-height: 70px !important;
    background: #fff;
}

.specials_filter_attr_box {
    border: 1px solid #111;
    padding: 16px 20px;
    margin-bottom: 10px;
    background: #fff;
    min-height: 70px;
}

.specials_filter_attr_title {
    font-size: 15px;
    font-weight: 600;
    color: #111;
}

/* Filter titles */
.lb_prod_filter_attr_box .lb_prod_filter_attr_title {
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    color: #111 !important;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}

/* Filter toggle button (mobile) */
.class_toggle_category {
    margin-top: 0;
    max-width: fit-content;
    background-color: #e8900a;
    gap: 5px;
    color: #fff;
    padding: 6px 12px;
    border: 1px solid #111;
    font-weight: 600;
    margin-bottom: 10px;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.class_toggle_category i { color: #fff; }

/* Clear filter buttons */
button.lb_filter_reset {
    background-color: transparent;
    border: none;
    padding: 0;
    font-size: 10px;
    top: 20px;
    cursor: pointer;
}

span.fltrclr {
    font-family: inherit;
    color: #496257;
    text-decoration: underline;
    text-underline-offset: 2px;
}

button.lb_filter_reset:hover { background-color: transparent; }

/* Selected attribute chips */
.selected-attribute-item {
    background: transparent;
    border: 1px solid #111;
}

div#selectedAttributesDisplay {
    margin-bottom: 10px !important;
}

@media (min-width: 1280px) {
    div#selectedAttributesDisplay {
        position: absolute;
        left: 0;
        top: 2px;
        z-index: 2;
    }
}

/* =========================================================================
   16. SEARCH BAR (inline on shop page)
   ========================================================================= */

#products_search_input,
input#products_search_input {
    font-size: 14px;
    padding: 10px 18px;
    border: 1px solid #000 !important;
    border-radius: 0 !important;
    width: 80%;
    max-height: 48px;
    background-color: #fff;
    color: #111;
}

.lb_search_products_input_wrapper #products_search_button {
    border-radius: 0;
    background-color: #e8900a;
    border: 1px solid #000;
    border-left: 0;
    padding: 14px;
    cursor: pointer;
    color: #fff;
}

button#products_clear_search_button {
    color: #fff;
    background-color: #000;
    border: 1px solid #000;
    border-radius: 0 !important;
    padding: 14px;
    cursor: pointer;
}

.lb_search_products {
    margin-bottom: 16px;
}

/* =========================================================================
   17. SEARCH BAR SHORTCODE (standalone [leafbridge-search-bar])
   ========================================================================= */

.lb_search_products_shortcode {
    margin-bottom: 0;
}

input.products_search_input_shortcode {
    border-radius: 0 !important;
    border: 1px solid #111 !important;
    background: #fff;
    color: #111;
    font-size: 15px;
    padding: 10px 18px;
}

button.products_clear_search_button_shortcode {
    color: #fff;
    background-color: #0c1117;
    border: 1px solid #fff;
    border-left: 0;
    border-radius: 0 !important;
    padding: 12px;
    cursor: pointer;
}

button.products_search_button_shortcode {
    background: #e8900a;
    border: 1px solid #fff;
    border-left: 0;
    border-radius: 0 !important;
    padding: 12px;
    cursor: pointer;
    color: #fff;
}

/* =========================================================================
   18. SORT + GRID/LIST TOGGLES
   ========================================================================= */

.wizard_sort_wrapper {
    justify-content: flex-end;
}

.wizard_controls_wrapper {
    display: inline-block;
}

@media (min-width: 767px) {
    .wizard_toggle_list_grid { margin-left: 10px; }
}

.wizard_toggle_list_grid {
    padding: 0 !important;
    height: 40px;
}

.wizard_sort_wrapper .wizard_sort_by {
    font-size: 15px;
    background: #fff;
}

.wizard_sort_wrapper .wizard_sort_by select {
    border: 1px solid #111;
    border-radius: 0;
    padding: 8px 10px;
    max-height: 40px;
    background: #fff;
    color: #111;
    font-family: inherit;
    font-size: 14px;
    cursor: pointer;
}

.list_grid_buttons_wrapper button {
    padding: 9px 10px;
    font-size: 14px;
    line-height: 1;
    height: 100%;
    border: 1px solid #111;
    border-radius: 0;
    background: #999;
    width: 64px;
    color: #fff;
    cursor: pointer;
    text-decoration: none;
}

.list_grid_buttons_wrapper button:hover,
.list_grid_buttons_wrapper button.selected_view {
    background: #e8900a;
    border-color: #e8900a;
}

@media (max-width: 480px) {
    .wizard_sort_by { max-width: 55%; }
    .wizard_sort_wrapper { display: inline-flex; justify-content: space-between; }
    .wizard_controls_wrapper { display: inline-flex; justify-content: space-between; width: 100%; }
}

#wizard_sort_wrapper h1 { display: none; }

/* =========================================================================
   19. PAGINATION / BREADCRUMBS
   ========================================================================= */

.lb_pagination_wrapper .pagination_button.current_page a,
.lb_pagination_wrapper .pagination_button a:hover {
    color: #e8522b;
    border-bottom: 1px solid currentColor;
}

.lb_pagination_wrapper .pagination_button a {
    display: inline-block;
    text-decoration: none !important;
    font-weight: 600;
    font-size: 14px;
    color: #111;
    font-family: inherit;
    border-bottom: 1px solid transparent;
}

.specials_tab_content {
    padding-top: 0;
}

@media (max-width: 480px) {
    .pagination_button a { font-size: 13px !important; }
    .lb_pagination_wrapper .pagination_button::after { font-size: 8px; margin-top: 2px; margin-bottom: 8px; }
    .lb_pagination_wrapper { margin-bottom: 8px !important; }
}

/* =========================================================================
   20. FLOATING CART
   ========================================================================= */

#floating_wizard_button {
    height: 80px;
}

#floating_wizard_button.bottom-right {
    top: auto;
    bottom: 20px;
    right: 20px;
    left: auto;
    transform: none;
    border-radius: 0;
}

#floating_wizard_button #open_the_cart {
    background: #0c1117 !important;
    border: 3px solid #fff !important;
    border-radius: 50%;
    width: 72px;
    height: 72px;
    min-width: auto !important;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px !important;
    cursor: pointer;
    transition: background-color 0.2s;
}

#floating_wizard_button #open_the_cart:hover {
    background: #e8522b !important;
}

/* Hide reset button */
#floating_wizard_button #reset_retailer_selection,
#floating_wizard_button #reset_retailer_selection_v2,
#reset_retailer_selection {
    display: none !important;
}

/* Cart drawer */
div.floating_cart_container div.floating_cart_header {
    display: flex;
    justify-content: space-between;
    background: #0c1117;
    padding: 12px 16px;
    align-items: center;
    color: #fff;
}

div.floating_cart_container div.floating_cart_header h3 {
    font-size: 17px;
    font-weight: 600;
    padding: 0;
    margin: 0;
    font-family: inherit;
}

.floating_cart_header {
    background-color: #0c1117 !important;
}

#close_floating_cart {
    background-color: transparent;
    font-size: 18px !important;
    border: none;
    cursor: pointer;
    color: #fff;
}

i.fa-solid.fa-xmark { color: #fff; }

/* Cart checkout button */
.floating_cart_wrapper .floating_cart_inner .floating_cart_container .floating_cart_footer a {
    background: #0c1117;
    border-radius: 0;
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.2s;
}

.floating_cart_wrapper .floating_cart_inner .floating_cart_container .floating_cart_footer a:hover {
    background: #e8900a !important;
}

.floating_cart_wrapper .floating_cart_inner .floating_cart_container .floating_cart_footer_wrapper .lb-update_cart_qts-btn button {
    background: #111;
    border-radius: 0;
    color: #fff;
    cursor: pointer;
    transition: background-color 0.2s;
}

/* =========================================================================
   21. SPECIALS PAGE (leafbridge-special-products)
   ========================================================================= */

/* Specials tab navigation */
.leafbridge_special_products_wrapper .leafbridge_special_products_inner .leafbridge_specials_tab_wrapper .specials_tabs .specials_tab {
    display: inline-flex;
    font-family: inherit;
    font-size: inherit;
    width: 100%;
    cursor: pointer;
    padding: 14px;
    text-align: center;
    background-color: #0c1117;
    border: 1px solid rgba(255,255,255,0.12);
    text-decoration: none;
    color: #fff;
    border-radius: 0;
    flex-flow: wrap;
    align-items: center;
    justify-content: center;
    min-height: 90px;
    transition: all 0.25s ease;
    background-size: cover;
    position: relative;
}

.leafbridge_special_products_wrapper .leafbridge_special_products_inner .leafbridge_specials_tab_wrapper .specials_tabs .specials_tab::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-color: rgba(0,0,0,0.5);
    border-radius: 0;
}

.leafbridge_special_products_wrapper .leafbridge_special_products_inner .leafbridge_specials_tab_wrapper .specials_tabs .specials_tab .special_title {
    text-shadow: 2px 1px 5px rgba(0,0,0,0.8);
    position: relative;
    z-index: 1;
}

.leafbridge_special_products_wrapper .leafbridge_special_products_inner .leafbridge_specials_tab_wrapper .specials_tabs .specials_tab:hover,
.leafbridge_special_products_wrapper .leafbridge_special_products_inner .leafbridge_specials_tab_wrapper .specials_tabs .specials_tab.active_tab {
    border: 1px solid rgba(255,255,255,0.6);
    box-shadow: 2px 2px 8px rgba(0,0,0,0.5);
    background: #0c1117;
    background-size: cover;
}

.specials_tabs {
    margin-bottom: 28px;
}

/* Specials tab new cards */
.leafbridge_special_products_wrapper .leafbridge_special_products_inner .leafbridge_specials_tab_wrapper .specials_tabs_new .specials_tab_new {
    background-image: none !important;
    background-color: #0c1117 !important;
    color: #fff !important;
    border: 2px solid rgba(255,255,255,0.15) !important;
    border-radius: 0 !important;
}

.specials_tab_new:hover {
    color: #fff !important;
    background-color: #1a2130 !important;
}

/* View more button */
.specials_view_more_wrapper a {
    background-color: #e8522b;
    padding: 12px 22px;
    border: 1px solid #fff;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
}

div#specials_tab_content {
    padding-top: 0;
}

/* =========================================================================
   22. POS TAGS (hide labels)
   ========================================================================= */

.pos_tags_view { display: none; }

/* =========================================================================
   23. RETAILER LINKING
   ========================================================================= */

.available-retailer-name {
    background-color: #fff;
    border-color: #111;
    border-radius: 0;
    font-weight: 600;
    text-transform: uppercase;
    grid-template-columns: 4fr 138px;
    box-shadow: none;
    font-size: 14px;
}

a.retailer-link {
    background: #e8522b;
    border-radius: 0;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
}

/* Hide med/rec toggle */
.menu-type-dropdown { display: none; }

/* Hide "see more" */
span.available_locations_seemore { display: none; }

@media (max-width: 480px) {
    .available-retailer-name { font-size: 13px; }
}

/* =========================================================================
   24. QUICK VIEW MODAL
   ========================================================================= */

.leafbridge_product_modal {
    border-radius: 0;
}

i.fa-solid.fa-eye { line-height: 1; }

/* =========================================================================
   25. ERROR / MISC
   ========================================================================= */

.lb-error-box { display: none; }

/* Fix icon color inheritance (Surfside) */
i { color: inherit; }

/* Fix h1/h2 line-height from Tailwind reset */
h1 { line-height: normal; }
h2 { line-height: normal; }

/* Award icon color */
i.fa-solid.fa-award { color: #496257; }

/* THC reverse order on card */
.potency_card_view { flex-direction: row-reverse; }

/* =========================================================================
   26. HOMEPAGE SLIDERS  (.lb-homepage-slider)
   Dark-theme context wrapper for product sliders on the homepage and
   category pages. Leafbridge renders white cards inside these wrappers.
   ========================================================================= */

.lb-homepage-slider {
    position: relative;
}

/* Give the swiper container breathing room */
.lb-homepage-slider .leafbridge_specific_product_filter_wrapper {
    padding-bottom: 8px;
}

/* Extend the swiper slightly beyond its container for the nav arrows */
.lb-homepage-slider .lb_specific_prods_slider_wrapper {
    overflow: visible;
}

/* Ensure swiper clips to avoid horizontal page scroll */
.lb-homepage-slider .lb_specific_prods_slider_inner {
    overflow: hidden;
}

/* Nav button vertical centering — image is ~160px, card padding ~110px */
.lb-homepage-slider .swipernav_wrapper .swipernav_btn {
    top: 50%;
    transform: translateY(-50%);
}

/* Pagination dots — white on dark backgrounds */
.lb-homepage-slider .swiper-pagination-bullet {
    background: rgba(255,255,255,0.3);
    opacity: 1;
}
.lb-homepage-slider .swiper-pagination-bullet-active {
    background: #e8900a;
}

/* Slider title color on dark bg */
.lb-homepage-slider h3.shortcode_title {
    color: #ffffff;
}

/* =========================================================================
   27. PRODUCT DETAIL PAGE (PDP) — white background context
   The PDP renders inside a white section (.bg-white). Override card colors
   so Leafbridge's output looks correct on a light background.
   ========================================================================= */

/* Breadcrumbs — Leafbridge renders these inside a white context on PDP */
.lb-breadcrumbs-wrapper {
    font-size: 12px;
    color: rgba(255,255,255,0.5);
    padding-top: 4px;
}

.lb-breadcrumbs-wrapper a {
    color: rgba(255,255,255,0.5);
    text-decoration: none;
}

.lb-breadcrumbs-wrapper a:hover {
    color: rgba(255,255,255,0.8);
}

/* PDP section — Leafbridge outputs on white, so reset any dark overrides */
.bg-white .leafbridge_product_card,
.bg-white .leafbridge_product_card.lf-common {
    border: 1px solid #e5e5e5 !important;
    box-shadow: none !important;
}

.bg-white h5.leafbridge_product_name a {
    color: #111;
}

.bg-white .leafbridge_brand_name {
    color: #e8522b;
}

/* =========================================================================
   28. CATEGORY PAGE — quick-link pill rail
   ========================================================================= */

/* Hide scrollbar on the category pill rail (webkit + firefox) */
.scrollbar-hide::-webkit-scrollbar { display: none; }
.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }

/* =========================================================================
   29. SHOP PAGE — search bar positioning
   ========================================================================= */

/* Leaf bridge search bar shortcode — full width on shop page */
.lb_search_products_shortcode {
    max-width: 100%;
    width: 100%;
}

input.products_search_input_shortcode {
    width: calc(100% - 140px);
    min-width: 200px;
}

/* =========================================================================
   30. RECENTLY VIEWED PRODUCTS
   ========================================================================= */

.leafbridge_recently_viewed_products_wrapper {
    position: relative;
}

.leafbridge_recently_viewed_products_wrapper h3.shortcode_title {
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 12px;
}

/* Hide recently viewed if empty (Leafbridge shows it anyway) */
.leafbridge_recently_viewed_products_wrapper:empty {
    display: none;
}
