/* =========================================================
   BLACK KEY REWARDS
   CLEAN MASTER CUSTOM CSS — INTER / #00D99B
   ========================================================= */


/* =========================================================
   0. GLOBAL DESIGN SYSTEM
   ========================================================= */

:root {
    /* Brand colours */
    --bk-green: #00D99B;
    --bk-black: #090909;
    --bk-panel: #0B0B0B;
    --bk-field: #111111;
    --bk-border: #2A2A2A;
    --bk-border-light: #333333;
    --bk-white: #FFFFFF;
    --bk-grey: #B5B5B5;
    --bk-light-grey: #D0D0D0;
    --bk-muted: #777777;

    /* Brand typography */
    --bk-font-heading: "Inter", Arial, sans-serif;
    --bk-font-body: "Inter", Arial, sans-serif;
}



/* Global typography: Black Key uses Inter throughout. */
body,
button,
input,
select,
textarea,
.elementor-widget,
.woocommerce,
.woocommerce-page {
    font-family: "Inter", Arial, sans-serif !important;
}

/* =========================================================
   1. SINGLE COMPETITION / PRODUCT PAGE
   ========================================================= */

/* ---------------------------------------------------------
   1.1 Base typography
   --------------------------------------------------------- */

.single-product {
    font-family: var(--bk-font-body) !important;
}

.single-product .summary .product_title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    margin: 0 0 12px !important;
    padding: 0 !important;

    font-family: var(--bk-font-heading) !important;
    font-size: 38px !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    text-transform: none !important;

    color: var(--bk-white) !important;
}

.single-product .summary p.price {
    margin: 0 0 12px !important;
    font-family: var(--bk-font-body) !important;
}

.single-product .summary p.price,
.single-product .summary p.price .woocommerce-Price-amount {
    color: var(--bk-white) !important;
    font-size: 24px !important;
    font-weight: 600 !important;
}

.single-product .summary .ast-shipping-text,
.single-product .woocommerce-breadcrumb {
    display: none !important;
}

.single-product .woocommerce-product-details__short-description {
    margin: 0 0 24px !important;

    font-family: var(--bk-font-body) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;

    color: var(--bk-grey) !important;
}

.single-product .woocommerce-product-details__short-description p {
    margin: 0 !important;
}


/* ---------------------------------------------------------
   1.2 Product image / gallery
   --------------------------------------------------------- */

.single-product .woocommerce-product-gallery {
    position: relative !important;
    padding-bottom: 0 !important;
}

.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image a,
.single-product .woocommerce-product-gallery__image:hover,
.single-product .woocommerce-product-gallery__image a:hover,
.single-product .woocommerce-product-gallery img {
    background: var(--bk-panel) !important;
}


/* ---------------------------------------------------------
   1.3 Countdown overlay on product image
   --------------------------------------------------------- */

.single-product .woocommerce-product-gallery .rfwc-countdown-wrapper {
    position: absolute !important;
    left: 50% !important;
    bottom: 6px !important;
    transform: translateX(-50%) !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 10px 14px 12px !important;

    background: rgba(5, 5, 5, 0.96) !important;
    border: 1px solid var(--bk-green) !important;
    border-radius: 9px !important;
    box-shadow: none !important;

    z-index: 20 !important;
}

.single-product .woocommerce-product-gallery .rfwc-countdown-label {
    margin: 0 0 8px !important;
    padding: 0 !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;

    font-family: var(--bk-font-body) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.7px !important;
    text-transform: uppercase !important;
    text-align: center !important;

    color: var(--bk-white) !important;
}

.single-product .woocommerce-product-gallery .rfwc-countdown {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;

    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .woocommerce-product-gallery .rfwc-countdown-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    width: 58px !important;
    min-width: 58px !important;
    height: 66px !important;
    min-height: 66px !important;

    padding: 0 !important;

    background: var(--bk-green) !important;
    border: none !important;
    border-radius: 7px !important;
    box-shadow: none !important;
}

.single-product .woocommerce-product-gallery .rfwc-countdown-value {
    font-family: var(--bk-font-body) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    color: var(--bk-white) !important;
}

.single-product .woocommerce-product-gallery .rfwc-countdown-unit {
    margin-top: 6px !important;

    font-family: var(--bk-font-body) !important;
    font-size: 9px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: 0.3px !important;

    color: var(--bk-white) !important;
}


/* ---------------------------------------------------------
   1.4 Ticket selector / purchase area
   Current stable layout: selector above full-width button
   --------------------------------------------------------- */

.single-product form.cart {
    display: block !important;
    width: 100% !important;
}

/* PHP snippet may wrap quantity + button in this element. */
.single-product .bk-purchase-row {
    display: block !important;
    width: 100% !important;
}

.single-product .rfwc-quantity-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 18px !important;

    width: auto !important;
    margin: 28px 0 26px !important;
    padding: 0 !important;

    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.single-product .rfwc-quantity-label {
    margin: 0 !important;

    font-family: var(--bk-font-body) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.3px !important;
    white-space: nowrap !important;

    color: var(--bk-white) !important;
}

.single-product .rfwc-quantity-wrapper .quantity {
    margin: 0 !important;
    padding: 0 !important;
}

.single-product #rfwc-ticket-qty {
    width: 76px !important;
    height: 50px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: var(--bk-panel) !important;
    color: var(--bk-white) !important;

    border: 1px solid var(--bk-green) !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    outline: none !important;

    font-family: var(--bk-font-body) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-align: center !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease !important;
}

.single-product #rfwc-ticket-qty:hover,
.single-product #rfwc-ticket-qty:focus {
    background: var(--bk-green) !important;
    color: #000000 !important;
    border-color: var(--bk-green) !important;
    box-shadow: none !important;
}

.single-product form.cart .single_add_to_cart_button {
    display: block !important;
    width: 100% !important;
    min-height: 58px !important;

    margin: 0 0 10px !important;
    padding: 0 20px !important;

    background: var(--bk-panel) !important;
    color: var(--bk-white) !important;

    border: 1px solid var(--bk-green) !important;
    border-radius: 6px !important;
    box-shadow: none !important;

    font-family: var(--bk-font-body) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.4px !important;
    text-transform: uppercase !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease !important;
}

.single-product form.cart .single_add_to_cart_button:hover {
    background: var(--bk-green) !important;
    color: #000000 !important;
    border-color: var(--bk-green) !important;
}

.single-product .rfwc-max-tickets-notice {
    display: block !important;
    width: 100% !important;

    margin: 0 0 18px !important;
    padding: 0 !important;

    font-family: var(--bk-font-body) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    text-align: left !important;

    color: var(--bk-muted) !important;
}


/* ---------------------------------------------------------
   1.5 Ticket sales progress
   --------------------------------------------------------- */

.single-product .rfwc-progress-wrapper {
    margin-top: 30px !important;
}

.single-product .rfwc-progress-bar {
    height: 14px !important;

    background: #151515 !important;
    border: 1px solid var(--bk-border-light) !important;
    border-radius: 999px !important;

    overflow: hidden !important;
    box-shadow: none !important;
}

.single-product .rfwc-progress-fill {
    height: 100% !important;
    background: var(--bk-green) !important;
    border-radius: 999px !important;
}

.single-product .rfwc-progress-text {
    display: flex !important;
    justify-content: space-between !important;

    margin-top: 9px !important;

    font-family: var(--bk-font-body) !important;
}

.single-product .rfwc-progress-text span {
    color: var(--bk-grey) !important;
    font-size: 15px !important;
}


/* ---------------------------------------------------------
   1.6 Product description
   --------------------------------------------------------- */

.single-product .bk-product-description {
    width: 100% !important;

    margin: 24px 0 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: none !important;

    font-family: var(--bk-font-body) !important;
}

.single-product .bk-product-description h2 {
    margin: 0 0 10px !important;

    font-family: var(--bk-font-body) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;

    color: var(--bk-green) !important;
}

.single-product .bk-product-description p,
.single-product .bk-product-description li {
    font-family: var(--bk-font-body) !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: #C5C5C5 !important;
}

.single-product .bk-product-description p {
    margin: 0 0 12px !important;
}

.single-product .bk-product-description ul,
.single-product .bk-product-description ol {
    margin: 0 0 16px 20px !important;
}

.single-product .bk-product-description strong {
    color: var(--bk-light-grey) !important;
}


/* ---------------------------------------------------------
   1.7 Hide unused raffle / WooCommerce sections
   --------------------------------------------------------- */

.single-product .rfwc-gift-toggle,
.single-product .rfwc-prize-info,
.single-product .woocommerce-tabs {
    display: none !important;
}


/* =========================================================
   2. RAFFLE PLUGIN COMPETITION CARDS
   Shortcode output: .rfwc-card
   ========================================================= */

.rfwc-cards-grid {
    gap: 18px !important;
}

.rfwc-card {
    min-height: 0 !important;

    background: var(--bk-black) !important;
    color: var(--bk-white) !important;

    border: 1px solid #292929 !important;
    border-radius: 4px !important;
    overflow: hidden !important;

    font-family: var(--bk-font-body) !important;

    transition:
        border-color 0.25s ease,
        transform 0.25s ease !important;
}

.rfwc-card .rfwc-card-body {
    padding: 12px 14px 14px !important;
    background: var(--bk-black) !important;
    text-align: left !important;
}

.rfwc-card-image {
    height: 180px !important;
    overflow: hidden !important;
    background: var(--bk-black) !important;
}

.rfwc-card-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}

.rfwc-card .rfwc-card-title,
.rfwc-card .rfwc-card-title a {
    margin: 0 0 4px !important;

    font-family: var(--bk-font-heading) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-align: left !important;

    color: var(--bk-white) !important;

    transition: color 0.25s ease !important;
}

.rfwc-card .rfwc-card-price {
    margin: 12px 0 10px !important;

    font-family: var(--bk-font-body) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    text-align: center !important;

    color: var(--bk-white) !important;
}

.rfwc-card .rfwc-countdown-compact {
    margin: 8px 0 !important;

    font-family: var(--bk-font-body) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
}

.rfwc-card .rfwc-card-prize {
    display: none !important;
}

.rfwc-cards-grid .rfwc-card .rfwc-card-body a.rfwc-card-button {
    display: block !important;
    width: 100% !important;

    padding: 10px 12px !important;

    background: transparent !important;
    color: var(--bk-white) !important;

    border: 1px solid var(--bk-green) !important;
    border-radius: 4px !important;
    box-shadow: none !important;

    font-family: var(--bk-font-body) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.4px !important;
    text-align: center !important;
    text-transform: uppercase !important;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease !important;
}

.rfwc-card:hover {
    border-color: var(--bk-green) !important;
    transform: translateY(-2px) !important;
}

.rfwc-card:hover .rfwc-card-title,
.rfwc-card:hover .rfwc-card-title a {
    color: var(--bk-green) !important;
}

.rfwc-cards-grid .rfwc-card .rfwc-card-body a.rfwc-card-button:hover,
.rfwc-cards-grid .rfwc-card .rfwc-card-body a.rfwc-card-button:focus {
    background: var(--bk-green) !important;
    color: #000000 !important;
    border-color: var(--bk-green) !important;
}


/* =========================================================
   3. CUSTOM BLACK KEY COMPETITION CARDS
   ========================================================= */

/* ---------------------------------------------------------
   3.1 Grid
   --------------------------------------------------------- */

.bk-competition-grid {
    display: grid;
    grid-template-columns: repeat(var(--bk-grid-columns, 4), minmax(0, 1fr));
    gap: 16px;

    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}


/* ---------------------------------------------------------
   3.2 Card structure
   --------------------------------------------------------- */

.bk-competition-card {
    display: flex;
    flex-direction: column;

    width: 100%;
    min-width: 0;
    height: 100%;

    background: var(--bk-black);
    color: var(--bk-white);

    border: 1px solid var(--bk-border-light);
    border-radius: 4px;
    overflow: hidden;

    font-family: var(--bk-font-body);

    transition:
        border-color 0.25s ease,
        transform 0.25s ease;
}

.bk-competition-image {
    display: block;
    height: 260px;

    overflow: hidden;
    background: var(--bk-black);
    border-bottom: 1px solid #1F1F1F;
}

.bk-competition-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.bk-competition-content {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 0 !important;

    padding: 12px 14px 14px;
}


/* ---------------------------------------------------------
   3.3 Typography / information
   --------------------------------------------------------- */

.bk-competition-title {
    min-height: 0 !important;
    margin: 0 0 4px !important;

    font-family: var(--bk-font-heading);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.15;

    color: var(--bk-white);

    transition: color 0.25s ease;
}

.bk-competition-description {
    min-height: 0 !important;
    margin: 0 0 12px !important;
    padding: 0 !important;

    font-family: var(--bk-font-body);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;

    color: var(--bk-grey);
}

.bk-ticket-count {
    margin: 0 0 2px !important;
    padding: 0 !important;

    font-family: var(--bk-font-body);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;

    color: var(--bk-white);
}

.bk-ticket-label {
    margin: 0 0 7px !important;
    padding: 0 !important;

    font-family: var(--bk-font-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-transform: uppercase;

    color: var(--bk-green);
}

.bk-progress-bar {
    width: 100%;
    height: 8px;

    margin-bottom: 12px;

    background: #1A1A1A;
    border-radius: 999px;
    overflow: hidden;
}

.bk-progress-fill {
    height: 100%;
    background: var(--bk-green);
    border-radius: 999px;
    transition: width 0.3s ease;
}

.bk-competition-price {
    margin: auto 0 10px;

    font-family: var(--bk-font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.2px;
    text-align: center;

    color: var(--bk-white);
}


/* ---------------------------------------------------------
   3.4 Enter button
   --------------------------------------------------------- */

.bk-competition-button {
    display: block;
    width: 100%;

    margin-top: 0;
    padding: 10px 12px;

    background: transparent;
    color: var(--bk-white);

    border: 1px solid var(--bk-green);
    border-radius: 4px;

    font-family: var(--bk-font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.4px;
    text-align: center;
    text-transform: uppercase;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease;
}

.bk-competition-card:hover {
    border-color: var(--bk-green);
    transform: translateY(-2px);
}

.bk-competition-card:hover .bk-competition-title {
    color: var(--bk-green);
}

.bk-competition-button:hover {
    background: var(--bk-green);
    color: #000000;
    border-color: var(--bk-green);
}


/* =========================================================
   4. RESPONSIVE
   ========================================================= */

@media (max-width: 1024px) {
    .bk-competition-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }
}

@media (max-width: 767px) {
    .bk-competition-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .single-product .woocommerce-product-gallery .rfwc-countdown-wrapper {
        bottom: 6px !important;
        padding: 8px 10px 10px !important;
    }

    .single-product .woocommerce-product-gallery .rfwc-countdown-item {
        width: 52px !important;
        min-width: 52px !important;
        height: 60px !important;
        min-height: 60px !important;
    }

    .single-product .woocommerce-product-gallery .rfwc-countdown-value {
        font-size: 20px !important;
    }

    .single-product .rfwc-quantity-wrapper {
        margin-top: 22px !important;
    }
}
/* =========================================================
   CART DRAWER - PROCEED TO CHECKOUT BUTTON
   ========================================================= */

.wc-proceed-to-checkout .checkout-button.wc-forward {
    width: 100% !important;
    min-height: 58px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #0B0B0B !important;
    color: #FFFFFF !important;

    border: 1px solid #00D99B !important;
    border-radius: 6px !important;

    font-family: var(--bk-font-body) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.4px !important;
    text-transform: uppercase !important;

    padding: 0 20px !important;
    margin: 0 !important;

    box-shadow: none !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease !important;
}


/* Hover / focus */

.wc-proceed-to-checkout .checkout-button.wc-forward:hover,
.wc-proceed-to-checkout .checkout-button.wc-forward:focus {
    background: #00D99B !important;
    color: #000000 !important;
    border-color: #00D99B !important;

    box-shadow: none !important;
}
/* =========================================================
   FLOATING CART BUTTON - BLACK KEY STYLE
   ========================================================= */

#moderncart-floating-cart .moderncart-floating-cart-button {
    background: #0B0B0B !important;
    border: 2px solid #00D99B !important;
    color: #FFFFFF !important;

    box-shadow: none !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease !important;
}


/* Cart icon */
#moderncart-floating-cart .moderncart-floating-cart-button svg {
    color: #FFFFFF !important;
    stroke: #FFFFFF !important;

    transition:
        color 0.25s ease,
        stroke 0.25s ease !important;
}


/* Hover */
#moderncart-floating-cart .moderncart-floating-cart-button:hover {
    background: #00D99B !important;
    border-color: #00D99B !important;
    color: #000000 !important;

    transform: translateY(-2px) !important;
}


/* Icon on hover */
#moderncart-floating-cart .moderncart-floating-cart-button:hover svg {
    color: #000000 !important;
    stroke: #000000 !important;
}
/* =========================================================
   CART DRAWER - REMOVE BLUE ACCENTS
   ========================================================= */

/* Product titles */
.moderncart-panel .moderncart-slide-out-cart a {
    color: #00D99B !important;
}

/* Remove links */
.moderncart-panel .moderncart-slide-out-cart a.remove,
.moderncart-panel .moderncart-slide-out-cart .remove {
    color: #00D99B !important;
    text-decoration-color: #00D99B !important;
}

/* Product title hover */
.moderncart-panel .moderncart-slide-out-cart a:hover {
    color: #008F54 !important;
}

/* Remove link hover */
.moderncart-panel .moderncart-slide-out-cart a.remove:hover,
.moderncart-panel .moderncart-slide-out-cart .remove:hover {
    color: #008F54 !important;
    text-decoration-color: #008F54 !important;
}
/* =========================================================
   CART DRAWER - REMOVE BUTTON
   ========================================================= */

.moderncart-panel .moderncart-cart-item-actions-remove {
    color: #00D99B !important;
    background: transparent !important;
    border: none !important;

    transition: color 0.25s ease !important;
}


/* =========================================================
   CART DRAWER - REMOVE BUTTON
   Black -> Green on Hover
   ========================================================= */

.moderncart-panel .moderncart-cart-item-actions-remove {
    color: #111111 !important;
    background: transparent !important;
    border: none !important;

    transition: color 0.25s ease !important;
}


