.brcode-qf-product-actions {
    box-sizing: border-box;
    font-family: var(--brcode-qf-font, inherit);
    margin-top: 1rem;
    max-width: 100%;
}

.brcode-qf-product-actions__buttons {
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    gap: 0.625rem;
}

.brcode-qf-product-actions__button {
    align-items: center;
    border: 1px solid transparent !important;
    border-radius: var(--brcode-qf-radius, 8px) !important;
    box-sizing: border-box;
    cursor: pointer !important;
    display: inline-flex !important;
    font: inherit !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    justify-content: center !important;
    line-height: 1.35 !important;
    min-height: 44px !important;
    padding: 0.7rem 1rem !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: opacity 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.brcode-qf-product-actions__button--primary {
    background: var(--brcode-qf-primary, #1f2937) !important;
    border-color: var(--brcode-qf-primary-border, #1f2937) !important;
    color: var(--brcode-qf-primary-text, #ffffff) !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

.brcode-qf-product-actions__button--primary:hover,
.brcode-qf-product-actions__button--primary:focus-visible {
    background: var(--brcode-qf-primary-hover, #111827) !important;
    color: var(--brcode-qf-primary-hover-text, #ffffff) !important;
}

.brcode-qf-product-actions__add-to-cart-icon {
    width: 16px !important;
    height: 16px !important;
}

.brcode-qf-product-actions__button--whatsapp {
    background: var(--brcode-qf-whatsapp, #25d366) !important;
    border-color: var(--brcode-qf-whatsapp-border, #25d366) !important;
    color: var(--brcode-qf-whatsapp-text, #ffffff) !important;
}

.brcode-qf-product-actions__button--whatsapp:hover,
.brcode-qf-product-actions__button--whatsapp:focus-visible {
    background: var(--brcode-qf-whatsapp-hover, #1ebe57) !important;
    border-color: var(--brcode-qf-whatsapp-border, #25d366) !important;
    color: var(--brcode-qf-whatsapp-hover-text, #ffffff) !important;
}

.brcode-qf-product-actions__button:focus-visible {
    outline: 3px solid color-mix(in srgb, currentColor 35%, transparent);
    outline-offset: 2px;
}

.brcode-qf-product-actions__button[disabled] {
    cursor: not-allowed;
    opacity: 0.55;
}

.brcode-qf-product-actions a.brcode-qf-product-actions__button,
.brcode-qf-product-actions button.brcode-qf-product-actions__button {
    box-shadow: none !important;
    letter-spacing: normal !important;
}

.brcode-qf-product-actions .brcode-qf-product-actions__whatsapp-icon svg {
    display: block;
    fill: currentColor;
    stroke: none;
}

.brcode-qf-product-actions__feedback {
    display: block;
    font-size: 0.875rem;
    line-height: 1.4;
    margin-top: 0.5rem;
    min-height: 1.25rem;
}

.brcode-qf-product-actions__feedback:empty {
    min-height: 0;
}

.brcode-qf-product-actions__variation-fallback {
    margin-bottom: 0.875rem;
}

.brcode-qf-product-actions__variation-heading {
    font-size: 0.9rem;
    font-weight: 600;
    margin: 0 0 0.5rem;
}

.brcode-qf-product-actions__variation-fields {
    display: grid;
    gap: 0.625rem;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.brcode-qf-product-actions__variation-field {
    display: grid;
    font-size: 0.875rem;
    gap: 0.3rem;
}

.brcode-qf-product-actions__variation-field select {
    border: 1px solid var(--brcode-qf-border, #d1d5db);
    border-radius: var(--brcode-qf-radius, 8px);
    font: inherit;
    min-height: 42px;
    padding: 0.55rem 0.7rem;
}

/* Single-product quantity control. The component is attached to Woo's
 * existing input by JS, so the form submission contract remains unchanged. */
.brcode-qf-product-actions-page form.cart,
.brcode-qf-product-actions-context form.cart {
    text-align: left !important;
}

.brcode-qf-product-actions-page form.cart .quantity,
.brcode-qf-product-actions-context form.cart .quantity {
    display: inline-flex !important;
    float: none !important;
    justify-content: flex-start !important;
    margin: 0 0 1rem !important;
    text-align: left !important;
}

/* Some themes use quantity pseudo-elements as flex spacers. They were the
 * reason simple products appeared centered while variable products did not. */
.brcode-qf-product-actions-page form.cart .quantity::before,
.brcode-qf-product-actions-page form.cart .quantity::after,
.brcode-qf-product-actions-context form.cart .quantity::before,
.brcode-qf-product-actions-context form.cart .quantity::after {
    display: none !important;
    content: none !important;
}

.brcode-qf-product-actions-page .brcode-qf-quantity,
.brcode-qf-product-actions-context .brcode-qf-quantity {
    align-items: center !important;
    width: max-content !important;
    max-width: 100% !important;
    overflow: hidden;
    border: 1px solid var(--brcode-qf-border, #d1d5db) !important;
    border-radius: var(--brcode-qf-radius, 8px) !important;
    background: var(--brcode-qf-background, #ffffff) !important;
}

.brcode-qf-product-actions-page .brcode-qf-quantity__button,
.brcode-qf-product-actions-context .brcode-qf-quantity__button {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--brcode-qf-text, #111827) !important;
    cursor: pointer !important;
    font-size: 21px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
}

.brcode-qf-product-actions-page .brcode-qf-quantity__button:hover,
.brcode-qf-product-actions-page .brcode-qf-quantity__button:focus-visible,
.brcode-qf-product-actions-context .brcode-qf-quantity__button:hover,
.brcode-qf-product-actions-context .brcode-qf-quantity__button:focus-visible {
    background: var(--brcode-qf-soft, #f3f4f6) !important;
    color: var(--brcode-qf-primary, #1f2937) !important;
}

.brcode-qf-product-actions-page .brcode-qf-quantity__button:disabled,
.brcode-qf-product-actions-context .brcode-qf-quantity__button:disabled {
    cursor: not-allowed !important;
    opacity: 0.38;
}

.brcode-qf-product-actions-page .brcode-qf-quantity input.qty,
.brcode-qf-product-actions-context .brcode-qf-quantity input.qty {
    width: 54px !important;
    height: 42px !important;
    min-width: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-right: 1px solid var(--brcode-qf-border, #d1d5db) !important;
    border-left: 1px solid var(--brcode-qf-border, #d1d5db) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--brcode-qf-text, #111827) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-align: center !important;
}

.brcode-qf-quantity input.qty::-webkit-inner-spin-button,
.brcode-qf-quantity input.qty::-webkit-outer-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.brcode-qf-quantity input.qty {
    -moz-appearance: textfield;
}

.brcode-qf-product-actions-page form.variations_form select[name^="attribute_"],
.brcode-qf-product-actions-context form.variations_form select[name^="attribute_"],
.brcode-qf-product-actions__variation-field select {
    width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0.7rem 2.5rem 0.7rem 0.85rem !important;
    border: 1px solid var(--brcode-qf-border, #d1d5db) !important;
    border-radius: var(--brcode-qf-radius, 8px) !important;
    background-color: var(--brcode-qf-background, #ffffff) !important;
    background-image: linear-gradient(45deg, transparent 50%, var(--brcode-qf-muted, #6b7280) 50%), linear-gradient(135deg, var(--brcode-qf-muted, #6b7280) 50%, transparent 50%) !important;
    background-position: calc(100% - 17px) 20px, calc(100% - 12px) 20px !important;
    background-repeat: no-repeat !important;
    background-size: 5px 5px, 5px 5px !important;
    color: var(--brcode-qf-text, #111827) !important;
    cursor: pointer !important;
    font: inherit !important;
    font-size: 0.95rem !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.brcode-qf-product-actions-page form.variations_form select[name^="attribute_"]:hover,
.brcode-qf-product-actions-context form.variations_form select[name^="attribute_"]:hover,
.brcode-qf-product-actions__variation-field select:hover {
    border-color: var(--brcode-qf-primary, #1f2937) !important;
}

.brcode-qf-product-actions-page form.variations_form select[name^="attribute_"]:focus,
.brcode-qf-product-actions-context form.variations_form select[name^="attribute_"]:focus,
.brcode-qf-product-actions__variation-field select:focus {
    border-color: var(--brcode-qf-primary, #1f2937) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--brcode-qf-primary, #1f2937) 14%, transparent) !important;
}

.brcode-qf-product-actions__whatsapp-icon {
    display: inline-flex;
    margin-right: 0.4rem;
}

.brcode-qf-product-actions__whatsapp-icon svg {
    height: 1.1em;
    width: 1.1em;
}

.brcode-qf-product-actions__button.is-submitting {
    cursor: default !important;
}

/* Product Actions replaces the purchase submit control on a QuoteFlow page. */
.brcode-qf-product-actions-page .single_add_to_cart_button,
.brcode-qf-product-actions-context .single_add_to_cart_button {
    display: none !important;
}

@media (max-width: 640px) {
    .brcode-qf-product-actions__buttons {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .brcode-qf-product-actions__button {
        width: 100%;
    }
}
