:root {
    --lumi-pink: #FF0095;
    --lumi-purple: #CA23FF;
    --lumi-gradient: linear-gradient(90deg, #FF0095 0%, #CA23FF 100%);
    --lumi-text: #111111;
    --lumi-muted: #747474;
    --lumi-border: #E9E9E9;
}

/* Hide the duplicate blog-style product header/meta printed above the Woo product layout. */
body.single-product article.type-product > header.entry-header,
body.single-product article.type-product > .entry-header,
body.single-product article.type-product > .entry-meta,
body.single-product .site-main > article > header.entry-header,
body.single-product .site-main > article > .entry-header .entry-meta {
    display: none !important;
}

/* Hide any old breadcrumb/category output; the plugin renders one clean copy in the summary. */
body.single-product .woocommerce-breadcrumb {
    display: none !important;
}
body.single-product .lumi-product-breadcrumb .woocommerce-breadcrumb {
    display: block !important;
}
body.single-product .summary .ast-woo-product-category {
    display: none !important;
}

/* Title first, then breadcrumb, then category. */
body.single-product .summary h1.product_title,
body.single-product .entry-summary h1.product_title {
    margin: 0 0 10px !important;
    color: var(--lumi-pink) !important;
    font-family: Poppins, Inter, Arial, sans-serif !important;
    font-size: clamp(31px, 3vw, 44px) !important;
    line-height: 1.12 !important;
    letter-spacing: -1px !important;
    font-weight: 800 !important;
}

body.single-product .lumi-product-breadcrumb {
    margin: 0 0 7px !important;
}
body.single-product .lumi-product-breadcrumb .woocommerce-breadcrumb,
body.single-product .lumi-product-breadcrumb .woocommerce-breadcrumb a {
    margin: 0 !important;
    color: #777 !important;
    font-size: 14px !important;
}

body.single-product .lumi-product-category {
    margin: 0 0 18px !important;
    color: var(--lumi-pink) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}
body.single-product .lumi-product-category a,
body.single-product .product_meta a,
body.single-product .posted_in a,
body.single-product .tagged_as a {
    color: var(--lumi-pink) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}

/* Variation labels and native selects. */
body.single-product form.variations_form table.variations th.label,
body.single-product form.variations_form table.variations td.label,
body.single-product form.variations_form table.variations label {
    color: var(--lumi-pink) !important;
    font-family: Poppins, Inter, Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: capitalize !important;
}

body.single-product form.variations_form table.variations select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Custom swatches. */
body.single-product .lumi-swatches {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 11px !important;
    margin: 9px 0 4px !important;
}
body.single-product button.lumi-swatch {
    appearance: none !important;
    -webkit-appearance: none !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    cursor: pointer !important;
    font-family: Poppins, Inter, Arial, sans-serif !important;
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}
body.single-product button.lumi-swatch:hover {
    transform: translateY(-1px) !important;
}

body.single-product button.lumi-swatch--color {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
    max-width: 54px !important;
    max-height: 54px !important;
    flex: 0 0 54px !important;
    padding: 3px !important;
    overflow: hidden !important;
    border: 2px solid #EDEDED !important;
    border-radius: 50% !important;
    background: #FFF !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
}
body.single-product button.lumi-swatch--color img,
body.single-product .lumi-swatch-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 50% !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.single-product button.lumi-swatch--color.is-active {
    border-color: var(--lumi-pink) !important;
    box-shadow: 0 0 0 3px #FFF, 0 0 0 5px var(--lumi-pink) !important;
}

body.single-product button.lumi-swatch--size {
    min-width: 46px !important;
    width: auto !important;
    height: 46px !important;
    padding: 0 14px !important;
    border: 1px solid #E4E4E4 !important;
    border-radius: 999px !important;
    background: #FFF !important;
    color: var(--lumi-text) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}
body.single-product button.lumi-swatch--size.is-active {
    color: #FFF !important;
    border-color: transparent !important;
    background: var(--lumi-gradient) !important;
    box-shadow: 0 8px 20px rgba(255, 0, 149, .20) !important;
}
body.single-product .lumi-swatch.is-disabled {
    opacity: .28 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}
body.single-product .lumi-selected-value {
    margin-top: 8px !important;
    color: var(--lumi-pink) !important;
    font-family: Poppins, Inter, Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}
body.single-product .reset_variations {
    color: #999 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
}

/* Price: variable products show it below the variation table. */
body.single-product .lumi-price-slot {
    margin: 18px 0 8px !important;
    color: var(--lumi-pink) !important;
}
body.single-product .lumi-price-slot .price,
body.single-product .lumi-price-slot .woocommerce-Price-amount,
body.single-product .lumi-price-slot .woocommerce-Price-currencySymbol,
body.single-product .lumi-price-slot .woocommerce-price-suffix,
body.single-product .lumi-price-slot .ast-shipping-text,
body.single-product .lumi-price-slot * {
    color: var(--lumi-pink) !important;
}
body.single-product .lumi-price-slot .price {
    margin: 0 !important;
    font-family: Poppins, Inter, Arial, sans-serif !important;
    font-size: 27px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
}

/* WooCommerce's own dynamic variation-price block is hidden to avoid a duplicate price. */
body.single-product .single_variation_wrap .woocommerce-variation-price {
    display: none !important;
}

/* Hide normal cart quantity/button; ordering is handled by the LUMI form. */
body.single-product .summary form.cart .quantity,
body.single-product .summary form.cart .single_add_to_cart_button {
    display: none !important;
}

/* Product meta and sticky product bar. */
body.single-product .product_meta {
    font-family: Poppins, Inter, Arial, sans-serif !important;
}
body.single-product .ast-sticky-add-to-cart-action-wrap .button,
body.single-product .ast-sticky-add-to-cart-action-wrap a.button,
body.single-product .ast-sticky-add-to-cart-action-wrap button {
    border: 0 !important;
    background: var(--lumi-gradient) !important;
    color: #FFF !important;
}

/* Description: one pink accent line, no Additional information tab. */
body.single-product .woocommerce-tabs {
    border-top: 1px solid var(--lumi-pink) !important;
}
body.single-product .woocommerce-tabs ul.tabs {
    border-color: transparent !important;
}
body.single-product .woocommerce-tabs ul.tabs::before {
    border-bottom-color: transparent !important;
}
body.single-product .woocommerce-tabs ul.tabs li,
body.single-product .woocommerce-tabs ul.tabs li.active,
body.single-product .woocommerce-tabs ul.tabs li.active::before,
body.single-product .woocommerce-tabs ul.tabs li.active::after {
    border-color: transparent !important;
    background: transparent !important;
}
body.single-product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--lumi-pink) !important;
}
body.single-product .additional_information_tab,
body.single-product #tab-additional_information {
    display: none !important;
}