/* Hover / Focus */

.moderncart-panel .moderncart-cart-item-actions-remove:hover,
.moderncart-panel .moderncart-cart-item-actions-remove:focus {
    color: #00D99B !important;
    background: transparent !important;
}
/* =========================================================
   CART DRAWER - PRODUCT TITLES
   Black -> Green on Hover
   ========================================================= */

.moderncart-panel .moderncart-slide-out-cart a:not(.remove) {
    color: #111111 !important;

    transition: color 0.25s ease !important;
}


/* Hover */

.moderncart-panel .moderncart-slide-out-cart a:not(.remove):hover,
.moderncart-panel .moderncart-slide-out-cart a:not(.remove):focus {
    color: #00D99B !important;
}
/* =========================================================
   CART DRAWER - QUANTITY +/- BUTTONS
   Green on Hover
   ========================================================= */

/* Plus & Minus buttons */
.moderncart-panel .quantity__button--up,
.moderncart-panel .quantity__button--down {
    background: #FFFFFF !important;
    color: #111111 !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease !important;
}


/* Hover / Focus */
.moderncart-panel .quantity__button--up:hover,
.moderncart-panel .quantity__button--up:focus,
.moderncart-panel .quantity__button--down:hover,
.moderncart-panel .quantity__button--down:focus {
    background: #00D99B !important;
    color: #000000 !important;
    border-color: #00D99B !important;
}


/* Plus / Minus SVG icons */
.moderncart-panel .quantity__button--up svg,
.moderncart-panel .quantity__button--down svg {
    fill: #111111 !important;

    transition: fill 0.25s ease !important;
}


/* Icon on Hover */
.moderncart-panel .quantity__button--up:hover svg,
.moderncart-panel .quantity__button--up:focus svg,
.moderncart-panel .quantity__button--down:hover svg,
.moderncart-panel .quantity__button--down:focus svg {
    fill: #000000 !important;
}
/* =========================================================
   CART DRAWER - APPLY COUPON BUTTON
   Black Key Style
   ========================================================= */

.moderncart-panel .moderncart-slide-out-coupon-form-button {
    background: #0B0B0B !important;
    color: #FFFFFF !important;

    border: 1px solid #00D99B !important;
    border-radius: 6px !important;

    font-family: var(--bk-font-body) !important;
    font-weight: 600 !important;

    box-shadow: none !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease !important;
}


/* Hover / Focus */

.moderncart-panel .moderncart-slide-out-coupon-form-button:hover,
.moderncart-panel .moderncart-slide-out-coupon-form-button:focus {
    background: #00D99B !important;
    color: #000000 !important;

    border-color: #00D99B !important;

    box-shadow: none !important;
}
/* =========================================================
   CHECKOUT PAGE - BLACK KEY ACCENTS
   ========================================================= */


/* ---------------------------------------------------------
   APPLY COUPON BUTTON
   --------------------------------------------------------- */

.woocommerce-checkout .wcf-submit-coupon {
    background: #0B0B0B !important;
    color: #FFFFFF !important;

    border: 1px solid #00D99B !important;
    border-radius: 6px !important;

    font-family: var(--bk-font-body) !important;
    font-weight: 600 !important;

    box-shadow: none !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease !important;
}


/* Apply button hover / focus */

.woocommerce-checkout .wcf-submit-coupon:hover,
.woocommerce-checkout .wcf-submit-coupon:focus {
    background: #00D99B !important;
    color: #000000 !important;

    border-color: #00D99B !important;

    box-shadow: none !important;
}


/* ---------------------------------------------------------
   PRODUCT QUANTITY BADGE
   --------------------------------------------------------- */

.woocommerce-checkout .instant-checkout-batch {
    background: #00D99B !important;
    color: #FFFFFF !important;

    border: none !important;
    box-shadow: none !important;

    font-family: var(--bk-font-body) !important;
    font-weight: 600 !important;
}
/* =========================================================
   BLACK KEY REWARDS
   CHECKOUT PAGE - MASTER DARK STYLE
   Brand Green: #00D99B
   ========================================================= */


/* =========================================================
   1. MAIN CHECKOUT AREA
   ========================================================= */

.woocommerce-checkout .wcf-instant-checkout-wrapper,
.woocommerce-checkout .wcf-ic-customer-info-main-wrapper,
.woocommerce-checkout .wcf-ic-layout-left-column,
.woocommerce-checkout .wcf-ic-layout-right-column,
.woocommerce-checkout #customer_details {
    background: #050505 !important;
    color: #FFFFFF !important;
}


/* =========================================================
   2. LEFT / RIGHT COLUMN DIVIDER
   ========================================================= */

.woocommerce-checkout .wcf-ic-layout-left-column {
    border-right: 1px solid #242424 !important;
}


/* =========================================================
   3. SECTION HEADINGS
   Contact / Billing Details / Payment
   ========================================================= */

.woocommerce-checkout #customer_information_heading,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .wcf-payment-option-heading,
.woocommerce-checkout h3 {
    color: #FFFFFF !important;

    font-family: var(--bk-font-body) !important;
    font-weight: 600 !important;
}


/* =========================================================
   4. LOGGED-IN CUSTOMER TEXT
   ========================================================= */

.woocommerce-checkout .wcf-logged-in-customer-info,
.woocommerce-checkout .wcf-logged-in-customer-info *,
.woocommerce-checkout .woocommerce-billing-fields__customer-info-wrapper {
    color: #A8A8A8 !important;
}


/* =========================================================
   5. BILLING FORM AREA
   ========================================================= */

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-billing-fields.custom,
.woocommerce-checkout .wcf-customer-info {
    background: transparent !important;
    color: #FFFFFF !important;
}


/* =========================================================
   6. FORM FIELDS
   ========================================================= */

.woocommerce-checkout .woocommerce-billing-fields input,
.woocommerce-checkout .woocommerce-billing-fields select,
.woocommerce-checkout .woocommerce-billing-fields textarea,
.woocommerce-checkout .select2-selection {
    background: #0B0B0B !important;

    color: #FFFFFF !important;

    border: 1px solid #333333 !important;
    border-radius: 6px !important;

    box-shadow: none !important;

    transition:
        border-color 0.25s ease,
        background-color 0.25s ease !important;
}


/* Placeholder / field text */

.woocommerce-checkout .woocommerce-billing-fields input::placeholder,
.woocommerce-checkout .woocommerce-billing-fields textarea::placeholder {
    color: #A8A8A8 !important;
    opacity: 1 !important;
}


/* Field focus */

.woocommerce-checkout .woocommerce-billing-fields input:focus,
.woocommerce-checkout .woocommerce-billing-fields select:focus,
.woocommerce-checkout .woocommerce-billing-fields textarea:focus,
.woocommerce-checkout .select2-container--open .select2-selection {
    background: #0B0B0B !important;

    border-color: #00D99B !important;

    outline: none !important;
    box-shadow: none !important;
}


/* =========================================================
   7. FIELD LABELS
   ========================================================= */

.woocommerce-checkout .woocommerce-billing-fields label {
    color: #A8A8A8 !important;
}


/* =========================================================
   8. SELECT / COUNTRY FIELD
   ========================================================= */

.woocommerce-checkout
.select2-container
.select2-selection--single {
    background: #0B0B0B !important;

    border-color: #333333 !important;

    color: #FFFFFF !important;
}

.woocommerce-checkout
.select2-selection__rendered {
    color: #FFFFFF !important;
}


/* =========================================================
   9. RIGHT ORDER SUMMARY COLUMN
   ========================================================= */

.woocommerce-checkout .wcf-ic-layout-right-column {
    background: #0B0B0B !important;

    color: #FFFFFF !important;

    border-left: 1px solid #242424 !important;
}


/* Order summary inner areas */

.woocommerce-checkout .wcf-ic-layout-right-column > div,
.woocommerce-checkout .wcf-ic-layout-right-column section {
    background: transparent !important;
}


/* =========================================================
   10. ORDER PRODUCT TEXT
   ========================================================= */

.woocommerce-checkout .wcf-ic-layout-right-column,
.woocommerce-checkout .wcf-ic-layout-right-column p,
.woocommerce-checkout .wcf-ic-layout-right-column span,
.woocommerce-checkout .wcf-ic-layout-right-column strong,
.woocommerce-checkout .wcf-ic-layout-right-column td,
.woocommerce-checkout .wcf-ic-layout-right-column th {
    color: #FFFFFF !important;
}


/* =========================================================
   11. PRODUCT QUANTITY BADGES
   ========================================================= */

.woocommerce-checkout .instant-checkout-batch {
    background: #00D99B !important;
    color: #000000 !important;

    border: none !important;

    font-weight: 700 !important;

    box-shadow: none !important;
}


/* =========================================================
   12. COUPON AREA
   ========================================================= */

.woocommerce-checkout
.wcf-ic-layout-right-column
input[name="coupon_code"] {
    background: #0B0B0B !important;
    color: #FFFFFF !important;

    border: 1px solid #333333 !important;
    border-radius: 6px !important;

    box-shadow: none !important;
}

.woocommerce-checkout
.wcf-ic-layout-right-column
input[name="coupon_code"]::placeholder {
    color: #A8A8A8 !important;
}


/* Apply coupon */

.woocommerce-checkout .wcf-submit-coupon {
    background: #0B0B0B !important;
    color: #FFFFFF !important;

    border: 1px solid #00D99B !important;
    border-radius: 6px !important;

    box-shadow: none !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease !important;
}

.woocommerce-checkout .wcf-submit-coupon:hover,
.woocommerce-checkout .wcf-submit-coupon:focus {
    background: #00D99B !important;
    color: #000000 !important;

    border-color: #00D99B !important;
}


/* =========================================================
   13. AVAILABLE COUPONS BOX
   ========================================================= */

.woocommerce-checkout .power-coupons-drawer-trigger-wrapper,
.woocommerce-checkout .power-coupons-drawer-trigger-wrapper button,
.woocommerce-checkout .power-coupons-drawer-trigger-wrapper a {
    background: #0B0B0B !important;
    color: #FFFFFF !important;

    border-color: #333333 !important;

    box-shadow: none !important;
}

.woocommerce-checkout .power-coupons-drawer-trigger-wrapper:hover,
.woocommerce-checkout .power-coupons-drawer-trigger-wrapper button:hover {
    border-color: #00D99B !important;
    color: #00D99B !important;
}


/* =========================================================
   14. SUBTOTAL / TOTAL
   ========================================================= */

.woocommerce-checkout .wcf-ic-layout-right-column .cart-subtotal *,
.woocommerce-checkout .wcf-ic-layout-right-column .order-total th {
    color: #FFFFFF !important;
}

.woocommerce-checkout
.wcf-ic-layout-right-column
.order-total
.amount {
    color: #00D99B !important;
    font-weight: 700 !important;
}


/* =========================================================
   15. DIVIDERS
   ========================================================= */

.woocommerce-checkout .wcf-ic-layout-right-column table,
.woocommerce-checkout .wcf-ic-layout-right-column tr,
.woocommerce-checkout .wcf-ic-layout-right-column td,
.woocommerce-checkout .wcf-ic-layout-right-column th {
    border-color: #242424 !important;
}


/* =========================================================
   16. PAYMENT SECTION
   ========================================================= */

.woocommerce-checkout #payment.woocommerce-checkout-payment {
    background: #0B0B0B !important;

    color: #FFFFFF !important;

    border: 1px solid #333333 !important;
    border-radius: 6px !important;

    box-shadow: none !important;
}


/* Payment list */

.woocommerce-checkout #payment ul.payment_methods {
    background: transparent !important;

    border-color: #242424 !important;
}


/* Payment text */

.woocommerce-checkout #payment,
.woocommerce-checkout #payment p,
.woocommerce-checkout #payment label,
.woocommerce-checkout #payment span,
.woocommerce-checkout #payment li {
    color: #FFFFFF !important;
}


/* Individual payment info box */

.woocommerce-checkout #payment div.payment_box {
    background: #111111 !important;
    color: #D0D0D0 !important;

    border: 1px solid #242424 !important;
}

.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: #111111 !important;
}


/* =========================================================
   17. NO PAYMENT METHODS NOTICE
   ========================================================= */

.woocommerce-checkout
#payment
.woocommerce-notice,
.woocommerce-checkout
#payment
.woocommerce-info,
.woocommerce-checkout
#payment
.woocommerce-error {
    background: #0B0B0B !important;

    color: #D0D0D0 !important;

    border: 1px solid #333333 !important;
    border-left: 3px solid #00D99B !important;

    box-shadow: none !important;
}


/* =========================================================
   18. CHECKBOXES / RADIO BUTTONS
   ========================================================= */

.woocommerce-checkout input[type="checkbox"],
.woocommerce-checkout input[type="radio"] {
    accent-color: #00D99B !important;
}


/* =========================================================
   19. LINKS
   ========================================================= */

.woocommerce-checkout .wcf-instant-checkout-wrapper a {
    color: #FFFFFF !important;

    transition: color 0.25s ease !important;
}

.woocommerce-checkout .wcf-instant-checkout-wrapper a:hover {
    color: #00D99B !important;
}


/* =========================================================
   20. PLACE ORDER BUTTON
   ========================================================= */

.woocommerce-checkout #place_order {
    background: #0B0B0B !important;
    color: #FFFFFF !important;

    border: 1px solid #00D99B !important;
    border-radius: 6px !important;

    min-height: 58px !important;

    font-family: var(--bk-font-body) !important;
    font-weight: 600 !important;

    box-shadow: none !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease !important;
}

.woocommerce-checkout #place_order:hover,
.woocommerce-checkout #place_order:focus {
    background: #00D99B !important;

    color: #000000 !important;

    border-color: #00D99B !important;
}


/* =========================================================
   21. MOBILE ORDER REVIEW
   ========================================================= */

.woocommerce-checkout .wcf-collapsed-order-review-section {
    background: #0B0B0B !important;

    color: #FFFFFF !important;

    border-color: #242424 !important;
}
/* =========================================================
   CHECKOUT PAGE - HEADER
   ========================================================= */

body.woocommerce-checkout .site-header,
body.woocommerce-checkout header,
body.woocommerce-checkout .ast-primary-header-bar,
body.woocommerce-checkout .main-header-bar {
    background: #050505 !important;
    border-bottom: 1px solid #242424 !important;
    box-shadow: none !important;
}
/* Checkout page - remove Astra top spacing */
body.page-id-8610 .ast-article-single {
    margin-top: 0 !important;
    padding-top: 20px !important;
}
/* Checkout2 - remove empty Astra page header/title area */
body.page-id-8610 .entry-header,
body.page-id-8610 .ast-single-entry-banner,
body.page-id-8610 .ast-single-entry-banner[data-post-type="page"] {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
/* =========================================================
   BLACK KEY CHECKOUT - BILLING SECTION
   ========================================================= */

/* Left checkout column */
body.woocommerce-checkout .wcf-col-1.col-1 {
    background: transparent !important;
}

/* Billing section */
body.woocommerce-checkout .woocommerce-billing-fields {
    background: #050505 !important;
    padding: 26px 28px !important;
    border: 1px solid #1f1f1f !important;
    border-radius: 0 !important;
}

/* Billing heading */
body.woocommerce-checkout #billing_fields_heading {
    color: #ffffff !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    margin: 0 0 24px !important;
    padding: 0 0 14px !important;
    border-bottom: 1px solid #C7A354 !important;
}

/* Field rows */
body.woocommerce-checkout
.woocommerce-billing-fields__field-wrapper
.form-row {
    margin-bottom: 18px !important;
}

/* Labels */
body.woocommerce-checkout
.woocommerce-billing-fields__field-wrapper
label {
    color: #b7b7b7 !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    margin-bottom: 7px !important;
}

/* Required stars */
body.woocommerce-checkout
.woocommerce-billing-fields__field-wrapper
.required {
    color: #00D99B !important;
}

/* Standard inputs */
body.woocommerce-checkout
.woocommerce-billing-fields__field-wrapper
input.input-text {
    width: 100% !important;
    min-height: 52px !important;
    padding: 0 15px !important;

    background: #101010 !important;
    color: #ffffff !important;

    border: 1px solid #333333 !important;
    border-radius: 5px !important;

    box-shadow: none !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 15px !important;
}

/* Placeholder */
body.woocommerce-checkout
.woocommerce-billing-fields__field-wrapper
input.input-text::placeholder {
    color: #777777 !important;
    opacity: 1 !important;
}

/* Input focus */
body.woocommerce-checkout
.woocommerce-billing-fields__field-wrapper
input.input-text:focus {
    border-color: #00D99B !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Country dropdown */
body.woocommerce-checkout
.woocommerce-billing-fields__field-wrapper
.select2-container--default
.select2-selection--single {
    min-height: 52px !important;
    background: #101010 !important;
    border: 1px solid #333333 !important;
    border-radius: 5px !important;
}

/* Country selected text */
body.woocommerce-checkout
.woocommerce-billing-fields__field-wrapper
.select2-selection__rendered {
    color: #ffffff !important;
    line-height: 50px !important;
    padding-left: 15px !important;
}

/* Country arrow */
body.woocommerce-checkout
.woocommerce-billing-fields__field-wrapper
.select2-selection__arrow {
    height: 50px !important;
    right: 10px !important;
}

/* First name / Last name side by side */
body.woocommerce-checkout #billing_first_name_field,
body.woocommerce-checkout #billing_last_name_field {
    width: 48.5% !important;
}

/* City + County side by side */
body.woocommerce-checkout #billing_city_field,
body.woocommerce-checkout #billing_state_field {
    width: 48.5% !important;
}

/* Postcode + Phone side by side */
body.woocommerce-checkout #billing_postcode_field,
body.woocommerce-checkout #billing_phone_field {
    width: 48.5% !important;
}

/* Clear floats properly */
body.woocommerce-checkout
.woocommerce-billing-fields__field-wrapper::after {
    content: "";
    display: table;
    clear: both;
}
/* =========================================================
   BLACK KEY CHECKOUT - COUPON TOGGLE
   ========================================================= */

body.woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin: 0 0 24px !important;
}

