:root {
    --dlc-brand: #b6172d;
    --dlc-brand-dark: #941225;
    --dlc-brand-soft: #f8eaed;
    --dlc-text: #171717;
    --dlc-muted: #676767;
    --dlc-border: #dedede;
    --dlc-bg: #fff;
    --dlc-success: #16794c;
    --dlc-warning: #9a6500;
    --dlc-danger: #a31527;
}

.dlc-price-box,
.dlc-modal,
.dlc-sidebar-panel { font-family: inherit; }

.dlc-price-box {
    width: 100%;
    margin: 12px 0 18px;
    padding: 17px;
    border: 1px solid rgba(182, 23, 45, .27);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(31, 35, 41, .055);
    color: var(--dlc-text);
    direction: rtl;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-sizing: border-box;
}

.dlc-price-box[hidden] { display: none !important; }
.dlc-price-box:hover { border-color: rgba(182, 23, 45, .38); background: #fff; }

.dlc-price-box__head {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    text-align: center;
}

.dlc-price-box__label {
    display: inline-flex;
    min-height: 27px;
    padding: 3px 10px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--dlc-brand-soft);
    color: var(--dlc-brand);
    font-size: .82em;
    font-weight: 750;
    line-height: 1.6;
}

.dlc-price-box__price {
    display: flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    color: var(--dlc-text);
    font-size: 1.15em;
    font-weight: 800;
    line-height: 1.7;
    text-align: center;
}

.dlc-price-box__price .woocommerce-Price-amount,
.dlc-price-box__price .woocommerce-Price-amount bdi,
.dlc-modal .woocommerce-Price-amount,
.dlc-modal .woocommerce-Price-amount bdi {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: baseline;
    gap: .28em;
    direction: rtl !important;
    unicode-bidi: isolate;
    white-space: nowrap;
}

.dlc-open-selector,
body.dlc-product-enabled .summary .dlc-open-selector {
    width: 100% !important;
    min-height: 48px !important;
    margin: 12px 0 0 !important;
    padding: 9px 14px !important;
    border: 1px solid var(--dlc-brand) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--dlc-brand) !important;
    cursor: pointer;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px;
    font: inherit !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    line-height: 1.45 !important;
    text-align: center !important;
    box-shadow: none !important;
    transform: none !important;
    box-sizing: border-box;
    transition: background-color .16s ease, color .16s ease, border-color .16s ease;
}

.dlc-open-selector__text {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    justify-content: center;
    line-height: 1.45;
}

.dlc-swap-icon {
    display: inline-flex;
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(182, 23, 45, .28);
    border-radius: 50%;
    background: var(--dlc-brand-soft);
    color: var(--dlc-brand);
    font-size: 13px;
    line-height: 1;
}

.dlc-open-selector:hover,
.dlc-open-selector:focus,
.dlc-open-selector:focus-visible,
body.dlc-product-enabled .summary .dlc-open-selector:hover,
body.dlc-product-enabled .summary .dlc-open-selector:focus {
    border-color: var(--dlc-brand) !important;
    background: var(--dlc-brand) !important;
    color: #fff !important;
    outline: none !important;
}

.dlc-open-selector:hover *,
.dlc-open-selector:focus *,
body.dlc-product-enabled .summary .dlc-open-selector:hover *,
body.dlc-product-enabled .summary .dlc-open-selector:focus * { color: #fff !important; }

.dlc-open-selector:hover .dlc-swap-icon,
.dlc-open-selector:focus .dlc-swap-icon {
    border-color: rgba(255,255,255,.55);
    background: rgba(255,255,255,.13);
}

.dlc-selection-note {
    width: 100%;
    margin-top: 10px;
    padding: 9px 11px;
    border: 1px solid #ececef;
    border-radius: 10px;
    background: #fafafa;
    color: #565b63;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-size: 11.5px;
    line-height: 1.75;
    text-align: center;
    box-sizing: border-box;
}

.dlc-selection-note i { color: var(--dlc-brand); font-size: 12px; }
.dlc-selection-note strong { color: var(--dlc-text); font-weight: 750; }

body.dlc-modal-open { overflow: hidden; }

.dlc-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px 14px;
    direction: rtl;
    color: var(--dlc-text);
    box-sizing: border-box;
}

.dlc-modal.is-open { display: flex; }
.dlc-modal__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.54); }

.dlc-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(760px, 100%);
    max-height: calc(100dvh - 48px);
    overflow: hidden;
    margin: 0;
    padding: 0;
    border: 1px solid #e2e2e2;
    border-radius: 18px;
    background: #fff;
    display: flex;
    flex-direction: column;
    box-shadow: 0 18px 60px rgba(0,0,0,.20);
    box-sizing: border-box;
}