/* Quick order card. */
body.single-product .lumi-quick-order {
    width: 100% !important;
    box-sizing: border-box !important;
    margin-top: 28px !important;
    padding: 24px !important;
    border: 1px solid rgba(202, 35, 255, .18) !important;
    border-radius: 22px !important;
    background: #FFF !important;
    box-shadow: 0 16px 45px rgba(0, 0, 0, .06) !important;
}
body.single-product .lumi-quick-order__badge {
    display: inline-block !important;
    margin-bottom: 14px !important;
    padding: 7px 14px !important;
    border-radius: 999px !important;
    background: var(--lumi-gradient) !important;
    color: #FFF !important;
    font-family: Poppins, Inter, Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}
body.single-product .lumi-quick-order__header h2 {
    margin: 0 0 8px !important;
    color: var(--lumi-text) !important;
    font-family: Poppins, Inter, Arial, sans-serif !important;
    font-size: 27px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}
body.single-product .lumi-quick-order__header p {
    margin: 0 0 20px !important;
    color: var(--lumi-muted) !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}
body.single-product .lumi-field {
    margin-bottom: 14px !important;
}
body.single-product .lumi-field label {
    display: block !important;
    margin-bottom: 7px !important;
    color: var(--lumi-text) !important;
    font-family: Poppins, Inter, Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}
body.single-product .lumi-field label span {
    color: #8D8D8D !important;
    font-weight: 400 !important;
}
body.single-product .lumi-field input {
    width: 100% !important;
    height: 55px !important;
    box-sizing: border-box !important;
    padding: 0 16px !important;
    border: 1px solid var(--lumi-border) !important;
    border-radius: 13px !important;
    background: #FFF !important;
    color: var(--lumi-text) !important;
    font-family: Poppins, Inter, Arial, sans-serif !important;
    font-size: 14px !important;
    outline: none !important;
    box-shadow: none !important;
}
body.single-product .lumi-field input:focus {
    border-color: var(--lumi-purple) !important;
    box-shadow: 0 0 0 4px rgba(202, 35, 255, .10) !important;
}
body.single-product .lumi-order-button {
    width: 100% !important;
    height: 58px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    margin-top: 7px !important;
    border: 0 !important;
    border-radius: 15px !important;
    background: var(--lumi-gradient) !important;
    color: #FFF !important;
    font-family: Poppins, Inter, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: .7px !important;
    cursor: pointer !important;
    box-shadow: 0 12px 30px rgba(255, 0, 149, .22) !important;
}
body.single-product .lumi-order-button:hover {
    background: linear-gradient(90deg, #CA23FF, #FF0095) !important;
    transform: translateY(-1px) !important;
}
body.single-product .lumi-order-button:disabled {
    opacity: .65 !important;
    cursor: not-allowed !important;
    transform: none !important;
}
body.single-product .lumi-quick-order__note {
    margin: 13px 0 0 !important;
    color: #888 !important;
    text-align: center !important;
    font-size: 11px !important;
    line-height: 1.6 !important;
}
body.single-product .lumi-order-error {
    margin-top: 13px !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(255, 0, 149, .18) !important;
    border-radius: 11px !important;
    background: #FFF5FB !important;
    color: #B00066 !important;
    font-size: 12px !important;
}

@media (max-width: 767px) {
    body.single-product .summary h1.product_title,
    body.single-product .entry-summary h1.product_title {
        font-size: 29px !important;
        letter-spacing: -.6px !important;
    }
    body.single-product button.lumi-swatch--color {
        width: 49px !important;
        height: 49px !important;
        min-width: 49px !important;
        min-height: 49px !important;
        max-width: 49px !important;
        max-height: 49px !important;
        flex-basis: 49px !important;
    }
    body.single-product button.lumi-swatch--size {
        min-width: 42px !important;
        height: 42px !important;
        padding: 0 12px !important;
        font-size: 13px !important;
    }
    body.single-product .lumi-price-slot .price {
        font-size: 23px !important;
    }
    body.single-product .lumi-quick-order {
        padding: 18px !important;
        border-radius: 18px !important;
    }
    body.single-product .lumi-quick-order__header h2 {
        font-size: 23px !important;
    }
    body.single-product .lumi-field input {
        height: 53px !important;
    }
    body.single-product .lumi-order-button {
        height: 56px !important;
    }
}