/* Main coupon prompt bar */
body.woocommerce-checkout
.woocommerce-form-coupon-toggle
.shopengine-woocommerce-info.woocommerce-info {
    background: #101010 !important;
    color: #b8b8b8 !important;

    border: 1px solid #2a2a2a !important;
    border-left: 3px solid #00D99B !important;

    padding: 18px 22px !important;
    margin: 0 !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
}

/* Remove WooCommerce's default top border */
body.woocommerce-checkout
.woocommerce-form-coupon-toggle
.shopengine-woocommerce-info.woocommerce-info {
    border-top: 1px solid #2a2a2a !important;
}

/* Icon */
body.woocommerce-checkout
.woocommerce-form-coupon-toggle
.shopengine-woocommerce-info.woocommerce-info::before {
    color: #00D99B !important;
}

/* Coupon link */
body.woocommerce-checkout
.woocommerce-form-coupon-toggle
a.showcoupon {
    color: #00D99B !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

/* Link hover */
body.woocommerce-checkout
.woocommerce-form-coupon-toggle
a.showcoupon:hover {
    color: #00d67d !important;
}
/* Remove icon before coupon message */
.woocommerce-form-coupon-toggle 
.shopengine-woocommerce-info.woocommerce-info::before {
    display: none !important;
    content: none !important;
}
/* =========================================================
   BLACK KEY CHECKOUT - COUNTRY DROPDOWN
   ========================================================= */

/* Dropdown panel */
body.woocommerce-checkout .select2-dropdown {
    background: #101010 !important;
    border: 1px solid #333333 !important;
    border-radius: 5px !important;
    color: #ffffff !important;
}

/* Search area */
body.woocommerce-checkout .select2-search--dropdown {
    padding: 10px !important;
    background: #101010 !important;
}

/* Search input */
body.woocommerce-checkout .select2-search__field {
    background: #0B0B0B !important;
    color: #ffffff !important;
    border: 1px solid #333333 !important;
    border-radius: 4px !important;
    padding: 10px 12px !important;
    outline: none !important;
}

/* Search field focus */
body.woocommerce-checkout .select2-search__field:focus {
    border-color: #00D99B !important;
}

/* Results area */
body.woocommerce-checkout .select2-results {
    background: #101010 !important;
}

/* Individual country options */
body.woocommerce-checkout
.select2-results__option {
    background: #101010 !important;
    color: #c7c7c7 !important;
    padding: 12px 16px !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 15px !important;
}

/* Hover / keyboard highlight */
body.woocommerce-checkout
.select2-container--default
.select2-results__option--highlighted[aria-selected] {
    background: #00D99B !important;
    color: #000000 !important;
}

/* Currently selected country */
body.woocommerce-checkout
.select2-container--default
.select2-results__option[aria-selected="true"] {
    background: #181818 !important;
    color: #ffffff !important;
}

/* Selected + highlighted */
body.woocommerce-checkout
.select2-container--default
.select2-results__option[aria-selected="true"].select2-results__option--highlighted {
    background: #00D99B !important;
    color: #000000 !important;
}
/* =========================================================
   CHECKOUT - ADDITIONAL INFORMATION
   ========================================================= */

/* Section heading */
body.woocommerce-checkout .woocommerce-additional-fields h3 {
    color: #ffffff !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    margin-bottom: 28px !important;
    padding-bottom: 18px !important;
    border-bottom: 1px solid #2b2b2b !important;
}

/* Order notes label */
body.woocommerce-checkout #order_comments_field label {
    color: #b5b5b5 !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    margin-bottom: 10px !important;
}

/* Order notes box */
body.woocommerce-checkout #order_comments {
    width: 100% !important;
    min-height: 120px !important;

    background: #111111 !important;
    color: #ffffff !important;

    border: 1px solid #333333 !important;
    border-radius: 5px !important;

    padding: 16px 18px !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.5 !important;

    box-shadow: none !important;
    outline: none !important;

    resize: vertical !important;
}

/* Placeholder */
body.woocommerce-checkout #order_comments::placeholder {
    color: #777777 !important;
    opacity: 1 !important;
}

/* Green focus state */
body.woocommerce-checkout #order_comments:focus {
    border-color: #00D99B !important;
    box-shadow: 0 0 0 1px #00D99B !important;
}
/* =========================================================
   CHECKOUT - VIEW AVAILABLE COUPONS BUTTON
   ========================================================= */

body.woocommerce-checkout .power-coupons-view-coupons-btn {
    width: 100% !important;
    min-height: 58px !important;

    background: #0B0B0B !important;
    color: #ffffff !important;

    border: 1px solid #00D99B !important;
    border-radius: 6px !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;

    padding: 15px 20px !important;

    box-shadow: none !important;
    cursor: pointer !important;

    transition: all 0.2s ease !important;
}

/* Hover */
body.woocommerce-checkout .power-coupons-view-coupons-btn:hover {
    background: #00D99B !important;
    color: #000000 !important;
    border-color: #00D99B !important;
}
/* =========================================================
   CHECKOUT - PAYMENT MESSAGE
   ========================================================= */

body.woocommerce-checkout #payment .woocommerce-info,
body.woocommerce-checkout #payment .shopengine-woocommerce-info {
    background: #0B0B0B !important;
    color: #d0d0d0 !important;

    border: 1px solid #333333 !important;
    border-left: 1px solid #333333 !important;

    border-radius: 5px !important;
    box-shadow: none !important;
}
/* =========================================================
   CHECKOUT - REMOVE OUTER PLACE ORDER BOX
   ========================================================= */

body.woocommerce-checkout #payment,
body.woocommerce-checkout #payment.woocommerce-checkout-payment,
body.woocommerce-checkout #payment .form-row.place-order {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Remove any extra box spacing around the button */
body.woocommerce-checkout #payment .form-row.place-order {
    padding: 0 !important;
    margin: 24px 0 0 !important;
}
/* Move Place Order button higher */
body.woocommerce-checkout #payment .form-row.place-order {
    padding: 0 !important;
    margin: 0 !important;
    transform: translateY(-24px) !important;
}
/* =========================================================
   CHECKOUT - ERROR MESSAGES
   ========================================================= */

body.woocommerce-checkout .woocommerce-error {
    background: #101010 !important;
    color: #d0d0d0 !important;

    border: 1px solid #333333 !important;
    border-left: 3px solid #c62828 !important;
    border-radius: 5px !important;

    padding: 20px 24px 20px 55px !important;
    margin-bottom: 30px !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.7 !important;

    box-shadow: none !important;
}

/* Individual error messages */
body.woocommerce-checkout .woocommerce-error li {
    color: #d0d0d0 !important;
    background: transparent !important;
    margin: 3px 0 !important;
}

/* Field names inside errors */
body.woocommerce-checkout .woocommerce-error li strong {
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* Remove WooCommerce's default top border */
body.woocommerce-checkout .woocommerce-error::before {
    color: #c62828 !important;
}
/* Checkout - hide redundant subtotal */
body.woocommerce-checkout
.woocommerce-checkout-review-order-table
.cart-subtotal {
    display: none !important;
}
/* =========================================================
   CHECKOUT - CLEANER ORDER TABLE
   ========================================================= */

/* Default row separators - subtle grey */
body.woocommerce-checkout
.woocommerce-checkout-review-order-table th,
body.woocommerce-checkout
.woocommerce-checkout-review-order-table td {
    border-bottom: 1px solid #292929 !important;
}

/* Header divider */
body.woocommerce-checkout
.woocommerce-checkout-review-order-table thead th {
    border-bottom: 1px solid #333333 !important;
}

/* Final total gets the gold accent */
body.woocommerce-checkout
.woocommerce-checkout-review-order-table
.order-total th,
body.woocommerce-checkout
.woocommerce-checkout-review-order-table
.order-total td {
    border-top: 1px solid #C7A354 !important;
    border-bottom: 0 !important;
    padding-top: 22px !important;
}

/* Make final total stronger */
body.woocommerce-checkout
.woocommerce-checkout-review-order-table
.order-total th,
body.woocommerce-checkout
.woocommerce-checkout-review-order-table
.order-total td,
body.woocommerce-checkout
.woocommerce-checkout-review-order-table
.order-total .amount {
    color: #ffffff !important;
    font-weight: 700 !important;
}
/* =========================================================
   BLACK KEY REWARDS
   ORDER RECEIVED / THANK YOU PAGE
   ========================================================= */


/* =========================================================
   MAIN ORDER WRAPPER
   ========================================================= */

body.woocommerce-order-received .woocommerce-order {
    width: 100% !important;
    max-width: 1250px !important;
    margin: 0 auto !important;

    font-family: "Inter", Arial, sans-serif !important;
    color: #ffffff !important;
}


/* =========================================================
   THANK YOU MESSAGE
   ========================================================= */

body.woocommerce-order-received
.woocommerce-thankyou-order-received {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;

    color: #a8a8a8 !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;

    text-align: center !important;

    padding: 0 !important;
    margin: 0 0 45px !important;
}
/* =========================================================
   ORDER OVERVIEW CARD
   Order Number / Date / Email / Total
   ========================================================= */

body.woocommerce-order-received
.woocommerce-order-overview {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;

    width: 100% !important;

    background: #0B0B0B !important;
    border: 1px solid #333333 !important;
    border-radius: 8px !important;

    padding: 34px 24px !important;
    margin: 0 0 55px !important;

    list-style: none !important;
    box-shadow: none !important;
}


/* Hide Payment Method */
body.woocommerce-order-received
.woocommerce-order-overview li:nth-child(5) {
    display: none !important;
}


/* All remaining items */
body.woocommerce-order-received
.woocommerce-order-overview li {
    float: none !important;

    flex-direction: column !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 0 !important;

    padding: 0 30px !important;
    margin: 0 !important;

    color: #9c9c9c !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;

    text-transform: uppercase !important;

    border-right: 1px solid #333333 !important;
}


/* Make visible items flex */
body.woocommerce-order-received
.woocommerce-order-overview li:not(:nth-child(5)) {
    display: flex !important;
}
/* =========================================================
   BALANCED ORDER OVERVIEW COLUMNS
   ========================================================= */

/* ORDER NUMBER */
body.woocommerce-order-received
.woocommerce-order-overview li:nth-child(1) {
    flex: 0.9 !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
}


/* DATE */
body.woocommerce-order-received
.woocommerce-order-overview li:nth-child(2) {
    flex: 1.35 !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
}


/* EMAIL */
body.woocommerce-order-received
.woocommerce-order-overview li:nth-child(3) {
    flex: 2.2 !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
}


/* TOTAL */
body.woocommerce-order-received
.woocommerce-order-overview li:nth-child(4) {
    flex: 0.8 !important;
    padding-left: 28px !important;
    padding-right: 28px !important;

    border-right: none !important;
}


/* Keep date on one line */
body.woocommerce-order-received
.woocommerce-order-overview li:nth-child(2) strong {
    white-space: nowrap !important;
}


/* Keep email on one line */
body.woocommerce-order-received
.woocommerce-order-overview li:nth-child(3) strong {
    white-space: nowrap !important;
    font-size: 16px !important;
}
    /* It's now the final visible column */
    border-right: none !important;
}


/* Values */
body.woocommerce-order-received
.woocommerce-order-overview li strong {
    display: block !important;

    color: #ffffff !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;

    text-transform: none !important;

    margin-top: 8px !important;

    word-break: normal !important;
}


/* Add # before order number */
body.woocommerce-order-received
.woocommerce-order-overview li:nth-child(1) strong::before {
    content: "#";
}


/* Email - stay on one line whenever there is room */
body.woocommerce-order-received
.woocommerce-order-overview li:nth-child(3) strong {
    white-space: nowrap !important;
    font-size: 17px !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    body.woocommerce-order-received
    .woocommerce-order-overview {
        flex-direction: column !important;
        padding: 15px 22px !important;
    }


    body.woocommerce-order-received
    .woocommerce-order-overview li:not(:nth-child(5)) {
        width: 100% !important;
        flex: none !important;

        padding: 18px 0 !important;

        border-right: none !important;
        border-bottom: 1px solid #292929 !important;
    }


    /* Total is now final visible item */
    body.woocommerce-order-received
    .woocommerce-order-overview li:nth-child(4) {
        border-bottom: none !important;
    }


    /* Long emails can wrap on small screens */
    body.woocommerce-order-received
    .woocommerce-order-overview li:nth-child(3) strong {
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }
}
/* Keep date on one line */
body.woocommerce-order-received
.woocommerce-order-overview li:nth-child(2) strong {
    white-space: nowrap !important;
}
/* =========================================================
   ORDER DETAILS SECTION
   ========================================================= */

body.woocommerce-order-received
.woocommerce-order-details {
    width: 100% !important;

    background: transparent !important;

    border: none !important;
    box-shadow: none !important;

    padding: 0 !important;
    margin: 0 0 60px !important;
}


/* ORDER DETAILS heading */
body.woocommerce-order-received
.woocommerce-order-details
.woocommerce-order-details__title,
body.woocommerce-order-received
.woocommerce-order-details h2 {
    background: transparent !important;

    color: #ffffff !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 21px !important;
    font-weight: 600 !important;

    letter-spacing: 2px !important;
    text-transform: uppercase !important;

    border: none !important;

    padding: 0 !important;
    margin: 0 0 24px !important;
}


/* Main order table */
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table {
    width: 100% !important;

    background: transparent !important;

    border: none !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;

    margin: 0 !important;

    box-shadow: none !important;
}


/* Remove default WooCommerce cell boxes */
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table th,
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table td {
    background: transparent !important;

    border-left: none !important;
    border-right: none !important;
    border-top: none !important;

    box-shadow: none !important;
}


/* Product / Total heading row */
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table thead th {
    background: #101010 !important;

    color: #a8a8a8 !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;

    padding: 20px 22px !important;

    border-bottom: 1px solid #333333 !important;
}


/* Product rows */
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table tbody td {
    color: #d0d0d0 !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;

    padding: 25px 22px !important;

    border-bottom: 1px solid #292929 !important;
}


/* Product names */
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table tbody td a {
    color: #ffffff !important;

    font-weight: 400 !important;

    text-decoration: none !important;
}


/* Product name hover */
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table tbody td a:hover {
    color: #00D99B !important;
}


/* Right-align price column */
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table th:last-child,
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table td:last-child {
    text-align: right !important;
}

/* =========================================================
   HIDE SUBTOTAL
   ========================================================= */

body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
tfoot tr:first-child {
    display: none !important;
}


/* =========================================================
   HIDE PAYMENT METHOD ROW
   Already displayed in overview card
   ========================================================= */

body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
tfoot tr:last-child:not(.order-total) {
    display: none !important;
}


/* =========================================================
   FINAL TOTAL
   ========================================================= */

body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
tfoot tr:nth-child(2) th,

body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
tfoot tr:nth-child(2) td {
    background: transparent !important;

    color: #ffffff !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;

    padding: 24px 34px 10px !important;

    border-top: 1px solid #C7A354 !important;
    border-bottom: none !important;
}


/* Final price - WHITE */
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
tfoot tr:nth-child(2) .woocommerce-Price-amount,

body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
tfoot tr:nth-child(2) .amount {
    color: #ffffff !important;

    font-size: 18px !important;
    font-weight: 500 !important;
}
/* =========================================================
   ORDER DETAILS - GOLD DIVIDER ABOVE TOTAL
   ========================================================= */

/* Remove grey line underneath the final product */
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
tbody tr:last-child td {
    border-bottom: none !important;
}


/* Create the gold divider above Total */
body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
tfoot tr:nth-child(2) th,

body.woocommerce-order-received
.woocommerce-order-details
table.shop_table
tfoot tr:nth-child(2) td {
    border-top: none !important;
    box-shadow: inset 0 1px 0 #C7A354 !important;

    padding-top: 24px !important;
}
/* =========================================================
   BILLING / CUSTOMER DETAILS
   ========================================================= */

body.woocommerce-order-received
.woocommerce-customer-details {
    width: 100% !important;

    background: transparent !important;

    border: none !important;
    box-shadow: none !important;

    padding: 0 !important;
    margin: 0 0 55px !important;
}


/* Billing heading */
body.woocommerce-order-received
.woocommerce-customer-details
.woocommerce-column__title,
body.woocommerce-order-received
.woocommerce-customer-details h2 {
    background: transparent !important;

    color: #ffffff !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 21px !important;
    font-weight: 600 !important;

    letter-spacing: 2px !important;
    text-transform: uppercase !important;

    border: none !important;

    padding: 0 !important;
    margin: 0 0 24px !important;
}


/* Billing details card */
body.woocommerce-order-received
.woocommerce-customer-details address {
    width: 100% !important;

    background: #0B0B0B !important;

    color: #d0d0d0 !important;

    border: 1px solid #333333 !important;
    border-radius: 8px !important;

    padding: 30px 32px !important;
    margin: 0 !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 16px !important;
    font-style: normal !important;
    line-height: 1.8 !important;

    box-shadow: none !important;
}


/* Email / phone */
body.woocommerce-order-received
.woocommerce-customer-details
.woocommerce-customer-details--email,
body.woocommerce-order-received
.woocommerce-customer-details
.woocommerce-customer-details--phone {
    color: #d0d0d0 !important;

    font-size: 16px !important;

    margin-top: 12px !important;
}


/* Email / phone icons */
body.woocommerce-order-received
.woocommerce-customer-details
.woocommerce-customer-details--email::before,
body.woocommerce-order-received
.woocommerce-customer-details
.woocommerce-customer-details--phone::before {
    color: #00D99B !important;
}


/* Mobile */
@media (max-width: 767px) {

    body.woocommerce-order-received
    .woocommerce-customer-details address {
        padding: 24px 22px !important;
    }
}
/* ORDER RECEIVED PAGE — change CHECK OUT to ORDER CONFIRMED only */
body.woocommerce-order-received
.elementor-element-0541428 .elementor-heading-title {
    font-size: 0 !important;
}

body.woocommerce-order-received
.elementor-element-0541428 .elementor-heading-title::after {
    content: "ORDER";
    font-family: "Inter", Arial, sans-serif;
    font-size: 60px;
    font-weight: 400;
    color: #ffffff;
}