.dlc-modal__header {
    position: relative;
    z-index: 4;
    min-height: 62px;
    padding: 13px 18px 13px 58px;
    border-bottom: 1px solid #ececef;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 0 auto;
}

.dlc-modal__header h2,
.dlc-modal__dialog h2 {
    margin: 0 !important;
    color: var(--dlc-text) !important;
    font-size: 19px !important;
    font-weight: 800 !important;
    line-height: 1.55 !important;
}

.dlc-modal__body {
    position: relative;
    min-height: 120px;
    padding: 21px 22px 23px;
    overflow: auto;
    overscroll-behavior: contain;
    flex: 1 1 auto;
    box-sizing: border-box;
}

.dlc-modal__dialog h3 { margin: 0 0 7px; color: var(--dlc-text); font-size: 15px; line-height: 1.7; }

.dlc-modal__close,
.dlc-modal .dlc-modal__close {
    position: absolute !important;
    top: 50% !important;
    left: 16px !important;
    right: auto !important;
    width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #dedee2 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #3d4148 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 15px !important;
    line-height: 1 !important;
    cursor: pointer;
    transform: translateY(-50%) !important;
    box-shadow: none !important;
}

.dlc-modal__close:hover,
.dlc-modal__close:focus {
    border-color: var(--dlc-brand) !important;
    background: var(--dlc-brand-soft) !important;
    color: var(--dlc-brand) !important;
    outline: none !important;
}

#dlc-modal-content.is-loading { opacity: .42; pointer-events: none; }
.dlc-loader { position: absolute; z-index: 3; top: 50%; right: 50%; transform: translate(50%,-50%); display: flex; gap: 6px; }
.dlc-loader[hidden] { display: none; }
.dlc-loader span { width: 8px; height: 8px; border-radius: 50%; background: var(--dlc-brand); animation: dlc-pulse 1s infinite ease-in-out; }
.dlc-loader span:nth-child(2) { animation-delay: .15s; }
.dlc-loader span:nth-child(3) { animation-delay: .3s; }
@keyframes dlc-pulse { 0%,100% { transform: translateY(0); opacity: .35; } 50% { transform: translateY(-7px); opacity: 1; } }

.dlc-methods { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 9px; }

.dlc-modal .dlc-method,
.dlc-method {
    min-width: 0;
    min-height: 78px;
    padding: 11px 12px !important;
    border: 1px solid var(--dlc-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--dlc-text) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px;
    text-align: right !important;
    cursor: pointer;
    font: inherit !important;
    line-height: 1.55 !important;
    box-shadow: none !important;
    transform: none !important;
    box-sizing: border-box;
}

.dlc-modal .dlc-method:hover,
.dlc-modal .dlc-method:focus,
.dlc-method:hover,
.dlc-method:focus {
    border-color: rgba(182, 23, 45, .48) !important;
    background: #fff8f9 !important;
    color: var(--dlc-text) !important;
    outline: none !important;
}

.dlc-modal .dlc-method.is-selected,
.dlc-method.is-selected {
    border-color: var(--dlc-brand) !important;
    background: var(--dlc-brand-soft) !important;
    color: var(--dlc-text) !important;
}

.dlc-method__radio {
    width: 17px;
    height: 17px;
    border: 1.5px solid #9b9b9f;
    border-radius: 50%;
    flex: 0 0 auto;
    position: relative;
}

.dlc-method.is-selected .dlc-method__radio { border-color: var(--dlc-brand); }
.dlc-method.is-selected .dlc-method__radio::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: var(--dlc-brand); }

.dlc-modal .dlc-method strong,
.dlc-modal .dlc-method small,
.dlc-method strong,
.dlc-method small {
    display: block;
    color: var(--dlc-text) !important;
    text-decoration: none !important;
}

.dlc-modal .dlc-method strong,
.dlc-method strong { font-size: 13px; line-height: 1.65; }
.dlc-modal .dlc-method small,
.dlc-method small { margin-top: 3px; color: var(--dlc-muted) !important; font-size: 10.5px; line-height: 1.65; }

