.wc-block-checkout:has(.fpe-label),
.fpe-panel {
    --fpe-bg: #080f24;
    --fpe-card: #121d38;
    --fpe-surface: #1b2648;
    --fpe-border: #465579;
    --fpe-purple: #8b3dff;
    --fpe-accent: #c35cff;
    --fpe-text: #f8faff;
    --fpe-muted: #b7c2da;
    --fpe-gradient: linear-gradient(180deg, #8b3dff, #630bd0);
    color: var(--fpe-text);
}
.wc-block-checkout:has(.fpe-label) {
    background: var(--fpe-bg);
    border-radius: 1rem;
    padding: clamp(.75rem, 2vw, 1.5rem);
}
.wc-block-checkout:has(.fpe-label) :is(
    .wc-block-checkout__contact-fields,
    .wc-block-checkout__billing-fields,
    .wc-block-checkout__payment-method,
    .wp-block-woocommerce-checkout-order-summary-block
) {
    background: linear-gradient(155deg, var(--fpe-card), #10182c);
    border: 1px solid var(--fpe-border);
    border-radius: .875rem;
    box-sizing: border-box;
    padding: clamp(.75rem, 1.6vw, 1.25rem);
}
.wc-block-checkout:has(.fpe-label) :is(h2, h3, label, .wc-block-components-order-summary-item__description) {
    color: var(--fpe-text);
}
.wc-block-checkout:has(.fpe-label) .wc-block-components-text-input input {
    background: var(--fpe-surface);
    border-color: var(--fpe-border);
    color: var(--fpe-text) !important;
}
.wc-block-checkout:has(.fpe-label) .wc-block-components-radio-control__option {
    background: var(--fpe-card);
    color: var(--fpe-text);
}
.wc-block-checkout .wc-block-components-radio-control__option:has(.fpe-label):has(input:checked) {
    background: linear-gradient(100deg, #2b174f, #25204c);
    border-radius: .5rem;
    box-shadow: inset 0 0 0 2px var(--fpe-accent), 0 0 12px #c35cff72;
}
.fpe-label, .fpe-heading {
    display: flex;
    gap: .65rem;
    align-items: center;
    justify-content: space-between;
    font-weight: 750;
}
.fpe-brand { color: #edc9ff; font-size: 1.15em; font-weight: 850; }
.fpe-panel {
    background: linear-gradient(160deg, #201741, var(--fpe-card) 55%, #0e162c);
    border: 1px solid var(--fpe-accent);
    border-radius: .875rem;
    margin-block: 1rem;
    min-width: 0;
    overflow-wrap: anywhere;
    overflow: hidden;
}
.fpe-panel .fpe-heading {
    background: linear-gradient(100deg, #482384, #2c2057);
    color: var(--fpe-text);
    font-size: clamp(1.05rem, 1.5vw, 1.4rem);
    margin: 0;
    padding: .85rem 1rem;
}
.fpe-body { padding: 1rem; }
.fpe-body > :first-child { margin-top: 0; }
.fpe-body p, .fpe-option p { line-height: 1.5; }
.fpe-panel h3, .fpe-option h3 { color: var(--fpe-text); font-size: 1.1rem; margin: 0 0 .65rem; }
.fpe-calculator, .fpe-notice {
    background: var(--fpe-surface);
    border: 1px solid #8256c6;
    border-radius: .75rem;
    padding: .875rem;
    margin-block: .75rem;
}
.fpe-notice { border-color: #687ea7; }
.fpe-amounts {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: .5rem;
    align-items: center;
    text-align: center;
    font-size: .82rem;
}
.fpe-amounts strong {
    display: block;
    padding: .55rem .25rem;
    margin-top: .4rem;
    border: 1px solid var(--fpe-border);
    border-radius: .65rem;
    background: var(--fpe-bg);
    font-size: 1.15rem;
}
.fpe-amounts > :last-child strong { border-color: var(--fpe-accent); color: #f3a5ff; }
.fpe-steps { list-style: none; padding: 0; margin: .75rem 0 0; counter-reset: fpe-step; }
.fpe-steps li { display: flex; align-items: baseline; gap: .65rem; margin: .45rem 0; }
.fpe-steps li::before {
    counter-increment: fpe-step;
    content: counter(fpe-step);
    background: #7134d3;
    color: white;
    border-radius: 50%;
    flex: 0 0 1.65rem;
    line-height: 1.65rem;
    text-align: center;
    font-weight: 700;
}
.fpe-panel .fpe-button,
.wc-block-checkout:has(.fpe-option) .wc-block-components-checkout-place-order-button {
    background: var(--fpe-gradient);
    border: 1px solid var(--fpe-accent);
    border-radius: .65rem;
    color: white;
    font-weight: 750;
    text-align: center;
    text-decoration: none;
    padding: .75rem;
    min-height: 44px;
    box-sizing: border-box;
}
.fpe-panel .fpe-button { display: block; margin-block: .65rem; }
.fpe-panel .fpe-outline, .fpe-panel .fpe-refresh { background: #21173e; color: #f6b5ff; }
.fpe-panel .fpe-refresh { border: 1px solid var(--fpe-accent); border-radius: .4rem; padding: .55rem; cursor: pointer; }
.fpe-panel :is(a, button):hover { filter: brightness(1.15); }
.fpe-panel :is(a, button):focus-visible,
.wc-block-checkout:has(.fpe-label) :focus-visible { outline: 2px solid #f5c7ff; outline-offset: 3px; }
@media (max-width: 768px) {
    .wc-block-checkout:has(.fpe-label) .wc-block-components-sidebar-layout { flex-direction: column; }
    .wc-block-checkout:has(.fpe-label) :is(.wc-block-components-main, .wc-block-components-sidebar) {
        width: 100%;
        padding-inline: 0;
        min-width: 0;
    }
}
.wc-block-checkout:has(.fpe-label) .wc-block-components-text-input label {
    color: #b7c2da !important;
}
.wc-block-checkout:has(.fpe-label) .wc-block-components-totals-footer-item {
    background: #201c45;
    border-radius: .6rem;
    color: #f8faff;
    font-weight: 750;
}
.wc-block-checkout:has(.fpe-label) .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: #f3a5ff;
}
.fpe-brand { white-space: nowrap; flex-shrink: 0; }
.wc-block-checkout:has(.fpe-option) .wc-block-components-checkout-place-order-button {
    min-height: 56px;
    font-size: 1.1rem;
}
@media (min-width: 769px) {
    .wc-block-checkout:has(.fpe-label) .wc-block-components-sidebar-layout { gap: 1.25rem; }
    .wc-block-checkout:has(.fpe-label) .wc-block-components-main { width: 53%; padding-inline-end: 0; min-width: 0; }
    .wc-block-checkout:has(.fpe-label) .wc-block-components-sidebar { width: 47%; padding-inline-start: 0; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .fpe-panel *, .wc-block-checkout:has(.fpe-label) .wc-block-components-checkout-place-order-button {
        transition: none;
        animation: none;
    }
}

.wc-block-checkout:has(.fpe-label) .wc-block-components-combobox .components-combobox-control__input,
.wc-block-checkout:has(.fpe-label) .wc-blocks-components-select__select {
    background-color: var(--fpe-surface);
    border-color: var(--fpe-border);
    color: var(--fpe-text);
}


.wc-block-checkout:has(.fpe-label) .wc-blocks-components-select__label,
.wc-block-checkout:has(.fpe-label) .wc-block-components-text-input input::placeholder {
    color: var(--fpe-muted) !important;
    opacity: 1;
}
.wc-block-checkout:has(.fpe-label) .wc-blocks-components-select__expand {
    fill: var(--fpe-text);
}
@media (max-width: 768px) {
    .wc-block-checkout:has(.fpe-label):has(.wc-block-components-checkout-order-summary__title[aria-expanded])
        .checkout-order-summary-block-fill-wrapper > .wc-block-components-checkout-step__heading {
        display: none;
    }
}

.wc-block-checkout:has(.fpe-label) .wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
    background: #271848;
    border: 1px solid #c35cff;
    color: #f8faff;
}