body.woocommerce-order-received
.elementor-element-74da5c9 .elementor-heading-title {
    font-size: 0 !important;
}
/* Hide WooCommerce add-to-cart confirmation banner */
.single-product .woocommerce-message {
    display: none !important;
}
body.woocommerce-order-received
.elementor-element-74da5c9 .elementor-heading-title::after {
    content: "CONFIRMED";
    font-family: "Inter", Arial, sans-serif;
    font-size: 60px;
    font-weight: 400;
    color: #00D99B;
}
/* Order Confirmed — increase gap before gold key divider */
body.woocommerce-order-received
.elementor-element-339938c {
    margin-bottom: 5px !important;
}
body.woocommerce-order-received
.elementor-element-0ae652f {
    display: none !important;
}
body.woocommerce-order-received
.elementor-element-339938c {
    margin-top: 35px !important;
}
body.woocommerce-order-received
.woocommerce-thankyou-order-received {
    margin-top: -20px !important;
}
.bk-live-count {
    display: inline-block;
    color: #00D99B;
    background: #0B1F17;
    border: 2px solid #00D99B;
    border-radius: 20px;
    padding: 6px 10px;
    font-family: "Inter", Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
}
/* =========================================
   BLACK KEY HOMEPAGE HERO
   Layout + effects only
   Typography controlled in Elementor
   ========================================= */


/* -------------------------
   WILL YOU
   ------------------------- */

.elementor-element-4ed6c53 {
    margin: 0 0 18px 0 !important;
}

.elementor-element-4ed6c53 .elementor-heading-title {
    margin: 0 !important;
}


/* -------------------------
   UNLOCK
   ------------------------- */

.elementor-element-ce1d17d {
    margin: 0 0 12px 0 !important;
}

.elementor-element-ce1d17d .elementor-heading-title {
    margin: 0 !important;

    /* Green glow only */
    text-shadow:
        0 0 8px rgba(124, 255, 0, 0.55),
        0 0 22px rgba(124, 255, 0, 0.25);
}


/* -------------------------
   THE VAULT?
   ------------------------- */

.elementor-element-a52c57c {
    margin: 5px 0 0 0 !important;
}

.elementor-element-a52c57c .elementor-heading-title {
    margin: 0 !important;
}


/* Green divider under THE VAULT? */

.elementor-element-a52c57c::after {
    content: "";
    display: block;
    width: 80px;
    height: 3px;
    background: #7CFF00;
    margin: 22px auto 0;
}


/* =========================================
   HERO TAGLINE CONTAINER
   ========================================= */

.elementor-element-880e9fa {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;

    width: 100% !important;
    margin: -75px 0 0 0 !important;
    padding: 0 !important;
}


/* -------------------------
   TAGLINE LINE 1
   ------------------------- */

.elementor-element-7d7bab2 {
    order: 1 !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-element-7d7bab2 .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-element-7d7bab2 p {
    margin: 0 !important;
    text-align: center !important;
}


/* -------------------------
   TAGLINE LINE 2
   ------------------------- */

.elementor-element-d4fd601 {
    order: 2 !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-element-d4fd601 .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-element-d4fd601 p {
    margin: 0 !important;
    text-align: center !important;
}
.bk-result-product-image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}
/* =========================================================
   BLACK KEY REWARDS
   GLOBAL PAGE FRAME
   ========================================================= */

.bk-page-frame {
    position: relative;
    box-sizing: border-box;
    overflow: hidden;

    /* CARD SIZE */
    width: calc(100% - 80px) !important;
    max-width: none !important;

    margin: 40px auto !important;
    padding: 60px !important;

    min-height: 650px;

    /* FRAME */
    border: 1.5px solid transparent !important;
    border-radius: 16px !important;

    /* BACKGROUND + BORDER */
    background:

        /* INNER BLACK BACKGROUND */
        linear-gradient(
            #050606,
            #050606
        ) padding-box,

        /* TOP CENTRE */
        radial-gradient(
            ellipse 170px 20px at 50% 0%,
            rgba(0, 255, 190, 1) 0%,
            rgba(0, 235, 175, 0.82) 24%,
            rgba(0, 217, 155, 0.52) 45%,
            rgba(0, 217, 155, 0.20) 64%,
            transparent 82%
        ) border-box,

        /* RIGHT CENTRE */
        radial-gradient(
            ellipse 20px 170px at 100% 50%,
            rgba(0, 255, 190, 1) 0%,
            rgba(0, 235, 175, 0.82) 24%,
            rgba(0, 217, 155, 0.52) 45%,
            rgba(0, 217, 155, 0.20) 64%,
            transparent 82%
        ) border-box,

        /* BOTTOM CENTRE */
        radial-gradient(
            ellipse 170px 20px at 50% 100%,
            rgba(0, 255, 190, 1) 0%,
            rgba(0, 235, 175, 0.82) 24%,
            rgba(0, 217, 155, 0.52) 45%,
            rgba(0, 217, 155, 0.20) 64%,
            transparent 82%
        ) border-box,

        /* LEFT CENTRE */
        radial-gradient(
            ellipse 20px 170px at 0% 50%,
            rgba(0, 255, 190, 1) 0%,
            rgba(0, 235, 175, 0.82) 24%,
            rgba(0, 217, 155, 0.52) 45%,
            rgba(0, 217, 155, 0.20) 64%,
            transparent 82%
        ) border-box,

        /* LIGHT GRAPHITE FRAME */
        linear-gradient(
            #56615d,
            #56615d
        ) border-box !important;

    /* DEPTH */
    box-shadow:
        0 22px 60px rgba(0, 0, 0, 0.48),
        0 0 20px rgba(0, 217, 155, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 0.025)
        !important;
}


/* =========================================================
   CONTENT ABOVE FRAME EFFECTS
   ========================================================= */

.bk-page-frame > * {
    position: relative;
    z-index: 2;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .bk-page-frame {
        width: calc(100% - 48px) !important;

        margin: 28px auto !important;
        padding: 44px 34px !important;

        min-height: auto;

        border-radius: 14px !important;
        border-width: 1.5px !important;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .bk-page-frame {
        width: calc(100% - 28px) !important;

        margin: 20px auto !important;
        padding: 32px 20px !important;

        min-height: auto;

        border-width: 1px !important;
        border-radius: 12px !important;

        box-shadow:
            0 18px 45px rgba(0, 0, 0, 0.45),
            0 0 14px rgba(0, 217, 155, 0.04)
            !important;
    }
}
/* =========================================================
   BLACK KEY REWARDS
   SINGLE PRODUCT PAGE - OUTER FRAME
   ========================================================= */

.single-product .ast-woocommerce-container {
    position: relative;
    box-sizing: border-box;
    overflow: hidden;

    width: calc(100% - 80px) !important;
    max-width: none !important;

    margin: 40px auto !important;
    padding: 60px !important;

    border: 2px solid transparent !important;
    border-radius: 16px !important;

    background:

        /* TOP LEFT CORNER */
        linear-gradient(
            90deg,
            #00D99B 0%,
            #00D99B 100%
        ) 18px 18px / 30px 2px no-repeat,

        linear-gradient(
            180deg,
            #00D99B 0%,
            #00D99B 100%
        ) 18px 18px / 2px 30px no-repeat,

        /* TOP RIGHT CORNER */
        linear-gradient(
            270deg,
            #00D99B 0%,
            #00D99B 100%
        ) calc(100% - 18px) 18px / 30px 2px no-repeat,

        linear-gradient(
            180deg,
            #00D99B 0%,
            #00D99B 100%
        ) calc(100% - 18px) 18px / 2px 30px no-repeat,

        /* BOTTOM LEFT CORNER */
        linear-gradient(
            90deg,
            #00D99B 0%,
            #00D99B 100%
        ) 18px calc(100% - 18px) / 30px 2px no-repeat,

        linear-gradient(
            0deg,
            #00D99B 0%,
            #00D99B 100%
        ) 18px calc(100% - 18px) / 2px 30px no-repeat,

        /* BOTTOM RIGHT CORNER */
        linear-gradient(
            270deg,
            #00D99B 0%,
            #00D99B 100%
        ) calc(100% - 18px) calc(100% - 18px) / 30px 2px no-repeat,

        linear-gradient(
            0deg,
            #00D99B 0%,
            #00D99B 100%
        ) calc(100% - 18px) calc(100% - 18px) / 2px 30px no-repeat,

        /* INNER BACKGROUND */
        linear-gradient(
            #050606,
            #050606
        ) padding-box,

        /* TOP GLOW */
        radial-gradient(
            ellipse 180px 22px at 50% 0%,
            rgba(0, 217, 155, 1) 0%,
            rgba(0, 217, 155, 0.82) 24%,
            rgba(0, 217, 155, 0.50) 44%,
            rgba(0, 217, 155, 0.18) 64%,
            transparent 82%
        ) border-box,

        /* RIGHT GLOW */
        radial-gradient(
            ellipse 22px 180px at 100% 50%,
            rgba(0, 217, 155, 1) 0%,
            rgba(0, 217, 155, 0.82) 24%,
            rgba(0, 217, 155, 0.50) 44%,
            rgba(0, 217, 155, 0.18) 64%,
            transparent 82%
        ) border-box,

        /* BOTTOM GLOW */
        radial-gradient(
            ellipse 180px 22px at 50% 100%,
            rgba(0, 217, 155, 1) 0%,
            rgba(0, 217, 155, 0.82) 24%,
            rgba(0, 217, 155, 0.50) 44%,
            rgba(0, 217, 155, 0.18) 64%,
            transparent 82%
        ) border-box,

        /* LEFT GLOW */
        radial-gradient(
            ellipse 22px 180px at 0% 50%,
            rgba(0, 217, 155, 1) 0%,
            rgba(0, 217, 155, 0.82) 24%,
            rgba(0, 217, 155, 0.50) 44%,
            rgba(0, 217, 155, 0.18) 64%,
            transparent 82%
        ) border-box,

        /* GRAPHITE BORDER */
        linear-gradient(
            #7A8581,
            #7A8581
        ) border-box !important;

    box-shadow:
        0 22px 60px rgba(0, 0, 0, 0.48),
        0 0 22px rgba(0, 217, 155, 0.045),
        inset 0 1px 0 rgba(255, 255, 255, 0.035)
        !important;
}


/* Keep everything above the decorative background */

.single-product .ast-woocommerce-container > * {
    position: relative;
    z-index: 2;
}


/* =========================================================
   ALLOW PRODUCT FRAME TO USE FULL PAGE WIDTH
   ========================================================= */

.single-product .ast-container {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.single-product #primary {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.single-product .site-main {
    max-width: none !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .single-product .ast-woocommerce-container {
        width: calc(100% - 48px) !important;
        margin: 28px auto !important;
        padding: 44px 34px !important;

        border-width: 1.5px !important;
        border-radius: 14px !important;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .single-product .ast-woocommerce-container {
        width: calc(100% - 28px) !important;
        margin: 20px auto !important;
        padding: 32px 20px !important;

        border-width: 1.5px !important;
        border-radius: 12px !important;

        box-shadow:
            0 18px 45px rgba(0, 0, 0, 0.45),
            0 0 14px rgba(0, 217, 155, 0.04)
            !important;
    }
}
/* =========================================================
   BLACK KEY REWARDS
   PRODUCT GALLERY + COUNTDOWN POSITION
   ========================================================= */

/* Keep gallery and countdown in normal document flow */
.single-product .woocommerce-product-gallery {
    position: relative !important;
    float: left;
}

/* Thumbnail gallery spacing */
.single-product .woocommerce-product-gallery .flex-control-thumbs {
    margin-top: 16px !important;
    display: flex !important;
    gap: 14px !important;
}

/* Individual thumbnail */
.single-product .woocommerce-product-gallery .flex-control-thumbs li {
    margin: 0 !important;
    padding: 0 !important;
}

/* Thumbnail image */
.single-product .woocommerce-product-gallery .flex-control-thumbs img {
    border: 1px solid #303735 !important;
    border-radius: 7px !important;
    overflow: hidden;
    opacity: 0.6 !important;
    transition:
        opacity 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease !important;
}

/* Active thumbnail */
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
    opacity: 1 !important;
    border-color: #00D99B !important;
}

/* Thumbnail hover */
.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover {
    opacity: 1 !important;
    border-color: #00D99B !important;
}


/* =========================================================
   COUNTDOWN
   ========================================================= */

.single-product .woocommerce-product-gallery > .rfwc-countdown-wrapper {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    clear: both !important;

    width: 100% !important;
    max-width: none !important;

    margin: 20px 0 0 !important;
    box-sizing: border-box !important;

    transform: none !important;
    z-index: 1 !important;
}
/* =========================================================
   BLACK KEY REWARDS
   PRODUCT PAGE - COMPACT END DATE
   ========================================================= */

.single-product .rfwc-countdown-wrapper.bk-compact-end {
    position: relative !important;
    inset: auto !important;
    transform: none !important;

    clear: both !important;
    width: 100% !important;
    max-width: none !important;

    margin: 18px 0 0 !important;
    padding: 16px 20px !important;

    box-sizing: border-box !important;

    background:
        linear-gradient(
            90deg,
            rgba(0, 217, 155, 0.055),
            transparent 45%
        ),
        #080A09 !important;

    border: 1px solid #303735 !important;
    border-radius: 8px !important;

    text-align: center !important;
}


/* Hide original countdown contents */

.single-product .rfwc-countdown-wrapper.bk-compact-end
.rfwc-countdown-label,

.single-product .rfwc-countdown-wrapper.bk-compact-end
.rfwc-countdown {
    display: none !important;
}


/* New compact text */

.single-product .bk-product-end-text {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    margin: 0 !important;

    font-family: Inter, sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;

    letter-spacing: 1.3px;
    text-transform: uppercase;

    color: #00D99B;
}


/* Small clock icon */

.single-product .bk-product-end-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    font-size: 16px;
    line-height: 1;

    color: #00D99B;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .single-product .rfwc-countdown-wrapper.bk-compact-end {
        margin-top: 14px !important;
        padding: 14px 16px !important;
    }

    .single-product .bk-product-end-text {
        font-size: 13px;
        letter-spacing: 1px;
    }
}
/* =========================================================
   BLACK KEY REWARDS
   PRODUCT PAGE - PREMIUM TICKET PURCHASE AREA
   ========================================================= */


/* ---------------------------------------------------------
   PURCHASE AREA
   --------------------------------------------------------- */

.single-product .bk-purchase-row {
    width: 100% !important;
    margin: 24px 0 0 !important;
}


/* ---------------------------------------------------------
   TICKET SELECTOR WRAPPER
   --------------------------------------------------------- */

.single-product .rfwc-quantity-wrapper {
    width: 100% !important;
    margin: 0 0 14px !important;
    padding: 16px 18px 15px !important;

    box-sizing: border-box !important;

    background:
        linear-gradient(
            110deg,
            rgba(0, 217, 155, 0.045) 0%,
            rgba(0, 217, 155, 0.012) 35%,
            transparent 65%
        ),
        #080A09 !important;

    border: 1px solid #303735 !important;
    border-radius: 10px !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.025) !important;
}


/* ---------------------------------------------------------
   "NUMBER OF TICKETS"
   --------------------------------------------------------- */

.single-product .rfwc-quantity-label {
    display: block !important;

    margin: 0 0 12px !important;

    font-family: Inter, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;

    letter-spacing: 1.1px !important;
    text-transform: uppercase !important;

    color: #F5F1E8 !important;
}


/* Hidden WooCommerce quantity container stays hidden */

.single-product .rfwc-quantity-wrapper > .quantity {
    display: none !important;
}


/* ---------------------------------------------------------
   IMPORTANT:
   KEEP PLUGIN SLIDER STRUCTURE INTACT
   --------------------------------------------------------- */

.single-product .rfwc-range-slider {
    width: 100% !important;
}


/* Actual track wrapper */

.single-product .rfwc-range-slider-track {
    width: 100% !important;
}


/* Actual working range input */

.single-product input.rfwc-range-input[type="range"] {
    width: 100% !important;

    cursor: pointer !important;

    accent-color: #00D99B !important;
}


/* ---------------------------------------------------------
   QUANTITY INFORMATION
   --------------------------------------------------------- */

.single-product .rfwc-range-slider-info {
    margin-top: 12px !important;
}


/* Selected quantity */

.single-product .rfwc-range-value {
    font-family: Inter, sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    color: #00D99B !important;
}


/* Minimum / maximum */

.single-product .rfwc-range-bounds {
    font-family: Inter, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;

    letter-spacing: 0.2px !important;

    color: #77807D !important;
}


/* ---------------------------------------------------------
   BUY TICKET BUTTON
   --------------------------------------------------------- */

.single-product .single_add_to_cart_button {
    width: 100% !important;
    min-height: 52px !important;

    margin: 0 !important;
    padding: 14px 20px !important;

    box-sizing: border-box !important;

    background: #080A09 !important;

    border: 1px solid #00D99B !important;
    border-radius: 9px !important;

    font-family: Inter, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    letter-spacing: 1px !important;
    text-transform: uppercase !important;

    color: #F5F1E8 !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.025) !important;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        box-shadow 0.2s ease !important;
}


/* BUY TICKET HOVER */

.single-product .single_add_to_cart_button:hover,
.single-product .single_add_to_cart_button:focus {
    background: #00D99B !important;
    border-color: #00D99B !important;

    color: #050606 !important;

    box-shadow:
        0 0 18px rgba(0, 217, 155, 0.12) !important;
}


/* ---------------------------------------------------------
   MAXIMUM TICKET NOTICE
   --------------------------------------------------------- */

.single-product .rfwc-max-tickets-notice {
    display: block !important;

    margin: 9px 2px 0 !important;
    padding: 0 !important;

    font-family: Inter, sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;

    color: #737B78 !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .single-product .bk-purchase-row {
        margin-top: 26px !important;
    }

    .single-product .rfwc-quantity-wrapper {
        padding: 19px 18px 18px !important;
        margin-bottom: 18px !important;
        border-radius: 8px !important;
    }

    .single-product .rfwc-quantity-label {
        margin-bottom: 16px !important;
        font-size: 12px !important;
    }

    .single-product .single_add_to_cart_button {
        min-height: 54px !important;
        font-size: 13px !important;
    }
}
/* =========================================================
   BLACK KEY REWARDS
   CUSTOM BRANDED TICKET SLIDER
   ========================================================= */