.dlc-help { margin: 12px 0 0; color: var(--dlc-muted); font-size: 11.5px; line-height: 1.8; }
#dlc-flow { margin-top: 16px; }
.dlc-notice { padding: 11px 13px; border: 1px solid #ddd; border-radius: 10px; background: #fafafa; font-size: 12px; line-height: 1.8; }
.dlc-notice--error { border-color: #e7b2ba; background: #fff4f5; color: #861426; }
.dlc-notice--success { border-color: #a8d8c1; background: #f2fbf7; color: #12633f; }
.dlc-notice--warning { border-color: #ead3a2; background: #fffaf0; color: #7c5200; }

.dlc-primary {
    min-height: 40px;
    padding: 8px 16px !important;
    border: 1px solid var(--dlc-brand) !important;
    border-radius: 9px !important;
    background: var(--dlc-brand) !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font: inherit !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    cursor: pointer;
    box-shadow: none !important;
}
.dlc-primary:hover,
.dlc-primary:focus { border-color: var(--dlc-brand-dark) !important; background: var(--dlc-brand-dark) !important; color: #fff !important; }

.dlc-credit-list > p { margin: 0 0 10px; color: var(--dlc-muted); font-size: 11.5px; line-height: 1.8; }
.dlc-credit-gateways { display: flex; flex-direction: column; gap: 8px; margin: 10px 0; }

.dlc-modal .dlc-gateway,
.dlc-gateway {
    position: relative !important;
    width: 100% !important;
    min-height: 82px !important;
    display: grid !important;
    grid-template-columns: 22px 70px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 11px !important;
    padding: 11px 13px !important;
    margin: 0 !important;
    border: 1px solid var(--dlc-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--dlc-text) !important;
    cursor: pointer;
    direction: rtl !important;
    text-align: right !important;
    box-shadow: none !important;
    transform: none !important;
    box-sizing: border-box !important;
    transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}

.dlc-modal .dlc-gateway:hover,
.dlc-gateway:hover {
    border-color: rgba(182, 23, 45, .45) !important;
    background: #fffafa !important;
    color: var(--dlc-text) !important;
    box-shadow: 0 5px 16px rgba(0, 0, 0, .04) !important;
}

.dlc-modal .dlc-gateway.is-selected,
.dlc-modal .dlc-gateway:has(input:checked),
.dlc-gateway.is-selected,
.dlc-gateway:has(input:checked) {
    border-color: var(--dlc-brand) !important;
    background: var(--dlc-brand-soft) !important;
    color: var(--dlc-text) !important;
    box-shadow: 0 5px 18px rgba(182, 23, 45, .075) !important;
}

.dlc-modal .dlc-gateway__radio,
.dlc-gateway__radio {
    position: static !important;
    display: block !important;
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-self: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    clip: auto !important;
    transform: none !important;
    accent-color: var(--dlc-brand);
}

.dlc-gateway__media {
    position: relative;
    width: 66px;
    height: 54px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid #e1e3e6;
    border-radius: 9px;
    background: #fff;
    color: #4c5159;
    box-sizing: border-box;
}

.dlc-gateway__image { display: block !important; max-width: calc(100% - 10px) !important; max-height: calc(100% - 10px) !important; width: auto !important; height: auto !important; object-fit: contain; }
.dlc-gateway__fallback { position: absolute; inset: 5px; display: flex; align-items: center; justify-content: center; overflow: hidden; color: #4f555e; font-size: 9px; font-weight: 800; line-height: 1.45; text-align: center; overflow-wrap: anywhere; }
.dlc-gateway__media.has-image .dlc-gateway__fallback { visibility: hidden; }
.dlc-gateway__media.is-fallback .dlc-gateway__image { display: none !important; }
.dlc-gateway__media.is-fallback .dlc-gateway__fallback { visibility: visible; }

.dlc-gateway__content {
    min-width: 0;
    min-height: 54px;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    text-align: right !important;
}

.dlc-gateway__content strong,
.dlc-gateway__content small { display: block; width: 100%; color: var(--dlc-text) !important; }
.dlc-gateway__content strong { font-size: 12.5px; line-height: 1.65; }
.dlc-gateway__content small { margin-top: 2px; color: var(--dlc-muted) !important; font-size: 10.5px; line-height: 1.65; }
.dlc-credit-list .dlc-primary { margin-top: 7px; }

/* Installment gateway stays active for processing while its duplicate WooCommerce choice remains hidden. */
body.dlc-credit-order-payment .woocommerce-checkout-payment ul.payment_methods > li.wc_payment_method > input.input-radio,
body.dlc-credit-order-payment .woocommerce-checkout-payment ul.payment_methods > li.wc_payment_method > label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
body.dlc-credit-order-payment .woocommerce-checkout-payment .payment_box { margin-top: 0 !important; }

.dlc-sidebar-panel {
    width: calc(100% - 20px);
    max-width: calc(100% - 20px);
    margin: 17px 10px 22px;
    padding: 19px;
    border: 1px solid var(--dlc-border);
    border-radius: 15px;
    background: #fff;
    color: var(--dlc-text);
    direction: rtl;
    font-family: inherit;
    box-sizing: border-box;
    box-shadow: 0 5px 18px rgba(0,0,0,.04);
}

.dlc-sidebar-panel__head { display: flex; flex-direction: column; gap: 4px; margin: 0 0 12px; padding: 0 2px; }
.dlc-sidebar-panel__head strong { color: var(--dlc-text); font-size: 14px; line-height: 1.7; }
.dlc-sidebar-panel__head small { color: var(--dlc-muted); font-size: 10.5px; line-height: 1.75; }
.dlc-sidebar-panel--blocks { width: calc(100% - 20px); }

.dlc-overview-button,
.dlc-sidebar-panel .dlc-overview-button {
    width: 100% !important;
    min-height: 60px !important;
    padding: 10px 12px !important;
    border: 1px solid var(--dlc-brand) !important;
    border-radius: 11px !important;
    background: var(--dlc-brand-soft) !important;
    color: var(--dlc-text) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px;
    text-align: right !important;
    font: inherit !important;
    cursor: pointer;
    box-sizing: border-box;
    box-shadow: none !important;
}

.dlc-overview-button:hover,
.dlc-overview-button:focus,
.dlc-sidebar-panel .dlc-overview-button:hover,
.dlc-sidebar-panel .dlc-overview-button:focus {
    border-color: var(--dlc-brand) !important;
    background: #f5dfe4 !important;
    color: var(--dlc-text) !important;
    outline: none !important;
}

.dlc-overview-button__text { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.dlc-overview-button__text strong,
.dlc-overview-button:hover .dlc-overview-button__text strong,
.dlc-overview-button:focus .dlc-overview-button__text strong { color: var(--dlc-brand) !important; font-size: 12.5px; line-height: 1.65; }
.dlc-overview-button__text small,
.dlc-overview-button:hover .dlc-overview-button__text small,
.dlc-overview-button:focus .dlc-overview-button__text small { color: var(--dlc-muted) !important; font-size: 10px; line-height: 1.65; }
.dlc-overview-button__arrow { display: inline-flex; width: 31px; height: 31px; flex: 0 0 auto; align-items: center; justify-content: center; border-radius: 50%; background: var(--dlc-brand); color: #fff !important; font-size: 12px; }
.dlc-sidebar-panel .dlc-selection-note { margin-top: 10px; }

@media (max-width: 640px) {
    .dlc-modal { padding: 30px 12px; }
    .dlc-modal__dialog { width: 100%; max-height: calc(100dvh - 60px); border-radius: 16px; }
    .dlc-modal__header { min-height: 57px; padding: 11px 16px 11px 54px; }
    .dlc-modal__header h2,
    .dlc-modal__dialog h2 { font-size: 16px !important; }
    .dlc-modal__close,
    .dlc-modal .dlc-modal__close { left: 13px !important; width: 32px !important; height: 32px !important; min-height: 32px !important; }
    .dlc-modal__body { padding: 16px 13px 18px; }
    .dlc-methods { grid-template-columns: 1fr; gap: 7px; }
    .dlc-modal .dlc-method,
    .dlc-method { min-height: 60px; padding: 9px 10px !important; }
    .dlc-modal .dlc-gateway,
    .dlc-gateway { min-height: 72px !important; grid-template-columns: 20px 57px minmax(0, 1fr) !important; gap: 8px !important; padding: 9px !important; }
    .dlc-gateway__media { width: 55px; height: 48px; }
    .dlc-gateway__content { min-height: 48px; }
    .dlc-gateway__content strong { font-size: 11.5px; }
    .dlc-gateway__content small { font-size: 9.5px; line-height: 1.55; }
    .dlc-sidebar-panel { width: calc(100% - 16px); max-width: calc(100% - 16px); margin: 15px 8px 19px; padding: 15px; }
    .dlc-sidebar-panel--blocks { width: calc(100% - 16px); }
    .dlc-price-box { padding: 15px; }
    .dlc-open-selector,
    body.dlc-product-enabled .summary .dlc-open-selector { min-height: 46px !important; padding: 8px 11px !important; font-size: 12px !important; }
    .dlc-selection-note { font-size: 10.5px; }
}

@media (max-width: 380px) {
    .dlc-modal { padding: 24px 9px; }
    .dlc-modal__dialog { max-height: calc(100dvh - 48px); }
    .dlc-modal .dlc-gateway,
    .dlc-gateway { grid-template-columns: 19px 50px minmax(0, 1fr) !important; gap: 7px !important; padding: 8px !important; }
    .dlc-gateway__media { width: 48px; height: 45px; }
}

@media (prefers-reduced-motion: reduce) {
    .dlc-loader span { animation: none; }
    .dlc-open-selector,
    .dlc-gateway { transition: none; }
}

/* Single product credit selector: native cash price and quantity controls are not touched. */
body.dlc-product-enabled .summary > p.price,
body.dlc-product-enabled .summary > div.price,
body.dlc-product-enabled .summary .woocommerce-variation-price {
    display: block !important;
}

.dlc-product-credit-box,
body.dlc-product-enabled .summary .dlc-product-credit-box,
.dlsp-buy-box > .dlc-product-credit-box {
    position: relative;
    width: 100%;
    margin: 0 0 18px !important;
    padding: 14px !important;
    border: 1px solid var(--dlsp-secondary, rgba(182, 23, 45, .85)) !important;
    border-radius: 13px !important;
    background: var(--dlsp-background, #fff) !important;
    color: var(--dlsp-primary-dark, var(--dlc-text)) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    align-items: center !important;
    justify-items: center !important;
    text-align: center !important;
    direction: rtl;
    cursor: pointer;
    box-sizing: border-box;
    box-shadow: none !important;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.dlsp-price-box + .dlc-product-credit-box,
.dlsp-buy-box > .dlsp-price-box + .dlc-product-credit-box {
    margin-top: -4px !important;
}

.dlc-product-credit-box:hover,
.dlc-product-credit-box:focus-visible,
.dlc-product-credit-box.is-credit-selected {
    border-color: var(--dlsp-secondary, var(--dlc-brand)) !important;
    background: var(--dlsp-background, #fff) !important;
    box-shadow: 0 0 0 2px rgba(182, 23, 45, .13) !important;
    outline: none !important;
}

.dlc-product-credit-box:focus-visible {
    transform: translateY(-1px);
}

.dlc-product-cash-price-trigger {
    cursor: pointer;
}

.dlc-product-cash-price-trigger:focus-visible {
    outline: 2px solid var(--dlsp-secondary, var(--dlc-brand));
    outline-offset: 3px;
}

.dlc-product-credit-box__label {
    display: block;
    width: 100%;
    margin: 0 !important;
    padding: 0;
    color: var(--dlsp-muted, var(--dlc-muted)) !important;
    font-size: 12px !important;
    font-weight: 600;
    line-height: 1.7;
    text-align: center !important;
}

.dlc-product-credit-box__price {
    width: 100%;
    min-height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--dlsp-primary-dark, var(--dlc-text)) !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.7;
    text-align: center !important;
}

.dlc-product-credit-box__price .price,
.dlc-product-credit-box__price .woocommerce-Price-amount,
.dlc-product-credit-box__price .woocommerce-Price-amount bdi {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    direction: rtl !important;
    unicode-bidi: isolate;
    white-space: nowrap;
}

.dlc-product-credit-box__price del {
    color: #999999 !important;
    font-size: 12px !important;
    opacity: 1;
}

.dlc-product-credit-box__price ins {
    text-decoration: none;
}

.dlc-product-credit-box__meta {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    justify-items: center;
    text-align: center;
}

.dlc-product-credit-box__choice {
    width: 100%;
    display: block;
    text-align: center;
    line-height: 1.65;
}

.dlc-product-credit-box__choice {
    color: var(--dlsp-muted, var(--dlc-muted)) !important;
    font-size: 11px !important;
    font-weight: 600;
}

.dlc-product-credit-box__choice strong {
    color: var(--dlsp-primary-dark, var(--dlc-text)) !important;
    font-weight: 800;
}



.dlc-product-credit-section {
    width: calc(100% - 20px);
    max-width: 1220px;
    margin: 22px auto 18px;
    padding: 16px;
    border: 1px solid rgba(182, 23, 45, .18);
    border-radius: 16px;
    background: #fff;
    direction: rtl;
    color: var(--dlc-text);
    box-sizing: border-box;
    box-shadow: 0 8px 24px rgba(31, 35, 41, .045);
}

.dlc-product-credit-section[hidden] { display: none !important; }
.dlc-product-credit-section.is-saving { opacity: .72; pointer-events: none; }

.dlc-product-credit-section__head {
    margin: 0 0 12px;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.dlc-product-credit-section__head h2 {
    margin: 0 !important;
    color: var(--dlc-text) !important;
    font-size: 18px !important;
    line-height: 1.8 !important;
    font-weight: 800 !important;
}

.dlc-product-credit-section__head p {
    margin: 0 !important;
    color: var(--dlc-muted) !important;
    font-size: 12px !important;
    line-height: 1.85 !important;
}

.dlc-product-credit-gateways {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.dlc-product-gateway {
    width: 100%;
    min-height: 72px;
    margin: 0;
    padding: 9px 12px;
    border: 1px solid var(--dlc-border);
    border-radius: 12px;
    background: #fff;
    display: flex;
    flex-direction: row;
    direction: rtl;
    align-items: center;
    gap: 12px;
    box-sizing: border-box;
    transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}

.dlc-product-gateway:hover {
    border-color: rgba(182, 23, 45, .45);
    background: #fff;
}

.dlc-product-gateway.is-selected {
    border-color: var(--dlc-brand);
    background: #fff;
    box-shadow: 0 0 0 2px rgba(182, 23, 45, .12);
}

.dlc-product-gateway__media {
    position: relative;
    width: 66px;
    height: 52px;
    flex: 0 0 66px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid #e1e3e6;
    border-radius: 9px;
    background: #fff;
    box-sizing: border-box;
}

.dlc-product-gateway__image {
    display: block;
    max-width: calc(100% - 10px);
    max-height: calc(100% - 10px);
    width: auto;
    height: auto;
    object-fit: contain;
}

.dlc-product-gateway__fallback {
    position: absolute;
    inset: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #4f555e;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.45;
    text-align: center;
    overflow-wrap: anywhere;
}

.dlc-product-gateway__media.has-image .dlc-product-gateway__fallback { visibility: hidden; }
.dlc-product-gateway__media.is-fallback .dlc-product-gateway__image { display: none !important; }
.dlc-product-gateway__media.is-fallback .dlc-product-gateway__fallback { visibility: visible; }

.dlc-product-gateway__content {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: right;
}

.dlc-product-gateway__content strong {
    color: var(--dlc-text);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.6;
}

.dlc-product-gateway__content small {
    margin-top: 2px;
    color: var(--dlc-muted);
    font-size: 11px;
    line-height: 1.65;
}

.dlc-product-gateway__select {
    min-height: 36px !important;
    flex: 0 0 104px;
    padding: 7px 12px !important;
    border: 1px solid var(--dlc-brand) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--dlc-brand) !important;
    font: inherit !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
    cursor: pointer;
    box-shadow: none !important;
}

.dlc-product-gateway.is-selected .dlc-product-gateway__select,
.dlc-product-gateway__select:hover,
.dlc-product-gateway__select:focus-visible {
    background: var(--dlc-brand) !important;
    color: #fff !important;
    outline: none !important;
}

.dlc-inline-loader {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 46px;
}

.dlc-inline-loader span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--dlc-brand);
    opacity: .35;
    animation: dlc-loader 900ms ease-in-out infinite alternate;
}

.dlc-inline-loader span:nth-child(2) { animation-delay: 120ms; }
.dlc-inline-loader span:nth-child(3) { animation-delay: 240ms; }

@media (max-width: 640px) {
    .dlc-product-credit-section { width: calc(100% - 16px); padding: 13px; }
    .dlc-product-credit-box__actions { grid-template-columns: 1fr; }
    .dlc-product-gateway { min-height: 68px; gap: 8px; padding: 8px; }
    .dlc-product-gateway__media { width: 54px; height: 46px; flex-basis: 54px; }
    .dlc-product-gateway__select { flex-basis: 78px; padding-inline: 8px !important; font-size: 11px !important; }
    .dlc-product-gateway__content strong { font-size: 12px; }
    .dlc-product-gateway__content small { font-size: 10px; }
}

/* Single product payment selector: neutral card list, no layout-column changes. */
.dlc-product-payment-panel,
body.dlc-product-enabled .summary .dlc-product-payment-panel,
.dlsp-buy-box > .dlc-product-payment-panel {
    width: 100%;
    margin: 0 0 18px !important;
    padding: 14px !important;
    border: 1px solid var(--dlc-border) !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: var(--dlc-text) !important;
    direction: rtl;
    box-sizing: border-box;
    box-shadow: none !important;
}

.dlc-product-payment-panel[hidden] { display: none !important; }

.dlc-product-payment-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 10px;
}

.dlc-product-payment-panel__head strong {
    color: var(--dlc-text) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.7 !important;
}

.dlc-product-payment-panel__head span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 2px 8px;
    border: 1px solid var(--dlc-border);
    border-radius: 999px;
    color: var(--dlc-muted) !important;
    background: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    white-space: nowrap;
}

.dlc-product-method-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.dlc-product-method-card,
body.dlc-product-enabled .summary .dlc-product-method-card {
    width: 100% !important;
    min-height: 62px !important;
    margin: 0 !important;
    padding: 10px 11px !important;
    border: 1px solid var(--dlc-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--dlc-text) !important;
    display: flex !important;
    flex-direction: column;
    justify-content: center !important;
    gap: 4px;
    text-align: right !important;
    cursor: pointer;
    font: inherit !important;
    box-shadow: none !important;
    transform: none !important;
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
    box-sizing: border-box;
}

.dlc-product-method-card[hidden] { display: none !important; }

.dlc-product-method-card:hover,
.dlc-product-method-card:focus-visible {
    border-color: var(--dlc-brand) !important;
    background: #fff !important;
    outline: none !important;
}

.dlc-product-method-card.is-selected,
.dlc-product-method-card.active {
    border-color: var(--dlc-brand) !important;
    background: var(--dlc-brand-soft) !important;
    box-shadow: 0 0 0 1px rgba(182, 23, 45, .08) !important;
}

.dlc-product-method-card__top {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.dlc-product-method-card__name {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    color: var(--dlc-text) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.8 !important;
}

.dlc-product-method-card__name i {
    width: 16px;
    min-width: 16px;
    color: var(--dlc-brand) !important;
    text-align: center;
    font-size: 13px;
}

.dlc-product-method-card__price {
    display: inline-flex;
    align-items: baseline;
    justify-content: flex-end;
    color: var(--dlc-text) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.7 !important;
    white-space: nowrap;
}

.dlc-product-method-card__price .woocommerce-Price-amount,
.dlc-product-method-card__price .woocommerce-Price-amount bdi {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    direction: rtl !important;
    unicode-bidi: isolate;
    white-space: nowrap;
}

.dlc-product-selected-box {
    margin-top: 10px;
    padding: 10px 11px;
    border: 1px solid #ececef;
    border-radius: 12px;
    background: #fafafa;
    display: flex;
    flex-direction: column;
    gap: 3px;
    text-align: right;
}

.dlc-product-selected-box__title,
.dlc-product-selected-box__desc {
    color: var(--dlc-muted) !important;
    font-size: 11.5px !important;
    line-height: 1.75 !important;
}

.dlc-product-selected-box__title strong {
    color: var(--dlc-text) !important;
    font-weight: 800 !important;
}

@media (max-width: 575px) {
    .dlc-product-payment-panel { padding: 12px !important; }
    .dlc-product-method-card__top { align-items: flex-start; flex-direction: column; gap: 2px; }
    .dlc-product-method-card__price { justify-content: flex-start; }
}

/* Technolife-like credit contract card and pre-rendered seller list. */
.dlc-product-method-card--technolife,
body.dlc-product-enabled .summary .dlc-product-method-card--technolife {
    position: relative;
    min-height: 56px !important;
    padding: 10px 8px !important;
    border: 1px dashed #2f80ed !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.dlc-product-method-card--technolife:hover,
.dlc-product-method-card--technolife:focus-visible,
.dlc-product-method-card--technolife.is-selected,
.dlc-product-method-card--technolife.active {
    border-color: #2f80ed !important;
    background: #fff !important;
    box-shadow: 0 0 0 2px rgba(47, 128, 237, .08) !important;
}

.dlc-techno-credit-button__row {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.dlc-techno-credit-button__label {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--dlsp-primary-dark, #142d67) !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
    line-height: 1.8 !important;
    text-align: right;
}

.dlc-techno-credit-button__label > span:not(.dlc-techno-credit-button__info) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dlc-techno-credit-button__label i,
.dlc-techno-credit-button__info,
.dlc-techno-credit-button__arrow {
    color: #2f80ed !important;
}

.dlc-techno-credit-button__info,
.dlc-techno-credit-button__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.dlc-techno-credit-button__arrow {
    width: 25px;
    height: 25px;
    font-size: 15px;
}

.dlc-techno-credit-button__tip {
    position: absolute;
    z-index: 20;
    bottom: calc(100% + 8px);
    left: 50%;
    width: 254px;
    max-width: calc(100vw - 32px);
    padding: 12px 14px;
    border-radius: 10px;
    background: #fff;
    color: #333946 !important;
    box-shadow: 0 8px 30px rgba(31, 35, 41, .16);
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.8 !important;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%) translateY(4px);
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
    pointer-events: none;
}

.dlc-techno-credit-button__tip::after {
    content: "";
    position: absolute;
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
    border-top: 6px solid #fff;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
}

.dlc-product-method-card--technolife:hover .dlc-techno-credit-button__tip,
.dlc-product-method-card--technolife:focus-visible .dlc-techno-credit-button__tip {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.dlc-product-method-card__price--hidden {
    display: none !important;
}

.dlc-product-credit-section {
    width: calc(100% - 20px) !important;
    max-width: 1220px !important;
    margin: 22px auto 18px !important;
    padding: 16px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: #f5f6f8 !important;
    box-shadow: none !important;
}

.dlc-techno-sellers {
    width: 100%;
    direction: rtl;
}

.dlc-techno-sellers__head {
    width: 100%;
    margin: 0 0 14px;
    padding: 0 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    box-sizing: border-box;
}

.dlc-techno-sellers__head h2 {
    margin: 0 !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #374151 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.7 !important;
}

.dlc-techno-sellers__head h2 i {
    color: #2f80ed !important;
    font-size: 17px;
}

.dlc-techno-sellers__count {
    color: #667085 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    white-space: nowrap;
}

.dlc-techno-sellers__list {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.dlc-techno-seller {
    margin: 0 !important;
    padding: 0 !important;
    border: 2px solid transparent;
    border-radius: 12px;
    list-style: none !important;
}

.dlc-techno-seller.is-selected {
    border-color: #2f80ed;
}

.dlc-techno-seller__inner {
    min-height: 82px;
    padding: 12px 16px;
    border-radius: 10px;
    background: #fff;
    display: grid;
    grid-template-columns: minmax(180px, 1.2fr) minmax(160px, 1fr) minmax(120px, auto) minmax(110px, auto);
    align-items: center;
    gap: 16px;
    box-shadow: 0 3px 14px rgba(31, 35, 41, .06);
    box-sizing: border-box;
}

.dlc-techno-seller__shop {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.dlc-techno-seller__logo {
    position: relative;
    width: 58px;
    height: 48px;
    flex: 0 0 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid #e1e3e6;
    border-radius: 9px;
    background: #fff;
    box-sizing: border-box;
}

.dlc-techno-seller__logo img {
    max-width: calc(100% - 10px);
    max-height: calc(100% - 10px);
    width: auto;
    height: auto;
    object-fit: contain;
}

.dlc-techno-seller__logo.has-image .dlc-product-gateway__fallback { visibility: hidden; }
.dlc-techno-seller__logo.is-fallback img { display: none !important; }
.dlc-techno-seller__logo.is-fallback .dlc-product-gateway__fallback { visibility: visible; }

.dlc-techno-seller__info {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.dlc-techno-seller__info strong {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #242832 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.6 !important;
}

.dlc-techno-seller__info small {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #242832 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.6 !important;
}

.dlc-techno-seller__info small b {
    color: #142d67 !important;
    font-weight: 800 !important;
}

.dlc-techno-seller__terms {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.dlc-techno-seller__terms p,
.dlc-techno-seller__terms small {
    margin: 0 !important;
    color: #242832 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.7 !important;
}

.dlc-techno-seller__terms small {
    color: #667085 !important;
    font-size: 11px !important;
}

.dlc-techno-seller__price {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
    text-align: left;
}

.dlc-techno-seller__price-label {
    color: #667085 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
}

.dlc-techno-seller__price strong,
.dlc-techno-seller__price .woocommerce-Price-amount,
.dlc-techno-seller__price .woocommerce-Price-amount bdi {
    color: #242832 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.6 !important;
    white-space: nowrap;
}

.dlc-techno-seller .dlc-product-gateway__select {
    width: 112px !important;
    min-height: 40px !important;
    flex: 0 0 auto !important;
    border-radius: 8px !important;
    background: var(--dlc-brand, #b6172d) !important;
    color: #fff !important;
    border-color: var(--dlc-brand, #b6172d) !important;
}

.dlc-techno-seller.is-selected .dlc-product-gateway__select,
.dlc-techno-seller .dlc-product-gateway__select:hover,
.dlc-techno-seller .dlc-product-gateway__select:focus-visible {
    background: var(--dlc-brand-dark, #941225) !important;
    border-color: var(--dlc-brand-dark, #941225) !important;
    color: #fff !important;
}

@media (max-width: 900px) {
    .dlc-techno-seller__inner {
        grid-template-columns: 1fr;
        align-items: stretch;
        gap: 10px;
    }

    .dlc-techno-seller__price {
        align-items: flex-start;
        text-align: right;
    }

    .dlc-techno-seller .dlc-product-gateway__select {
        width: 100% !important;
    }
}

@media (max-width: 575px) {
    .dlc-techno-credit-button__label {
        font-size: 11.5px !important;
        gap: 5px;
    }

    .dlc-techno-credit-button__tip {
        width: 220px;
        font-size: 11px !important;
    }

    .dlc-product-credit-section {
        width: calc(100% - 16px) !important;
        padding: 12px !important;
    }

    .dlc-techno-sellers__head {
        padding: 0 4px;
    }

    .dlc-techno-sellers__head h2 {
        font-size: 14px !important;
    }

    .dlc-techno-seller__inner {
        padding: 11px;
    }
}

/* Single product: prevent the product buy/price sidebar from creating its own scrollbar after DLC price cards are injected. */
body.single-product.dlc-product-enabled .dlc-product-sidebar-unlocked,
body.single-product.dlc-product-enabled .dlsp-buy-box,
body.single-product.dlc-product-enabled .summary .dlc-product-payment-panel,
body.single-product.dlc-product-enabled .summary .dlc-product-credit-box,
body.single-product.dlc-product-enabled .dlsp-buy-box > .dlc-product-payment-panel,
body.single-product.dlc-product-enabled .dlsp-buy-box > .dlc-product-credit-box {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-y: visible !important;
}

body.single-product.dlc-product-enabled .dlc-product-sidebar-unlocked {
    scrollbar-width: auto !important;
}
