/* =========================================================
   BLACK KEY REWARDS
   CLEAN MASTER CUSTOM CSS
   ========================================================= */


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

:root {
    /* Brand colours */
    --bk-green: #00B067;
    --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: "Playfair Display", Georgia, serif;
    --bk-font-body: "Inter", Arial, sans-serif;
}


/* =========================================================
   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: px !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: 12px !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 #00B067 !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: #00B067 !important;
    color: #000000 !important;
    border-color: #00B067 !important;

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

#moderncart-floating-cart .moderncart-floating-cart-button {
    background: #0B0B0B !important;
    border: 2px solid #00B067 !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: #00B067 !important;
    border-color: #00B067 !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: #00B067 !important;
}

/* Remove links */
.moderncart-panel .moderncart-slide-out-cart a.remove,
.moderncart-panel .moderncart-slide-out-cart .remove {
    color: #00B067 !important;
    text-decoration-color: #00B067 !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: #00B067 !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: #00B067 !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: #00B067 !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: #00B067 !important;
    color: #000000 !important;
    border-color: #00B067 !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 #00B067 !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: #00B067 !important;
    color: #000000 !important;

    border-color: #00B067 !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 #00B067 !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: #00B067 !important;
    color: #000000 !important;

    border-color: #00B067 !important;

    box-shadow: none !important;
}


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

.woocommerce-checkout .instant-checkout-batch {
    background: #00B067 !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: #00B067
   ========================================================= */


/* =========================================================
   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: #00B067 !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: #00B067 !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 #00B067 !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: #00B067 !important;
    color: #000000 !important;

    border-color: #00B067 !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: #00B067 !important;
    color: #00B067 !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: #00B067 !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 #00B067 !important;

    box-shadow: none !important;
}


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

.woocommerce-checkout input[type="checkbox"],
.woocommerce-checkout input[type="radio"] {
    accent-color: #00B067 !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: #00B067 !important;
}


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

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

    border: 1px solid #00B067 !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: #00B067 !important;

    color: #000000 !important;

    border-color: #00B067 !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: #00B067 !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: #00B067 !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 #00B067 !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: #00B067 !important;
}

/* Coupon link */
body.woocommerce-checkout
.woocommerce-form-coupon-toggle
a.showcoupon {
    color: #00B067 !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: #00B067 !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: #00B067 !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: #00B067 !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: #00B067 !important;
    box-shadow: 0 0 0 1px #00B067 !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 #00B067 !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: #00B067 !important;
    color: #000000 !important;
    border-color: #00B067 !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: #00B067 !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: #00B067 !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: "Playfair Display", Georgia, 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: "Playfair Display", Georgia, serif;
    font-size: 60px;
    font-weight: 400;
    color: #00B067;
}
/* 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: #00B067;
    background: #0B1F17;
    border: 2px solid #00B067;
    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;
    }
}