.single-product input.rfwc-range-input[type="range"] {
    --bk-progress: 0%;

    -webkit-appearance: none !important;
    appearance: none !important;

    display: block !important;

    width: 100% !important;
    height: 6px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 999px !important;

    outline: none !important;

    background:
        linear-gradient(
            to right,
            #00D99B 0%,
            #00D99B var(--bk-progress),
            #252B29 var(--bk-progress),
            #252B29 100%
        ) !important;

    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,0.045) !important;

    cursor: pointer !important;
}


/* =========================================================
   CHROME / SAFARI / EDGE THUMB
   ========================================================= */

.single-product input.rfwc-range-input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none !important;
    appearance: none !important;

    width: 18px !important;
    height: 18px !important;

    margin: 0 !important;

    border: 3px solid #050606 !important;
    border-radius: 50% !important;

    background: #00D99B !important;

    box-shadow:
        0 0 0 1px #00D99B,
        0 0 12px rgba(0, 217, 155, 0.24) !important;

    cursor: grab !important;

    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease !important;
}


.single-product input.rfwc-range-input[type="range"]:hover::-webkit-slider-thumb {
    transform: scale(1.08);

    box-shadow:
        0 0 0 1px #00D99B,
        0 0 16px rgba(0, 217, 155, 0.34) !important;
}


.single-product input.rfwc-range-input[type="range"]:active::-webkit-slider-thumb {
    cursor: grabbing !important;
    transform: scale(1.12);
}


/* =========================================================
   FIREFOX TRACK
   ========================================================= */

.single-product input.rfwc-range-input[type="range"]::-moz-range-track {
    height: 6px !important;

    border: 0 !important;
    border-radius: 999px !important;

    background: #252B29 !important;
}


/* Firefox green filled portion */

.single-product input.rfwc-range-input[type="range"]::-moz-range-progress {
    height: 6px !important;

    border-radius: 999px !important;

    background: #00D99B !important;
}


/* Firefox thumb */

.single-product input.rfwc-range-input[type="range"]::-moz-range-thumb {
    width: 14px !important;
    height: 14px !important;

    border: 3px solid #050606 !important;
    border-radius: 50% !important;

    background: #00D99B !important;

    box-shadow:
        0 0 0 1px #00D99B,
        0 0 12px rgba(0, 217, 155, 0.24) !important;

    cursor: grab !important;
}


/* Keyboard accessibility */

.single-product input.rfwc-range-input[type="range"]:focus-visible {
    box-shadow:
        0 0 0 2px #050606,
        0 0 0 3px rgba(0, 217, 155, 0.65) !important;
}
/* =========================================================
   BLACK KEY REWARDS
   CUSTOM BRANDED TICKET SLIDER
   ========================================================= */


/* ---------------------------------------------------------
   SLIDER ROW
   Label + Slider + Value
   --------------------------------------------------------- */

.single-product .rfwc-quantity-wrapper {
    display: grid !important;

    grid-template-columns:
        max-content
        minmax(260px, 1fr)
        90px !important;

    grid-template-areas:
        "label slider slider" !important;

    align-items: center !important;
    column-gap: 28px !important;

    width: 100% !important;

    padding: 28px 40px !important;
}


/* NUMBER OF TICKETS */

.single-product .rfwc-quantity-label {
    grid-area: label !important;

    display: flex !important;
    align-items: center !important;

    margin: 0 !important;

    font-family: Inter, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;

    letter-spacing: 1px !important;
    text-transform: uppercase !important;

    white-space: nowrap !important;

    color: #F5F1E8 !important;
}


/* Keep Woo quantity field hidden */

.single-product .rfwc-quantity-wrapper > .quantity {
    display: none !important;
}


/* ---------------------------------------------------------
   PLUGIN SLIDER WRAPPER
   --------------------------------------------------------- */

.single-product .rfwc-range-slider {
    grid-area: slider !important;

    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        90px !important;

    grid-template-areas:
        "track info" !important;

    align-items: center !important;
    column-gap: 20px !important;

    width: 100% !important;

    margin: 0 !important;
}


/* ---------------------------------------------------------
   REMOVE PLUGIN'S ORIGINAL TRACK APPEARANCE
   --------------------------------------------------------- */

.single-product .rfwc-range-slider-track {
    grid-area: track !important;

    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    height: 18px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;
    box-shadow: none !important;
}


/* Remove any plugin pseudo tracks */

.single-product .rfwc-range-slider-track::before,
.single-product .rfwc-range-slider-track::after {
    content: none !important;
    display: none !important;
}


/* =========================================================
   BLACK KEY REWARDS
   FINAL CUSTOM TICKET SLIDER
   ========================================================= */


/* ---------------------------------------------------------
   VISIBLE BLACK KEY TRACK
   --------------------------------------------------------- */

.single-product .rfwc-range-slider-track {
    position: relative !important;

    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    height: 8px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    background: #050606 !important;

    border: 1px solid #00D99B !important;
    border-radius: 999px !important;

    box-shadow:
        0 0 8px rgba(0, 217, 155, 0.10) !important;
}


/* Kill any plugin decorative layers */

.single-product .rfwc-range-slider-track::before,
.single-product .rfwc-range-slider-track::after {
    content: none !important;
    display: none !important;
}


/* ---------------------------------------------------------
   RANGE INPUT
   Keep functionality but remove native track appearance
   --------------------------------------------------------- */

.single-product input.rfwc-range-input[type="range"] {
    -webkit-appearance: none !important;
    appearance: none !important;

    position: absolute !important;

    left: 0 !important;
    top: 50% !important;

    transform: translateY(-50%) !important;

    width: 100% !important;
    height: 20px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    outline: 0 !important;

    background: transparent !important;

    box-shadow: none !important;

    cursor: pointer !important;
}


/* ---------------------------------------------------------
   CHROME / SAFARI / EDGE
   Native track becomes invisible
   --------------------------------------------------------- */

.single-product
input.rfwc-range-input[type="range"]::-webkit-slider-runnable-track {

    width: 100% !important;
    height: 8px !important;

    background: transparent !important;

    border: 0 !important;
    border-radius: 999px !important;

    box-shadow: none !important;
}


/* Thumb */

.single-product
input.rfwc-range-input[type="range"]::-webkit-slider-thumb {

    -webkit-appearance: none !important;
    appearance: none !important;

    width: 20px !important;
    height: 20px !important;

    margin-top: -6px !important;

    background: #050606 !important;

    border: 2px solid #00D99B !important;
    border-radius: 50% !important;

    box-shadow:
        0 0 0 2px #050606,
        0 0 10px rgba(0, 217, 155, 0.28) !important;

    cursor: grab !important;
}


.single-product
input.rfwc-range-input[type="range"]:hover::-webkit-slider-thumb {

    background: #00D99B !important;

    box-shadow:
        0 0 0 2px #050606,
        0 0 14px rgba(0, 217, 155, 0.38) !important;
}


.single-product
input.rfwc-range-input[type="range"]:active::-webkit-slider-thumb {

    cursor: grabbing !important;
}


/* ---------------------------------------------------------
   FIREFOX
   --------------------------------------------------------- */

.single-product
input.rfwc-range-input[type="range"]::-moz-range-track {

    width: 100% !important;
    height: 8px !important;

    background: transparent !important;

    border: 0 !important;

    box-shadow: none !important;
}


.single-product
input.rfwc-range-input[type="range"]::-moz-range-progress {

    background: transparent !important;
}


.single-product
input.rfwc-range-input[type="range"]::-moz-range-thumb {

    width: 20px !important;
    height: 20px !important;

    box-sizing: border-box !important;

    background: #050606 !important;

    border: 2px solid #00D99B !important;
    border-radius: 50% !important;

    box-shadow:
        0 0 10px rgba(0, 217, 155, 0.28) !important;

    cursor: grab !important;
}


/* CHROME / SAFARI / EDGE */

.single-product
input.rfwc-range-input[type="range"]::-webkit-slider-runnable-track {

    height: 8px !important;

    background: #050606 !important;

    border: 1px solid #00D99B !important;
    border-radius: 999px !important;
}


.single-product
input.rfwc-range-input[type="range"]::-webkit-slider-thumb {

    -webkit-appearance: none !important;
    appearance: none !important;

    width: 18px !important;
    height: 18px !important;

    margin-top: -6px !important;

    border: 2px solid #00D99B !important;
    border-radius: 50% !important;

    background: #050606 !important;

    box-shadow:
        0 0 0 2px #050606,
        0 0 9px rgba(0, 217, 155, 0.25) !important;

    cursor: grab !important;
}


.single-product
input.rfwc-range-input[type="range"]:hover::-webkit-slider-thumb {

    background: #00D99B !important;

    box-shadow:
        0 0 0 2px #050606,
        0 0 12px rgba(0, 217, 155, 0.35) !important;
}


/* FIREFOX */

.single-product
input.rfwc-range-input[type="range"]::-moz-range-track {

    height: 8px !important;

    background: #050606 !important;

    border: 1px solid #00D99B !important;
    border-radius: 999px !important;
}


.single-product
input.rfwc-range-input[type="range"]::-moz-range-progress {

    background: #050606 !important;
}


.single-product
input.rfwc-range-input[type="range"]::-moz-range-thumb {

    width: 18px !important;
    height: 18px !important;

    border: 2px solid #00D99B !important;
    border-radius: 50% !important;

    background: #050606 !important;

    box-shadow:
        0 0 9px rgba(0, 217, 155, 0.25) !important;

    cursor: grab !important;
}


/* ---------------------------------------------------------
   CHROME / SAFARI / EDGE THUMB
   --------------------------------------------------------- */

.single-product
input.rfwc-range-input[type="range"]::-webkit-slider-thumb {

    -webkit-appearance: none !important;
    appearance: none !important;

    width: 18px !important;
    height: 18px !important;

    border: 3px solid #050606 !important;
    border-radius: 50% !important;

    background: #00D99B !important;

    box-shadow:
        0 0 0 1px #00D99B,
        0 0 12px rgba(0, 217, 155, 0.24)
        !important;

    cursor: grab !important;

    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease !important;
}


.single-product
input.rfwc-range-input[type="range"]:hover::-webkit-slider-thumb {

    transform: scale(1.08);

    box-shadow:
        0 0 0 1px #00D99B,
        0 0 16px rgba(0, 217, 155, 0.32)
        !important;
}


.single-product
input.rfwc-range-input[type="range"]:active::-webkit-slider-thumb {

    cursor: grabbing !important;

    transform: scale(1.12);
}


/* ---------------------------------------------------------
   FIREFOX
   --------------------------------------------------------- */

.single-product
input.rfwc-range-input[type="range"]::-moz-range-track {

    height: 6px !important;

    border: 0 !important;
    border-radius: 999px !important;

    background: #29302D !important;
}


.single-product
input.rfwc-range-input[type="range"]::-moz-range-progress {

    height: 6px !important;

    border-radius: 999px !important;

    background: #00D99B !important;
}


.single-product
input.rfwc-range-input[type="range"]::-moz-range-thumb {

    width: 14px !important;
    height: 14px !important;

    border: 3px solid #050606 !important;
    border-radius: 50% !important;

    background: #00D99B !important;

    box-shadow:
        0 0 0 1px #00D99B,
        0 0 12px rgba(0, 217, 155, 0.24)
        !important;
}


/* ---------------------------------------------------------
   CURRENT VALUE
   --------------------------------------------------------- */

.single-product .rfwc-range-slider-info {

    grid-area: info !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 5px !important;

    width: 90px !important;

    margin: 0 !important;
}


/* Selected number */

.single-product .rfwc-range-value {

    font-family: Inter, sans-serif !important;

    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    color: #00D99B !important;
}


/* 1 – 10000 */

.single-product .rfwc-range-bounds {

    font-family: Inter, sans-serif !important;

    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1 !important;

    white-space: nowrap !important;

    color: #77807D !important;
}


/* ---------------------------------------------------------
   FOCUS
   --------------------------------------------------------- */

.single-product
input.rfwc-range-input[type="range"]:focus-visible {

    box-shadow:
        0 0 0 2px #050606,
        0 0 0 3px rgba(0, 217, 155, 0.65)
        !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .single-product .rfwc-quantity-wrapper {

        grid-template-columns: 1fr !important;

        grid-template-areas:
            "label"
            "slider" !important;

        row-gap: 16px !important;

        padding: 22px 20px !important;
    }


    .single-product .rfwc-quantity-label {
        justify-content: center !important;
    }


    .single-product .rfwc-range-slider {

        grid-template-columns:
            minmax(0, 1fr)
            70px !important;

        column-gap: 14px !important;
    }


    .single-product .rfwc-range-slider-info {
        width: 70px !important;
    }
}
/* =========================================================
   BLACK KEY REWARDS
   PRODUCT PAGE - INSTANT WIN BADGE
   ========================================================= */


/* MAIN PANEL */

.single-product .rfwc-instant-win-badge {
    position: relative !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: none !important;

    box-sizing: border-box !important;

    margin: 22px 0 28px !important;
    padding: 20px 24px 20px 27px !important;

    background:
        linear-gradient(
            90deg,
            rgba(0, 217, 155, 0.07) 0%,
            rgba(0, 217, 155, 0.025) 30%,
            transparent 65%
        ),
        #080A09 !important;

    border: 1px solid #303735 !important;
    border-left: 3px solid #00D99B !important;
    border-radius: 9px !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.025),
        0 0 18px rgba(0, 217, 155, 0.025) !important;

    text-align: left !important;

    font-family: Inter, sans-serif !important;

    color: #F5F1E8 !important;
}


/* ---------------------------------------------------------
   TITLE ROW
   --------------------------------------------------------- */

.single-product .rfwc-iw-badge-title {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    gap: 9px !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ---------------------------------------------------------
   LIGHTNING ICON
   --------------------------------------------------------- */

.single-product .rfwc-iw-badge-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 26px !important;
    height: 26px !important;

    flex: 0 0 26px !important;

    margin: 0 !important;

    background: rgba(0, 217, 155, 0.10) !important;

    border: 1px solid rgba(0, 217, 155, 0.32) !important;
    border-radius: 50% !important;
}


/* Emoji */

.single-product .rfwc-iw-badge-icon img.emoji {
    width: 14px !important;
    height: 14px !important;

    margin: 0 !important;
}


/* ---------------------------------------------------------
   INSTANT WIN TEXT
   --------------------------------------------------------- */

.single-product .rfwc-iw-badge-text {
    margin: 0 !important;

    font-family: Inter, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    letter-spacing: 1px !important;
    text-transform: uppercase !important;

    color: #00D99B !important;
}


/* ---------------------------------------------------------
   DESCRIPTION
   --------------------------------------------------------- */

.single-product .rfwc-iw-badge-sub {
    display: block !important;

    margin: 8px 0 0 35px !important;
    padding: 0 !important;

    font-family: Inter, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;

    color: #8C9592 !important;
}


/* ---------------------------------------------------------
   SUBTLE LEFT GLOW
   --------------------------------------------------------- */

.single-product .rfwc-instant-win-badge::after {
    content: "" !important;

    position: absolute !important;

    left: -3px !important;
    top: 22% !important;

    width: 3px !important;
    height: 56% !important;

    border-radius: 999px !important;

    background: #00D99B !important;

    box-shadow:
        0 0 13px rgba(0, 217, 155, 0.35) !important;

    pointer-events: none !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .single-product .rfwc-instant-win-badge {
        margin: 18px 0 24px !important;
        padding: 18px 18px 18px 21px !important;

        border-radius: 8px !important;
    }

    .single-product .rfwc-iw-badge-text {
        font-size: 13px !important;
    }

    .single-product .rfwc-iw-badge-sub {
        margin-left: 35px !important;
        font-size: 11px !important;
    }
}
/* =========================================================
   BLACK KEY REWARDS
   PRODUCT PAGE - PRODUCT INFORMATION
   ========================================================= */


/* ---------------------------------------------------------
   PRODUCT TITLE
   --------------------------------------------------------- */

.single-product .summary .product_title {
    margin: 0 0 14px !important;

    font-family: Inter, sans-serif !important;
    font-size: clamp(32px, 3vw, 46px) !important;
    font-weight: 600 !important;
    line-height: 1.08 !important;

    letter-spacing: -1.2px !important;

    color: #F5F1E8 !important;
}


/* ---------------------------------------------------------
   PRICE
   --------------------------------------------------------- */

.single-product .summary .price {
    display: block !important;

    margin: 0 0 22px !important;

    font-family: Inter, sans-serif !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;

    letter-spacing: -0.4px !important;

    color: #F5F1E8 !important;
}


/* Make sure WooCommerce price children inherit */

.single-product .summary .price,
.single-product .summary .price *,
.single-product .summary .woocommerce-Price-amount,
.single-product .summary .woocommerce-Price-currencySymbol {
    font-family: Inter, sans-serif !important;
    color: #F5F1E8 !important;
}


/* ---------------------------------------------------------
   SHORT DESCRIPTION
   --------------------------------------------------------- */

.single-product .summary .woocommerce-product-details__short-description {
    max-width: 620px !important;

    margin: 0 0 38px !important;

    font-family: Inter, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;

    color: #9AA29F !important;
}


.single-product .summary .woocommerce-product-details__short-description p {
    margin: 0 !important;

    font-family: Inter, sans-serif !important;
    color: inherit !important;
}


/* ---------------------------------------------------------
   REMOVE EXCESS SPACE BEFORE PURCHASE AREA
   --------------------------------------------------------- */

.single-product .summary form.cart {
    margin-top: 0 !important;
}


