.fct_payment_method_blik_recurring {
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    font-family: Alexandria, sans-serif !important;
    background: #fff !important;
    border: 1px solid #d5dbe4 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

/*
 * The approved snippet supplies a visual-only BLIK tile. Its later rule uses
 * display:block!important, so this selector intentionally has higher
 * specificity and leaves only the real FluentCart gateway visible.
 */
html.sw-subscription-checkout body:has(.fct_payment_method_blik_recurring) .sw-blik-recurring-method {
    display: none !important;
}

.fct_payment_method_blik_recurring > input.form-radio-input {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.fct_payment_method_blik_recurring > label {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    min-height: 46px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 12px 20px !important;
    background: #fff !important;
    color: rgb(47, 52, 72) !important;
    font-family: Alexandria, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 22px !important;
    cursor: pointer !important;
}

.fct_payment_method_blik_recurring > label img,
.fct_payment_method_blik_recurring > label svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    flex: 0 0 20px !important;
    transform: scale(1.45) !important;
    transform-origin: center !important;
}

.fct_payment_method_blik_recurring .fluent-cart-checkout_embed_payment_wrapper {
    margin: 0 !important;
    padding: 0 !important;
}

.fct_payment_method_blik_recurring .fluent-cart-checkout_embed_payment_container_blik_recurring {
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 14px 14px !important;
    background: #fff !important;
    border-top: 1px solid #e7eaf0 !important;
}

.fct_payment_method_blik_recurring:not(.active) .fluent-cart-checkout_embed_payment_wrapper {
    display: none !important;
}

.fct_payment_method_blik_recurring.fcbcr-initially-collapsed .fluent-cart-checkout_embed_payment_wrapper {
    display: none !important;
}

.fcbcr-recurring-info {
    margin: 12px 0 14px !important;
    padding: 0 !important;
    font-family: Alexandria, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 20px !important;
    color: rgb(68, 68, 68) !important;
}

.fcbcr-recurring-details {
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    background: #fff !important;
    border: 1px solid #d5dbe4 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.fcbcr-detail-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
    width: 100% !important;
    min-height: 38px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    border-bottom: 1px solid #e7eaf0 !important;
}

.fcbcr-detail-row:last-child { border-bottom: 0 !important; }

.fcbcr-detail-label,
.fcbcr-detail-value {
    font-family: Alexandria, sans-serif !important;
    font-size: 14px !important;
    line-height: 20px !important;
}

.fcbcr-detail-label { font-weight: 400 !important; color: rgb(68, 68, 68) !important; }
.fcbcr-detail-value { font-weight: 600 !important; color: #000321 !important; text-align: right !important; }

.fcbcr-code-label {
    display: block !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    font-family: Alexandria, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 20px !important;
    color: rgb(47, 52, 72) !important;
}

.fcbcr-code-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.fcbcr-code-input {
    display: block !important;
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    height: 42px !important;
    min-height: 42px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    font-family: Alexandria, sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 20px !important;
    letter-spacing: 2px !important;
    text-align: center !important;
    color: rgb(47, 52, 72) !important;
    background: #fff !important;
    border: 1px solid #d5dbe4 !important;
    border-radius: 8px !important;
    outline: none !important;
    box-shadow: none !important;
}

.fcbcr-code-input:focus { border-color: #64748b !important; }

.fcbcr-submit {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    height: 42px !important;
    min-height: 42px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    font-family: Alexandria, sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 22px !important;
    text-transform: uppercase !important;
    text-align: center !important;
    color: #fff !important;
    background: #c9cdd3 !important;
    border: 1px solid #c9cdd3 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
}

.fcbcr-submit:not(:disabled) {
    background: #BF0000 !important;
    border-color: #BF0000 !important;
    cursor: pointer !important;
}

.fcbcr-submit:not(:disabled):hover { background: #BF0000 !important; border-color: #BF0000 !important; opacity: .92 !important; }
.fcbcr-submit:disabled { opacity: 1 !important; cursor: not-allowed !important; }

#fluent_cart_order_btn.fcbcr-primary-order-disabled,
[data-fluent-cart-checkout-page-checkout-button].fcbcr-primary-order-disabled {
    display: block !important;
    background: #c9cdd3 !important;
    border-color: #c9cdd3 !important;
    color: #fff !important;
    opacity: 1 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

.fcbcr-error {
    display: none !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
    font-family: Alexandria, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 18px !important;
    color: #BF0000 !important;
}

.fcbcr-error.fcbcr-visible { display: block !important; }

@media (max-width: 600px) {
    .fct_payment_method_blik_recurring > label { min-height: 46px !important; padding: 12px 20px !important; }
    .fct_payment_method_blik_recurring .fluent-cart-checkout_embed_payment_container_blik_recurring { padding: 0 13px 13px !important; }
    .fcbcr-code-input { width: 150px !important; min-width: 150px !important; max-width: 150px !important; height: 44px !important; min-height: 44px !important; }
    .fcbcr-submit { width: auto !important; height: 44px !important; min-height: 44px !important; }
}