.single-product .summary .bk-purchase-row {
    margin-top: 0 !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .single-product .summary .product_title {
        font-size: 34px !important;
    }

    .single-product .summary .price {
        font-size: 23px !important;
    }

    .single-product .summary
    .woocommerce-product-details__short-description {
        margin-bottom: 32px !important;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .single-product .summary .product_title {
        margin-bottom: 12px !important;

        font-size: 29px !important;
        letter-spacing: -0.7px !important;
    }

    .single-product .summary .price {
        margin-bottom: 18px !important;

        font-size: 22px !important;
    }

    .single-product .summary
    .woocommerce-product-details__short-description {
        margin-bottom: 28px !important;

        font-size: 14px !important;
        line-height: 1.6 !important;
    }
}
/* =========================================================
   BLACK KEY REWARDS
   PRODUCT PAGE - RAFFLE PROGRESS
   ========================================================= */


/* ---------------------------------------------------------
   PROGRESS WRAPPER
   --------------------------------------------------------- */

.single-product .rfwc-progress-wrapper {
    width: 100% !important;

    margin: 28px 0 0 !important;
    padding: 0 !important;

    font-family: Inter, sans-serif !important;
}


/* ---------------------------------------------------------
   PROGRESS TRACK
   --------------------------------------------------------- */

/* Main plugin progress bar */

.single-product .rfwc-progress-wrapper .rfwc-progress-bar {
    position: relative !important;

    width: 100% !important;
    height: 8px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    background: #111412 !important;

    border: 1px solid #303735 !important;
    border-radius: 999px !important;

    box-shadow:
        inset 0 1px 2px rgba(0, 0, 0, 0.45) !important;
}


/* ---------------------------------------------------------
   EMERALD PROGRESS FILL
   --------------------------------------------------------- */

.single-product .rfwc-progress-wrapper .rfwc-progress-fill {
    height: 100% !important;

    background: #00D99B !important;

    border: 0 !important;
    border-radius: 999px !important;

    box-shadow:
        0 0 10px rgba(0, 217, 155, 0.16) !important;
}


/* ---------------------------------------------------------
   SOLD / REMAINING ROW
   --------------------------------------------------------- */

.single-product .rfwc-progress-wrapper .rfwc-progress-stats {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    width: 100% !important;

    margin: 11px 0 0 !important;
    padding: 0 2px !important;

    box-sizing: border-box !important;

    font-family: Inter, sans-serif !important;
}


/* All stat text */

.single-product .rfwc-progress-wrapper .rfwc-progress-stats,
.single-product .rfwc-progress-wrapper .rfwc-progress-stats * {
    font-family: Inter, sans-serif !important;

    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;

    color: #7D8683 !important;
}


/* Numbers */

.single-product .rfwc-progress-wrapper .rfwc-progress-stats strong,
.single-product .rfwc-progress-wrapper .rfwc-progress-stats b {
    font-weight: 600 !important;

    color: #A7AFAC !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .single-product .rfwc-progress-wrapper {
        margin-top: 24px !important;
    }

    .single-product .rfwc-progress-wrapper .rfwc-progress-bar {
        height: 7px !important;
    }

    .single-product .rfwc-progress-wrapper .rfwc-progress-stats {
        margin-top: 9px !important;
    }

    .single-product .rfwc-progress-wrapper .rfwc-progress-stats,
    .single-product .rfwc-progress-wrapper .rfwc-progress-stats * {
        font-size: 11px !important;
    }
}
/* =========================================================
   BLACK KEY REWARDS
   PROGRESS BAR - SOLD / REMAINING TEXT
   ========================================================= */

.single-product .rfwc-progress-text {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    width: 100% !important;

    margin: 9px 0 0 !important;
    padding: 0 2px !important;

    box-sizing: border-box !important;

    font-family: Inter, sans-serif !important;
}


/* SOLD / REMAINING */

.single-product .rfwc-progress-text > span {
    font-family: Inter, sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;

    color: #8A9390 !important;
}


/* NUMBERS */

.single-product .rfwc-progress-text > span strong {
    font-family: Inter, sans-serif !important;
    font-size: inherit !important;
    font-weight: 600 !important;

    color: #AEB5B2 !important;
}


/* MOBILE */

@media (max-width: 767px) {

    .single-product .rfwc-progress-text {
        margin-top: 8px !important;
    }

    .single-product .rfwc-progress-text > span {
        font-size: 12px !important;
    }
}
/* =========================================================
   BLACK KEY REWARDS
   INSTANT WIN - WINNERS PANEL
   ========================================================= */


/* ---------------------------------------------------------
   OUTER SECTION
   --------------------------------------------------------- */

.single-product .rfwc-winners-section {
    width: 100% !important;
    margin: 34px 0 0 !important;

    font-family: Inter, sans-serif !important;
}


/* ---------------------------------------------------------
   WINNER ANNOUNCEMENT CARD
   --------------------------------------------------------- */

.single-product
.rfwc-winners-announcement.rfwc-winners-instant-win {
    position: relative !important;
    box-sizing: border-box !important;
    overflow: hidden !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 26px 28px !important;

    background:
        linear-gradient(
            100deg,
            rgba(214, 169, 40, 0.055) 0%,
            rgba(214, 169, 40, 0.015) 30%,
            transparent 60%
        ),
        #080A09 !important;

    border: 1px solid #303735 !important;
    border-left: 3px solid #D6A928 !important;
    border-radius: 10px !important;

    box-shadow:
        0 12px 32px rgba(0, 0, 0, 0.18) !important;

    color: #F5F1E8 !important;
}


/* ---------------------------------------------------------
   HEADER
   --------------------------------------------------------- */

.single-product .rfwc-winners-header {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;

    margin: 0 0 20px !important;
    padding: 0 0 18px !important;

    border-bottom: 1px solid rgba(214, 169, 40, 0.22) !important;
}


/* Lightning icon */

.single-product .rfwc-trophy-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;

    background: rgba(214, 169, 40, 0.07) !important;

    border: 1px solid rgba(214, 169, 40, 0.45) !important;
    border-radius: 50% !important;
}


/* Emoji inside icon */

.single-product .rfwc-trophy-icon img,
.single-product .rfwc-trophy-icon .emoji {
    width: 17px !important;
    height: 17px !important;
    margin: 0 !important;
}


/* "1 Instant Win Winner" */

.single-product .rfwc-winners-title {
    font-family: Inter, sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;

    letter-spacing: 0.2px !important;

    color: #E3BC4B !important;
}


/* ---------------------------------------------------------
   WINNERS LIST
   --------------------------------------------------------- */

.single-product .rfwc-winners-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Individual winner */

.single-product .rfwc-winner-item {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;

    position: relative !important;

    box-sizing: border-box !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 14px 16px !important;

    background: #0B0D0C !important;

    border: 1px solid #252B29 !important;
    border-radius: 8px !important;

    color: #F5F1E8 !important;
}


/* ---------------------------------------------------------
   CUSTOMER AVATAR
   --------------------------------------------------------- */

.single-product .rfwc-winner-avatar {
    display: flex !important;
    flex: 0 0 42px !important;

    width: 42px !important;
    height: 42px !important;
}


.single-product .rfwc-winner-avatar img {
    width: 42px !important;
    height: 42px !important;

    object-fit: cover !important;

    border: 1px solid rgba(0, 217, 155, 0.35) !important;
    border-radius: 50% !important;
}


/* ---------------------------------------------------------
   LIGHTNING / WINNER TIER ICON
   --------------------------------------------------------- */

.single-product .rfwc-winner-tier {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 26px !important;

    width: 26px !important;
    height: 26px !important;
}


.single-product .rfwc-iw-bolt {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 26px !important;
    height: 26px !important;
}


.single-product .rfwc-iw-bolt img,
.single-product .rfwc-iw-bolt .emoji {
    width: 16px !important;
    height: 16px !important;
}


/* ---------------------------------------------------------
   WINNER INFORMATION
   --------------------------------------------------------- */

.single-product .rfwc-winner-info {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 3px !important;

    min-width: 0 !important;
    flex: 1 1 auto !important;

    font-family: Inter, sans-serif !important;
}


/* Winner name */

.single-product .rfwc-winner-name {
    font-family: Inter, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;

    color: #F5F1E8 !important;
}


/* City */

.single-product .rfwc-winner-city {
    font-family: Inter, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;

    color: #7F8885 !important;
}


/* Winning ticket */

.single-product .rfwc-winner-ticket {
    margin-top: 3px !important;

    font-family: Inter, sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;

    letter-spacing: 0.4px !important;

    color: #D6A928 !important;
}


/* ---------------------------------------------------------
   PRIZE / PRODUCT IMAGE
   --------------------------------------------------------- */

.single-product .rfwc-winner-images {
    display: flex !important;
    align-items: center !important;

    margin-left: auto !important;
}


.single-product .rfwc-winner-product-image {
    display: flex !important;

    width: 54px !important;
    height: 54px !important;
}


.single-product .rfwc-winner-product-image img {
    width: 54px !important;
    height: 54px !important;

    object-fit: cover !important;

    border: 1px solid #303735 !important;
    border-radius: 6px !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .single-product .rfwc-winners-section {
        margin-top: 28px !important;
    }

    .single-product
    .rfwc-winners-announcement.rfwc-winners-instant-win {
        padding: 22px 18px !important;
    }

    .single-product .rfwc-winners-header {
        margin-bottom: 16px !important;
        padding-bottom: 15px !important;
    }

    .single-product .rfwc-winners-title {
        font-size: 15px !important;
    }

    .single-product .rfwc-winner-item {
        gap: 10px !important;
        padding: 12px !important;
    }

    .single-product .rfwc-winner-avatar {
        flex-basis: 36px !important;

        width: 36px !important;
        height: 36px !important;
    }

    .single-product .rfwc-winner-avatar img {
        width: 36px !important;
        height: 36px !important;
    }

    .single-product .rfwc-winner-product-image,
    .single-product .rfwc-winner-product-image img {
        width: 44px !important;
        height: 44px !important;
    }
}
/* =========================================================
   BLACK KEY REWARDS
   INSTANT WIN WINNER - FINAL REFINEMENTS
   ========================================================= */


/* ---------------------------------------------------------
   TIGHTEN OUTER WINNER CARD
   --------------------------------------------------------- */

.single-product
.rfwc-winners-announcement.rfwc-winners-instant-win {
    padding: 22px 26px !important;
}


/* ---------------------------------------------------------
   TIGHTER HEADER
   --------------------------------------------------------- */

.single-product .rfwc-winners-header {
    margin-bottom: 16px !important;
    padding-bottom: 15px !important;
}


/* ---------------------------------------------------------
   REMOVE CUSTOMER AVATAR
   --------------------------------------------------------- */

.single-product .rfwc-winner-avatar {
    display: none !important;
}


/* ---------------------------------------------------------
   CLEANER WINNER ROW
   --------------------------------------------------------- */

.single-product .rfwc-winner-item {
    min-height: 92px !important;

    padding: 16px 18px !important;

    gap: 14px !important;
}


/* ---------------------------------------------------------
   LIGHTNING ICON
   --------------------------------------------------------- */

.single-product .rfwc-winner-tier {
    flex: 0 0 30px !important;

    width: 30px !important;
    height: 30px !important;
}

.single-product .rfwc-iw-bolt {
    width: 30px !important;
    height: 30px !important;
}

.single-product .rfwc-iw-bolt img,
.single-product .rfwc-iw-bolt .emoji {
    width: 17px !important;
    height: 17px !important;
}


/* ---------------------------------------------------------
   WINNER DETAILS
   --------------------------------------------------------- */

.single-product .rfwc-winner-info {
    gap: 4px !important;
}


/* Winner name */

.single-product .rfwc-winner-name {
    font-size: 15px !important;
    font-weight: 600 !important;

    color: #F5F1E8 !important;
}


/* Location */

.single-product .rfwc-winner-city {
    font-size: 12px !important;
    font-weight: 400 !important;

    color: #7F8885 !important;
}


/* Winning ticket */

.single-product .rfwc-winner-ticket {
    margin-top: 5px !important;

    font-size: 12px !important;
    font-weight: 700 !important;

    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;

    color: #D6A928 !important;
}


/* ---------------------------------------------------------
   PRODUCT / PRIZE IMAGE
   --------------------------------------------------------- */

.single-product .rfwc-winner-images {
    margin-left: auto !important;
}

.single-product .rfwc-winner-product-image,
.single-product .rfwc-winner-product-image img {
    width: 50px !important;
    height: 50px !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .single-product
    .rfwc-winners-announcement.rfwc-winners-instant-win {
        padding: 19px 17px !important;
    }

    .single-product .rfwc-winner-item {
        min-height: 82px !important;

        padding: 14px !important;
        gap: 10px !important;
    }

    .single-product .rfwc-winner-tier,
    .single-product .rfwc-iw-bolt {
        width: 26px !important;
        height: 26px !important;
        flex-basis: 26px !important;
    }

    .single-product .rfwc-winner-product-image,
    .single-product .rfwc-winner-product-image img {
        width: 44px !important;
        height: 44px !important;
    }
}
/* =========================================================
   BLACK KEY REWARDS
   MAXIMUM TICKETS NOTICE
   ========================================================= */

.single-product .rfwc-max-tickets-notice {
    display: block !important;

    margin: 10px 2px 0 !important;
    padding: 0 !important;

    font-family: Inter, sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    letter-spacing: 0.1px !important;

    color: #6F7875 !important;

    background: none !important;
    border: none !important;

    box-shadow: none !important;
}


/* Remove plugin/custom decorative line */

.single-product .rfwc-max-tickets-notice::before,
.single-product .rfwc-max-tickets-notice::after {
    content: none !important;
    display: none !important;

    border: 0 !important;
    background: none !important;
}


/* MOBILE */

@media (max-width: 767px) {

    .single-product .rfwc-max-tickets-notice {
        margin-top: 9px !important;

        font-size: 10px !important;
        line-height: 1.5 !important;
    }
}
/* =========================================================
   BLACK KEY - PRODUCT PURCHASE CARD
   ========================================================= */


/* Main purchase card */

.single-product form.cart .bk-purchase-row {
    display: flex !important;
    flex-direction: column !important;

    width: 82% !important;
    max-width: 560px !important;

    margin: 28px auto 0 !important;
    padding: 24px !important;

    box-sizing: border-box !important;

    background:
        linear-gradient(
            110deg,
            rgba(0, 217, 155, 0.04),
            rgba(0, 217, 155, 0.01) 45%,
            transparent 75%
        ),
        #080A09 !important;

    border: 1px solid #303735 !important;
    border-radius: 10px !important;

    overflow: hidden !important;
}


/* =========================================================
   NUMBER OF TICKETS
   ========================================================= */

.single-product form.cart .bk-purchase-row .rfwc-quantity-wrapper {
    display: grid !important;

    grid-template-columns:
        max-content
        minmax(120px, 1fr) !important;

    align-items: center !important;

    gap: 24px !important;

    width: 100% !important;

    margin: 0 0 22px !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}


.single-product form.cart .rfwc-quantity-label {
    margin: 0 !important;

    font-family: Inter, Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;

    letter-spacing: 0.9px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;

    color: #F5F1E8 !important;
}


/* Hide plugin number input */

.single-product form.cart .rfwc-quantity-wrapper > .quantity {
    display: none !important;
}


/* Slider + number */

.single-product form.cart .rfwc-range-slider {
    display: grid !important;

    grid-template-columns:
        minmax(100px, 1fr)
        72px !important;

    align-items: center !important;

    gap: 14px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


.single-product form.cart .rfwc-range-slider-track {
    position: relative !important;

    width: 100% !important;
    height: 6px !important;

    background: #050606 !important;

    border: 1px solid #00D99B !important;
    border-radius: 999px !important;
}


.single-product form.cart .rfwc-range-slider-info {
    display: flex !important;
    flex-direction: column !important;

    align-items: center !important;

    gap: 5px !important;

    width: 72px !important;

    margin: 0 !important;
}


.single-product form.cart .rfwc-range-value {
    font-family: Inter, Arial, sans-serif !important;

    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    color: #00D99B !important;
}


.single-product form.cart .rfwc-range-bounds {
    font-family: Inter, Arial, sans-serif !important;

    font-size: 10px !important;
    font-weight: 400 !important;

    white-space: nowrap !important;

    color: #77807D !important;
}


/* =========================================================
   ACTUAL RANGE INPUT
   ========================================================= */

.single-product form.cart input.rfwc-range-input[type="range"] {
    -webkit-appearance: none !important;
    appearance: none !important;

    position: absolute !important;

    left: 0 !important;
    top: 50% !important;

    transform: translateY(-50%) !important;

    width: 100% !important;
    height: 20px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;
    outline: 0 !important;

    cursor: pointer !important;
}


.single-product
form.cart
input.rfwc-range-input[type="range"]::-webkit-slider-runnable-track {

    height: 6px !important;

    background: transparent !important;

    border: 0 !important;
}


.single-product
form.cart
input.rfwc-range-input[type="range"]::-webkit-slider-thumb {

    -webkit-appearance: none !important;
    appearance: none !important;

    width: 18px !important;
    height: 18px !important;

    margin-top: -6px !important;

    background: #00D99B !important;

    border: 3px solid #050606 !important;
    border-radius: 50% !important;

    box-shadow:
        0 0 0 1px #00D99B,
        0 0 10px rgba(0, 217, 155, 0.22) !important;

    cursor: grab !important;
}


/* =========================================================
   ACTUAL BUY TICKET BUTTON
   ========================================================= */

.single-product form.cart
.bk-purchase-row
button.single_add_to_cart_button.button.alt {

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    position: relative !important;

    float: none !important;

    width: 100% !important;
    max-width: none !important;

    height: 48px !important;
    min-height: 48px !important;

    margin: 0 !important;
    padding: 0 20px !important;

    box-sizing: border-box !important;

    background: #080A09 !important;
    color: #F5F1E8 !important;

    border: 1px solid #00D99B !important;
    border-radius: 7px !important;

    font-family: Inter, Arial, sans-serif !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    letter-spacing: 0.9px !important;
    text-transform: uppercase !important;

    box-shadow: none !important;

    cursor: pointer !important;

    z-index: 5 !important;
}


/* Make the ENTIRE button interactive */

.single-product form.cart
.bk-purchase-row
button.single_add_to_cart_button.button.alt::before,
.single-product form.cart
.bk-purchase-row
button.single_add_to_cart_button.button.alt::after {

    pointer-events: none !important;
}


/* Button hover */

.single-product form.cart
.bk-purchase-row
button.single_add_to_cart_button.button.alt:hover,
.single-product form.cart
.bk-purchase-row
button.single_add_to_cart_button.button.alt:focus {

    background: #00D99B !important;
    color: #050606 !important;

    border-color: #00D99B !important;

    box-shadow: none !important;
}


/* =========================================================
   MAXIMUM TICKETS
   ========================================================= */

.single-product form.cart > .rfwc-max-tickets-notice {
    display: block !important;

    width: 82% !important;
    max-width: 560px !important;

    margin: 10px auto 0 !important;
    padding: 0 !important;

    font-family: Inter, Arial, sans-serif !important;

    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;

    text-align: center !important;

    color: #7E8784 !important;

    border: 0 !important;
    background: transparent !important;
}


/* Kill the gold line */

.single-product form.cart::after,
.single-product .rfwc-max-tickets-notice::before,
.single-product .rfwc-max-tickets-notice::after {

    content: none !important;
    display: none !important;
}


/* =========================================================
   INSTANT WIN
   ========================================================= */

.single-product .rfwc-instant-win-badge {
    width: 82% !important;
    max-width: 560px !important;

    margin: 30px auto 24px !important;

    box-sizing: border-box !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .single-product form.cart .bk-purchase-row,
    .single-product form.cart > .rfwc-max-tickets-notice,
    .single-product .rfwc-instant-win-badge {

        width: 100% !important;
        max-width: none !important;
    }


    .single-product form.cart .bk-purchase-row {
        padding: 20px 18px !important;
    }


    .single-product form.cart .bk-purchase-row .rfwc-quantity-wrapper {
        grid-template-columns: 1fr !important;

        gap: 14px !important;
    }

}
/* =========================================================
   BLACK KEY - PURCHASE CARD FINAL SIZE REFINEMENT
   ========================================================= */

/* Purchase card */
.single-product form.cart .bk-purchase-row {
    width: 78% !important;
    max-width: 520px !important;

    padding: 20px 22px !important;
}

/* Slightly tighter selector spacing */
.single-product form.cart .bk-purchase-row .rfwc-quantity-wrapper {
    margin-bottom: 18px !important;
    gap: 20px !important;
}

/* Slightly shorter Buy Ticket button */
.single-product form.cart
.bk-purchase-row
button.single_add_to_cart_button.button.alt {
    height: 44px !important;
    min-height: 44px !important;

    font-size: 12px !important;
}

/* Maximum ticket notice */
.single-product form.cart > .rfwc-max-tickets-notice {
    width: 78% !important;
    max-width: 520px !important;

    margin: 7px auto 0 !important;
}

/* Instant Win card - match purchase card */
.single-product .rfwc-instant-win-badge {
    width: 78% !important;
    max-width: 520px !important;

    margin-top: 26px !important;
}

/* Mobile stays full width */
@media (max-width: 767px) {

    .single-product form.cart .bk-purchase-row,
    .single-product form.cart > .rfwc-max-tickets-notice,
    .single-product .rfwc-instant-win-badge {
        width: 100% !important;
        max-width: none !important;
    }
}
/* =========================================================
   BLACK KEY REWARDS
   PRODUCT PURCHASE LAYOUT
   Green: #00D99B
   Font: Inter
   ========================================================= */


/* =========================================================
   1. TWO-COLUMN PURCHASE LAYOUT
   ========================================================= */

.single-product .bk-purchase-layout {
    display: grid !important;

    grid-template-columns: 1fr !important;
    gap: 18px !important;

    width: 100% !important;
    max-width: none !important;

    margin: 30px 0 0 !important;

    font-family: Inter, Arial, sans-serif !important;
}


/* Instant Win = two cards */

.single-product .bk-purchase-layout.bk-has-instant-win {
    grid-template-columns:
        minmax(0, 1.25fr)
        minmax(0, 0.95fr) !important;

    align-items: stretch !important;
}


/* Live Draw = purchase card only */

.single-product .bk-purchase-layout.bk-live-draw {
    grid-template-columns: 1fr !important;
}


/* =========================================================
   2. PURCHASE CARD
   ========================================================= */

.single-product
.bk-purchase-layout
.bk-purchase-row {

    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    height: 100% !important;
    min-height: 180px !important;

    margin: 0 !important;

    padding: 26px 28px !important;

    box-sizing: border-box !important;

    background:
        linear-gradient(
            110deg,
            rgba(0, 217, 155, 0.045) 0%,
            rgba(0, 217, 155, 0.012) 45%,
            transparent 75%
        ),
        #080A09 !important;

    border: 1px solid #303735 !important;
    border-radius: 10px !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.02) !important;
}


/* =========================================================
   3. TICKET SELECTOR
   ========================================================= */

.single-product
.bk-purchase-layout
.rfwc-quantity-wrapper {

    display: grid !important;

    grid-template-columns:
        max-content
        minmax(0, 1fr) !important;

    align-items: center !important;

    gap: 22px !important;

    width: 100% !important;

    margin: 0 0 24px !important;
    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;
}


/* Label */

.single-product
.bk-purchase-layout
.rfwc-quantity-label {

    margin: 0 !important;

    font-family: Inter, Arial, sans-serif !important;

    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;

    letter-spacing: 0.9px !important;
    text-transform: uppercase !important;

    white-space: nowrap !important;

    color: #F5F1E8 !important;
}


/* Hide original numeric input */

.single-product
.bk-purchase-layout
.rfwc-quantity-wrapper > .quantity {

    display: none !important;
}


/* =========================================================
   4. SLIDER
   ========================================================= */

.single-product
.bk-purchase-layout
.rfwc-range-slider {

    display: grid !important;

    grid-template-columns:
        minmax(80px, 1fr)
        68px !important;

    align-items: center !important;

    gap: 14px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


.single-product
.bk-purchase-layout
.rfwc-range-slider-track {

    position: relative !important;

    width: 100% !important;
    height: 6px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #050606 !important;

    border: 1px solid #00D99B !important;
    border-radius: 999px !important;

    box-shadow:
        0 0 7px rgba(0,217,155,0.08) !important;
}


.single-product
.bk-purchase-layout
.rfwc-range-slider-track::before,
.single-product
.bk-purchase-layout
.rfwc-range-slider-track::after {

    content: none !important;
    display: none !important;
}


/* Actual range input */

.single-product
.bk-purchase-layout
input.rfwc-range-input[type="range"] {

    -webkit-appearance: none !important;
    appearance: none !important;

    position: absolute !important;

    left: 0 !important;
    top: 50% !important;

    transform: translateY(-50%) !important;

    width: 100% !important;
    height: 20px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;
    outline: 0 !important;

    box-shadow: none !important;

    cursor: pointer !important;
}


.single-product
.bk-purchase-layout
input.rfwc-range-input[type="range"]::-webkit-slider-runnable-track {

    height: 6px !important;

    background: transparent !important;

    border: 0 !important;
}


.single-product
.bk-purchase-layout
input.rfwc-range-input[type="range"]::-webkit-slider-thumb {

    -webkit-appearance: none !important;
    appearance: none !important;

    width: 18px !important;
    height: 18px !important;

    margin-top: -6px !important;

    background: #00D99B !important;

    border: 3px solid #050606 !important;
    border-radius: 50% !important;

    box-shadow:
        0 0 0 1px #00D99B,
        0 0 10px rgba(0,217,155,0.22) !important;

    cursor: grab !important;
}


/* Firefox */

.single-product
.bk-purchase-layout
input.rfwc-range-input[type="range"]::-moz-range-track {

    height: 6px !important;

    background: transparent !important;

    border: 0 !important;
}


.single-product
.bk-purchase-layout
input.rfwc-range-input[type="range"]::-moz-range-progress {

    background: transparent !important;
}


.single-product
.bk-purchase-layout
input.rfwc-range-input[type="range"]::-moz-range-thumb {

    width: 12px !important;
    height: 12px !important;

    background: #00D99B !important;

    border: 3px solid #050606 !important;
    border-radius: 50% !important;

    box-shadow:
        0 0 0 1px #00D99B,
        0 0 10px rgba(0,217,155,0.22) !important;
}


/* =========================================================
   5. QUANTITY VALUE
   ========================================================= */

.single-product
.bk-purchase-layout
.rfwc-range-slider-info {

    display: flex !important;
    flex-direction: column !important;

    align-items: center !important;
    justify-content: center !important;

    gap: 5px !important;

    width: 68px !important;

    margin: 0 !important;
    padding: 0 !important;
}


.single-product
.bk-purchase-layout
.rfwc-range-value {

    font-family: Inter, Arial, sans-serif !important;

    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    color: #00D99B !important;
}


.single-product
.bk-purchase-layout
.rfwc-range-bounds {

    font-family: Inter, Arial, sans-serif !important;

    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 1 !important;

    white-space: nowrap !important;

    color: #77807D !important;
}


/* =========================================================
   6. BUY TICKET BUTTON
   ========================================================= */

.single-product
.bk-purchase-layout
button.single_add_to_cart_button.button.alt {

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    position: relative !important;

    float: none !important;

    width: 100% !important;
    max-width: none !important;

    height: 48px !important;
    min-height: 48px !important;

    margin: 0 !important;
    padding: 0 20px !important;

    box-sizing: border-box !important;

    background: #080A09 !important;

    color: #F5F1E8 !important;

    border: 1px solid #00D99B !important;
    border-radius: 7px !important;

    font-family: Inter, Arial, sans-serif !important;

    font-size: 13px !important;
    font-weight: 700 !important;

    letter-spacing: 0.9px !important;
    text-transform: uppercase !important;

    box-shadow: none !important;

    cursor: pointer !important;

    z-index: 5 !important;

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease !important;
}


.single-product
.bk-purchase-layout
button.single_add_to_cart_button.button.alt:hover,
.single-product
.bk-purchase-layout
button.single_add_to_cart_button.button.alt:focus {

    background: #00D99B !important;

    color: #050606 !important;

    border-color: #00D99B !important;
}


/* =========================================================
   7. INSTANT WIN CARD
   ========================================================= */

.single-product
.bk-purchase-layout
.rfwc-instant-win-badge {

    display: flex !important;
    flex-direction: column !important;

    align-items: flex-start !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: none !important;

    height: 100% !important;
    min-height: 180px !important;

    margin: 0 !important;

    padding: 28px 30px !important;

    box-sizing: border-box !important;

    background:
        linear-gradient(
            110deg,
            rgba(0,217,155,0.07) 0%,
            rgba(0,217,155,0.018) 42%,
            transparent 75%
        ),
        #080A09 !important;

    border: 1px solid #303735 !important;
    border-left: 4px solid #00D99B !important;

    border-radius: 10px !important;

    box-shadow: none !important;

    text-align: left !important;
}


/* Instant Win title */

.single-product
.bk-purchase-layout
.rfwc-iw-badge-title {

    display: flex !important;

    align-items: center !important;

    gap: 12px !important;

    margin: 0 0 14px !important;

    font-family: Inter, Arial, sans-serif !important;
}


/* Instant Win title text */

.single-product
.bk-purchase-layout
.rfwc-iw-badge-text {

    font-family: Inter, Arial, sans-serif !important;

    font-size: 15px !important;
    font-weight: 700 !important;

    letter-spacing: 0.7px !important;
    text-transform: uppercase !important;

    color: #00D99B !important;
}


/* Instant Win description */

.single-product
.bk-purchase-layout
.rfwc-iw-badge-sub {

    display: block !important;

    margin: 0 0 0 48px !important;

    font-family: Inter, Arial, sans-serif !important;

    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;

    color: #909895 !important;
}


/* =========================================================
   8. MAXIMUM TICKETS STRIP
   ========================================================= */

.single-product
form.cart > .rfwc-max-tickets-notice {

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: none !important;

    min-height: 42px !important;

    margin: 12px 0 0 !important;
    padding: 8px 18px !important;

    box-sizing: border-box !important;

    background:
        linear-gradient(
            90deg,
            rgba(0,217,155,0.025),
            transparent 50%,
            rgba(0,217,155,0.025)
        ),
        #080A09 !important;

    border: 1px solid #303735 !important;
    border-radius: 7px !important;

    font-family: Inter, Arial, sans-serif !important;

    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;

    text-align: center !important;

    color: #858D8A !important;
}


/* Remove old decorations */

.single-product
form.cart > .rfwc-max-tickets-notice::before,
.single-product
form.cart > .rfwc-max-tickets-notice::after {

    content: none !important;
    display: none !important;
}


/* =========================================================
   9. REMOVE OLD FORM DIVIDER
   ========================================================= */

.single-product form.cart {
    border-bottom: 0 !important;
}


.single-product form.cart::before,
.single-product form.cart::after {

    content: none !important;
    display: none !important;
}


/* =========================================================
   10. LIVE DRAW
   No Instant Win card
   ========================================================= */

.single-product
.bk-purchase-layout.bk-live-draw
.bk-purchase-row {

    width: 100% !important;
}


/* =========================================================
   11. TABLET / MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .single-product
    .bk-purchase-layout.bk-has-instant-win {

        grid-template-columns: 1fr !important;

        gap: 14px !important;
    }


    .single-product
    .bk-purchase-layout
    .bk-purchase-row,

    .single-product
    .bk-purchase-layout
    .rfwc-instant-win-badge {

        min-height: 0 !important;

        padding: 20px 18px !important;
    }


    .single-product
    .bk-purchase-layout
    .rfwc-quantity-wrapper {

        grid-template-columns: 1fr !important;

        gap: 14px !important;

        margin-bottom: 18px !important;
    }


    .single-product
    .bk-purchase-layout
    .rfwc-iw-badge-sub {

        margin-left: 0 !important;
    }


    .single-product
    form.cart > .rfwc-max-tickets-notice {

        min-height: 40px !important;

        margin-top: 10px !important;
    }

}
/* =========================================================
   BLACK KEY - PURCHASE GRID ALIGNMENT FIX
   ========================================================= */


/* Two cards: same row, same height, aligned perfectly */
.single-product .bk-purchase-layout.bk-has-instant-win {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1.25fr)
        minmax(0, 0.95fr) !important;

    gap: 16px !important;

    align-items: stretch !important;

    width: 100% !important;

    margin: 28px 0 0 !important;
}


/* =========================================================
   PURCHASE CARD
   ========================================================= */

.single-product
.bk-purchase-layout.bk-has-instant-win
.bk-purchase-row {

    width: 100% !important;
    max-width: none !important;

    height: auto !important;
    min-height: 170px !important;

    margin: 0 !important;

    padding: 24px 26px !important;

    align-self: stretch !important;

    overflow: hidden !important;
}


/* =========================================================
   INSTANT WIN CARD
   ========================================================= */

.single-product
.bk-purchase-layout.bk-has-instant-win
.rfwc-instant-win-badge {

    width: 100% !important;
    max-width: none !important;

    height: auto !important;
    min-height: 170px !important;

    margin: 0 !important;

    padding: 24px 26px !important;

    align-self: stretch !important;

    justify-content: center !important;
}


/* =========================================================
   TICKET SELECTOR
   Prevent quantity from overflowing card
   ========================================================= */

.single-product
.bk-purchase-layout.bk-has-instant-win
.rfwc-quantity-wrapper {

    display: grid !important;

    grid-template-columns:
        max-content
        minmax(0, 1fr) !important;

    gap: 18px !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 0 20px !important;
}


.single-product
.bk-purchase-layout.bk-has-instant-win
.rfwc-range-slider {

    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        62px !important;

    gap: 10px !important;

    width: 100% !important;
    min-width: 0 !important;
}


.single-product
.bk-purchase-layout.bk-has-instant-win
.rfwc-range-slider-track {

    width: 100% !important;
    min-width: 0 !important;
}


.single-product
.bk-purchase-layout.bk-has-instant-win
.rfwc-range-slider-info {

    width: 62px !important;
    min-width: 62px !important;
}


/* =========================================================
   BUY BUTTON
   ========================================================= */

.single-product
.bk-purchase-layout.bk-has-instant-win
button.single_add_to_cart_button.button.alt {

    width: 100% !important;

    height: 46px !important;
    min-height: 46px !important;

    margin: 0 !important;
}


/* =========================================================
   INSTANT WIN CONTENT
   ========================================================= */

.single-product
.bk-purchase-layout.bk-has-instant-win
.rfwc-iw-badge-title {

    margin: 0 0 10px !important;
}


.single-product
.bk-purchase-layout.bk-has-instant-win
.rfwc-iw-badge-sub {

    margin-left: 48px !important;

    font-size: 11px !important;
    line-height: 1.5 !important;
}


/* =========================================================
   MAXIMUM TICKETS STRIP
   ========================================================= */

.single-product form.cart > .rfwc-max-tickets-notice {

    width: 100% !important;

    min-height: 38px !important;

    margin: 12px 0 0 !important;
    padding: 7px 16px !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .single-product
    .bk-purchase-layout.bk-has-instant-win {

        grid-template-columns: 1fr !important;

        gap: 12px !important;
    }


    .single-product
    .bk-purchase-layout.bk-has-instant-win
    .bk-purchase-row,

    .single-product
    .bk-purchase-layout.bk-has-instant-win
    .rfwc-instant-win-badge {

        min-height: 0 !important;

        padding: 20px 18px !important;
    }


    .single-product
    .bk-purchase-layout.bk-has-instant-win
    .rfwc-quantity-wrapper {

        grid-template-columns: 1fr !important;

        gap: 14px !important;
    }

}
/* =========================================================
   BLACK KEY - TICKET SELECTOR
   FINAL STACKED LAYOUT
   ========================================================= */


/* ---------------------------------------------------------
   QUANTITY WRAPPER
   Force true vertical structure
   --------------------------------------------------------- */

.single-product
.bk-purchase-layout.bk-has-instant-win
.bk-purchase-row
.rfwc-quantity-wrapper {

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    width: 100% !important;
    min-width: 0 !important;

    gap: 0 !important;

    margin: 0 0 20px !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}


/* ---------------------------------------------------------
   NUMBER OF TICKETS
   --------------------------------------------------------- */

.single-product
.bk-purchase-layout.bk-has-instant-win
.bk-purchase-row
.rfwc-quantity-label {

    display: block !important;

    width: 100% !important;

    margin: 0 0 16px !important;
    padding: 0 !important;

    font-family: Inter, Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;

    letter-spacing: 0.9px !important;
    text-transform: uppercase !important;

    color: #F5F1E8 !important;
}


/* ---------------------------------------------------------
   HIDDEN WOO QUANTITY
   Remove it completely from layout
   --------------------------------------------------------- */

.single-product
.bk-purchase-layout.bk-has-instant-win
.bk-purchase-row
.rfwc-quantity-wrapper > .quantity {

    display: none !important;

    width: 0 !important;
    height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ---------------------------------------------------------
   SLIDER ROW
   Long slider + value on right
   --------------------------------------------------------- */

.single-product
.bk-purchase-layout.bk-has-instant-win
.bk-purchase-row
.rfwc-range-slider {

    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        72px !important;

    grid-template-rows: auto !important;

    align-items: center !important;

    width: 100% !important;
    min-width: 0 !important;

    gap: 14px !important;

    margin: 0 !important;
    padding: 0 !important;

    position: relative !important;
}


/* ---------------------------------------------------------
   SLIDER TRACK
   --------------------------------------------------------- */

.single-product
.bk-purchase-layout.bk-has-instant-win
.bk-purchase-row
.rfwc-range-slider-track {

    position: relative !important;

    display: block !important;

    width: 100% !important;
    min-width: 0 !important;

    height: 6px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #050606 !important;

    border: 1px solid #00D99B !important;
    border-radius: 999px !important;

    box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   ACTUAL RANGE INPUT
   --------------------------------------------------------- */

.single-product
.bk-purchase-layout.bk-has-instant-win
.bk-purchase-row
input.rfwc-range-input[type="range"] {

    -webkit-appearance: none !important;
    appearance: none !important;

    position: absolute !important;

    left: 0 !important;
    top: 50% !important;

    transform: translateY(-50%) !important;

    width: 100% !important;
    height: 20px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;
    outline: 0 !important;

    cursor: pointer !important;
}


/* Chrome / Safari */

.single-product
.bk-purchase-layout.bk-has-instant-win
.bk-purchase-row
input.rfwc-range-input[type="range"]::-webkit-slider-runnable-track {

    width: 100% !important;
    height: 6px !important;

    background: transparent !important;
    border: 0 !important;
}


.single-product
.bk-purchase-layout.bk-has-instant-win
.bk-purchase-row
input.rfwc-range-input[type="range"]::-webkit-slider-thumb {

    -webkit-appearance: none !important;
    appearance: none !important;

    width: 18px !important;
    height: 18px !important;

    margin-top: -6px !important;

    background: #00D99B !important;

    border: 3px solid #050606 !important;
    border-radius: 50% !important;

    box-shadow:
        0 0 0 1px #00D99B,
        0 0 10px rgba(0, 217, 155, 0.22) !important;

    cursor: grab !important;
}


/* ---------------------------------------------------------
   VALUE / RANGE
   --------------------------------------------------------- */

.single-product
.bk-purchase-layout.bk-has-instant-win
.bk-purchase-row
.rfwc-range-slider-info {

    display: flex !important;
    flex-direction: column !important;

    align-items: center !important;
    justify-content: center !important;

    width: 72px !important;
    min-width: 72px !important;

    gap: 5px !important;

    margin: 0 !important;
    padding: 0 !important;
}


.single-product
.bk-purchase-layout.bk-has-instant-win
.bk-purchase-row
.rfwc-range-value {

    font-family: Inter, Arial, sans-serif !important;

    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    color: #00D99B !important;
}


.single-product
.bk-purchase-layout.bk-has-instant-win
.bk-purchase-row
.rfwc-range-bounds {

    font-family: Inter, Arial, sans-serif !important;

    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 1 !important;

    white-space: nowrap !important;

    color: #77807D !important;
}


/* ---------------------------------------------------------
   BUY TICKET
   Give slider breathing room before button
   --------------------------------------------------------- */

.single-product
.bk-purchase-layout.bk-has-instant-win
.bk-purchase-row
button.single_add_to_cart_button.button.alt {

    margin-top: 4px !important;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .single-product
    .bk-purchase-layout.bk-has-instant-win
    .bk-purchase-row
    .rfwc-range-slider {

        grid-template-columns:
            minmax(0, 1fr)
            64px !important;

        gap: 12px !important;
    }


    .single-product
    .bk-purchase-layout.bk-has-instant-win
    .bk-purchase-row
    .rfwc-range-slider-info {

        width: 64px !important;
        min-width: 64px !important;
    }

}
/* =========================================================
   BLACK KEY - HIDE WOOCOMMERCE PRODUCT META
   Removes gold divider below purchase area
   ========================================================= */

.single-product .product_meta {
    display: none !important;
}
/* =========================================================
   BLACK KEY - PRODUCT IMAGE INSTANT WIN BADGE
   ========================================================= */

/* Style the actual Raffle for WooCommerce Instant Win ribbon */
.single-product
.woocommerce-product-gallery
.rfwc-iw-ribbon.rfwc-iw-ribbon--top-left {

    position: absolute !important;
    top: 18px !important;
    left: 18px !important;
    right: auto !important;

    z-index: 20 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 0 !important;
    height: 42px !important;

    margin: 0 !important;
    padding: 0 18px 0 16px !important;

    box-sizing: border-box !important;

    background:
        linear-gradient(
            110deg,
            rgba(0, 217, 155, 0.07) 0%,
            rgba(0, 217, 155, 0.015) 60%,
            transparent 100%
        ),
        #080A09 !important;

    border: 1px solid #00D99B !important;
    border-radius: 999px !important;

    box-shadow:
        0 0 12px rgba(0, 217, 155, 0.08) !important;

    font-family: Inter, Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;

    color: #00D99B !important;

    white-space: nowrap !important;
}


/* Gold lightning bolt */
.single-product
.woocommerce-product-gallery
.rfwc-iw-ribbon.rfwc-iw-ribbon--top-left::before {

    content: "⚡" !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin-right: 9px !important;

    font-size: 16px !important;
    line-height: 1 !important;

    color: #E3BC4B !important;

    filter:
        drop-shadow(0 0 4px rgba(227, 188, 75, 0.18)) !important;
}


/* Make sure no old ribbon decoration remains */
.single-product
.woocommerce-product-gallery
.rfwc-iw-ribbon.rfwc-iw-ribbon--top-left::after {

    content: none !important;
    display: none !important;
}


/* Mobile */
@media (max-width: 767px) {

    .single-product
    .woocommerce-product-gallery
    .rfwc-iw-ribbon.rfwc-iw-ribbon--top-left {

        top: 12px !important;
        left: 12px !important;

        height: 36px !important;

        padding: 0 14px 0 12px !important;

        font-size: 10px !important;
    }


    .single-product
    .woocommerce-product-gallery
    .rfwc-iw-ribbon.rfwc-iw-ribbon--top-left::before {

        margin-right: 7px !important;

        font-size: 14px !important;
    }
}
/* =========================================================
   BLACK KEY - DYNAMIC TICKET TOTAL
   ========================================================= */


/* Total price row */
.single-product
.bk-purchase-row
.bk-ticket-total {

    display: flex !important;

    align-items: center !important;
    justify-content: space-between !important;

    width: 100% !important;

    margin: 2px 0 14px !important;
    padding: 0 2px !important;

    box-sizing: border-box !important;

    font-family: Inter, Arial, sans-serif !important;
}


/* TOTAL label */
.single-product
.bk-purchase-row
.bk-ticket-total-label {

    font-family: Inter, Arial, sans-serif !important;

    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1 !important;

    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;

    color: #77807D !important;
}


/* Dynamic calculated price */
.single-product
.bk-purchase-row
.bk-ticket-total-price {

    font-family: Inter, Arial, sans-serif !important;

    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    color: #F5F1E8 !important;

    font-variant-numeric: tabular-nums !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .single-product
    .bk-purchase-row
    .bk-ticket-total {

        margin-bottom: 12px !important;
    }


    .single-product
    .bk-purchase-row
    .bk-ticket-total-price {

        font-size: 14px !important;
    }

}
/* =========================================================
   BLACK KEY — PRODUCT END STRIP
   ========================================================= */

.single-product .bk-product-end-strip {
    width: 100%;
    margin-top: 18px;
    padding: 14px 20px;

    display: flex;
    align-items: center;
    justify-content: center;

    box-sizing: border-box;

    background:
        linear-gradient(
            90deg,
            rgba(0, 217, 155, 0.035),
            rgba(0, 217, 155, 0.01)
        );

    border: 1px solid #303735;
    border-radius: 10px;

    color: #00D99B;

    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    line-height: 1;

    text-align: center;
    text-transform: uppercase;
}
/* =========================================================
   BLACK KEY — HIDE ORIGINAL RAFFLE COUNTDOWN
   ========================================================= */

.single-product .rfwc-countdown-wrapper {
    display: none !important;
}
/* =========================================================
   PRODUCT PAGE — END NOTICE BELOW THUMBNAILS
   ========================================================= */

.single-product .bk-gallery-end-notice {
    width: 100%;
    margin-top: 18px;
    padding: 13px 18px;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            90deg,
            rgba(0, 217, 155, 0.05),
            rgba(5, 6, 6, 0.96)
        );

    border: 1px solid #303735;
    border-radius: 10px;

    color: #00D99B;

    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.2px;
    line-height: 1;

    text-align: center;
    text-transform: uppercase;

    box-sizing: border-box;
}


/* Hide original plugin countdown */
.single-product .rfwc-countdown-wrapper {
    display: none !important;
}
/* Clock icon before end notice */
.single-product .bk-gallery-end-notice::before {
    content: "\25F7"; /* ◷ */

    display: inline-block;

    margin-right: 10px;

    color: #00D99B;

    font-family: Arial, sans-serif;
    font-size: 21px;
    font-weight: 400;
    line-height: 1;

    vertical-align: middle;

    position: relative;
    top: -1px;
}=========================================================
   PRODUCT PAGE — DYNAMIC TICKET TOTAL
   ========================================================= */

.single-product .bk-ticket-total {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    margin: 16px 0 14px;
    padding: 0 4px;

    box-sizing: border-box;

    font-family: "Inter", sans-serif;
}


/* TOTAL label */
.single-product .bk-ticket-total-label {
    color: #7A8581;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.2px;

    text-transform: uppercase;
}


/* Dynamic price */
.single-product .bk-ticket-total-price {
    color: #F5F1E8;

    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0;

    line-height: 1;
}
/* =========================================================
   BLACK KEY REWARDS
   LIVE PRIZE DRAW PANEL
   Matches Instant Win layout
   ========================================================= */


/* Two-column layout */
.single-product .bk-purchase-layout.bk-live-draw {
    display: grid !important;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.95fr) !important;
    gap: 16px !important;
    align-items: stretch !important;

    width: 100% !important;
    margin: 28px 0 18px !important;
}


/* Purchase box */
.single-product
.bk-purchase-layout.bk-live-draw
.bk-purchase-row {
    width: 100% !important;
    max-width: none !important;

    min-height: 170px !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 24px 26px !important;

    box-sizing: border-box !important;
}


/* Prize Draw box */
.single-product
.bk-purchase-layout.bk-live-draw
.bk-prize-draw-box {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;

    width: 100% !important;
    max-width: none !important;

    min-height: 170px !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 24px 26px !important;

    box-sizing: border-box !important;

    background:
        linear-gradient(
            110deg,
            rgba(0, 217, 155, 0.07) 0%,
            rgba(0, 217, 155, 0.018) 42%,
            transparent 75%
        ),
        #080A09 !important;

    border: 1px solid #303735 !important;
    border-left: 4px solid #00D99B !important;
    border-radius: 10px !important;

    box-shadow: none !important;

    font-family: "Inter", Arial, sans-serif !important;
    text-align: left !important;
}


/* Heading */
.single-product
.bk-purchase-layout.bk-live-draw
.bk-prize-draw-heading {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;

    margin: 0 0 10px !important;
    padding: 0 !important;
}


/* Trophy */
.single-product
.bk-purchase-layout.bk-live-draw
.bk-prize-draw-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: rgba(214, 169, 40, 0.08) !important;

    border: 1px solid rgba(214, 169, 40, 0.45) !important;
    border-radius: 50% !important;

    font-size: 17px !important;
    line-height: 1 !important;
}


/* PRIZE DRAW */
.single-product
.bk-purchase-layout.bk-live-draw
.bk-prize-draw-title {
    margin: 0 !important;
    padding: 0 !important;

    color: #00D99B !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;

    letter-spacing: 0.7px !important;
    text-transform: uppercase !important;
}


/* Description */
.single-product
.bk-purchase-layout.bk-live-draw
.bk-prize-draw-description {
    margin: 0 0 0 48px !important;
    padding: 0 !important;

    color: #909895 !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .single-product .bk-purchase-layout.bk-live-draw {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .single-product
    .bk-purchase-layout.bk-live-draw
    .bk-purchase-row,

    .single-product
    .bk-purchase-layout.bk-live-draw
    .bk-prize-draw-box {
        min-height: 0 !important;
        height: auto !important;

        padding: 20px 18px !important;
    }
}
/* =========================================================
   BLACK KEY - LIVE DRAW
   MATCH FINAL INSTANT WIN TICKET SELECTOR
   ========================================================= */


/* NUMBER OF TICKETS + SLIDER WRAPPER */
.single-product
.bk-purchase-layout.bk-live-draw
.bk-purchase-row
.rfwc-quantity-wrapper {

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    width: 100% !important;
    min-width: 0 !important;

    gap: 0 !important;

    margin: 0 0 20px !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}


/* NUMBER OF TICKETS */
.single-product
.bk-purchase-layout.bk-live-draw
.bk-purchase-row
.rfwc-quantity-label {

    display: block !important;

    width: 100% !important;

    margin: 0 0 16px !important;
    padding: 0 !important;

    font-family: Inter, Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;

    letter-spacing: 0.9px !important;
    text-transform: uppercase !important;

    color: #F5F1E8 !important;
}


/* HIDE ORIGINAL WOO QUANTITY */
.single-product
.bk-purchase-layout.bk-live-draw
.bk-purchase-row
.rfwc-quantity-wrapper > .quantity {

    display: none !important;

    width: 0 !important;
    height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* SLIDER + NUMBER */
.single-product
.bk-purchase-layout.bk-live-draw
.bk-purchase-row
.rfwc-range-slider {

    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        72px !important;

    grid-template-rows: auto !important;

    align-items: center !important;

    width: 100% !important;
    min-width: 0 !important;

    gap: 14px !important;

    margin: 0 !important;
    padding: 0 !important;

    position: relative !important;
}


/* SLIDER TRACK */
.single-product
.bk-purchase-layout.bk-live-draw
.bk-purchase-row
.rfwc-range-slider-track {

    position: relative !important;

    display: block !important;

    width: 100% !important;
    min-width: 0 !important;

    height: 6px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #050606 !important;

    border: 1px solid #00D99B !important;
    border-radius: 999px !important;

    box-sizing: border-box !important;
}


/* ACTUAL RANGE INPUT */
.single-product
.bk-purchase-layout.bk-live-draw
.bk-purchase-row
input.rfwc-range-input[type="range"] {

    -webkit-appearance: none !important;
    appearance: none !important;

    position: absolute !important;

    left: 0 !important;
    top: 50% !important;

    transform: translateY(-50%) !important;

    width: 100% !important;
    height: 20px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;
    outline: 0 !important;

    cursor: pointer !important;
}


/* CHROME / SAFARI TRACK */
.single-product
.bk-purchase-layout.bk-live-draw
.bk-purchase-row
input.rfwc-range-input[type="range"]::-webkit-slider-runnable-track {

    width: 100% !important;
    height: 6px !important;

    background: transparent !important;
    border: 0 !important;
}


/* CHROME / SAFARI THUMB */
.single-product
.bk-purchase-layout.bk-live-draw
.bk-purchase-row
input.rfwc-range-input[type="range"]::-webkit-slider-thumb {

    -webkit-appearance: none !important;
    appearance: none !important;

    width: 18px !important;
    height: 18px !important;

    margin-top: -6px !important;

    background: #00D99B !important;

    border: 3px solid #050606 !important;
    border-radius: 50% !important;

    box-shadow:
        0 0 0 1px #00D99B,
        0 0 10px rgba(0, 217, 155, 0.22) !important;

    cursor: grab !important;
}


/* VALUE + RANGE */
.single-product
.bk-purchase-layout.bk-live-draw
.bk-purchase-row
.rfwc-range-slider-info {

    display: flex !important;
    flex-direction: column !important;

    align-items: center !important;
    justify-content: center !important;

    width: 72px !important;
    min-width: 72px !important;

    gap: 5px !important;

    margin: 0 !important;
    padding: 0 !important;
}


.single-product
.bk-purchase-layout.bk-live-draw
.bk-purchase-row
.rfwc-range-value {

    font-family: Inter, Arial, sans-serif !important;

    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    color: #00D99B !important;
}


.single-product
.bk-purchase-layout.bk-live-draw
.bk-purchase-row
.rfwc-range-bounds {

    font-family: Inter, Arial, sans-serif !important;

    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 1 !important;

    white-space: nowrap !important;

    color: #77807D !important;
}


/* BUY TICKET SPACING */
.single-product
.bk-purchase-layout.bk-live-draw
.bk-purchase-row
button.single_add_to_cart_button.button.alt {

    margin-top: 4px !important;
}


/* MOBILE */
@media (max-width: 767px) {

    .single-product
    .bk-purchase-layout.bk-live-draw
    .bk-purchase-row
    .rfwc-range-slider {

        grid-template-columns:
            minmax(0, 1fr)
            64px !important;

        gap: 12px !important;
    }


    .single-product
    .bk-purchase-layout.bk-live-draw
    .bk-purchase-row
    .rfwc-range-slider-info {

        width: 64px !important;
        min-width: 64px !important;
    }
}
/* =========================================================
   BLACK KEY REWARDS
   COMPETITION SECTIONS - FRONTEND LEFT ALIGNMENT
   ========================================================= */

.bk-competition-shortcode {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    align-self: stretch !important;
}


/* Keep shortcode content anchored to the left */
.bk-competition-shortcode .elementor-shortcode {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    text-align: left !important;
}


/* Live Competitions */
.bk-competition-shortcode .bk-competition-grid {
    margin-left: 0 !important;
    margin-right: auto !important;

    justify-content: start !important;
}


/* Instant Wins */
.bk-competition-shortcode .bk-instant-grid {
    margin-left: 0 !important;
    margin-right: auto !important;

    justify-content: start !important;
}


/* Recent Winners */
.bk-competition-shortcode .bk-winners-grid {
    margin-left: 0 !important;
    margin-right: auto !important;

    justify-content: start !important;
}