/* ===================================
   LUNNATOOLS — Cashback (frontend)
   Cascata de cores:
     1) --lunnatools-cashback-*  (definido no admin do plugin)
     2) --wc-*                   (variáveis do tema WooCommerce)
     3) valor literal de fallback
   ================================== */

.lunnatools-cashback-account {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: var(--lunnatools-cashback-text, var(--wc-secondary-text, #515151));
}

/* Card de saldo */
.lunnatools-cashback-card {
    background: var(--lunnatools-cashback-primary, var(--wc-primary, #720eec));
    color: var(--lunnatools-cashback-primary-text, var(--wc-primary-text, #fcfbfe));
    border-radius: 14px;
    padding: 28px 32px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    margin-bottom: 32px;
}

.lunnatools-cashback-card__label {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.85;
    margin-bottom: 8px;
}

.lunnatools-cashback-card__balance {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 12px;
    color: var(--lunnatools-cashback-primary-text, var(--wc-primary-text, #fcfbfe));
}

.lunnatools-cashback-card__balance .woocommerce-Price-amount,
.lunnatools-cashback-card__balance bdi {
    color: var(--lunnatools-cashback-primary-text, var(--wc-primary-text, #fcfbfe)) !important;
}

.lunnatools-cashback-card__expiry {
    font-size: 13px;
    opacity: 0.9;
    margin-bottom: 8px;
}

.lunnatools-cashback-card__hint {
    font-size: 13px;
    opacity: 0.85;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
}

/* Histórico */
.lunnatools-cashback-history-title {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 16px;
    color: var(--lunnatools-cashback-text, var(--wc-secondary-text, #515151));
}

.lunnatools-cashback-empty {
    background: var(--wc-secondary, #e9e6ed);
    color: var(--lunnatools-cashback-text, var(--wc-secondary-text, #515151));
    border-radius: var(--wc-form-border-radius, 4px);
    padding: 24px;
    text-align: center;
    margin: 0;
}

.lunnatools-cashback-table {
    width: 100%;
    border-collapse: collapse;
    border-radius: var(--wc-form-border-radius, 4px);
    overflow: hidden;
    border: var(--wc-form-border-width, 1px) solid var(--wc-form-border-color, rgba(32, 7, 7, 0.18));
    background: var(--wc-content-bg, #fff);
}

.lunnatools-cashback-table th,
.lunnatools-cashback-table td {
    padding: 12px 14px;
    text-align: left;
    border-bottom: 1px solid var(--wc-form-border-color, rgba(32, 7, 7, 0.12));
    font-size: 14px;
}

.lunnatools-cashback-table th {
    background: var(--wc-secondary, #e9e6ed);
    color: var(--lunnatools-cashback-text, var(--wc-secondary-text, #515151));
    font-weight: 600;
}

.lunnatools-cashback-table tbody tr:last-child td {
    border-bottom: none;
}

.lunnatools-cashback-table .amount {
    text-align: right;
    white-space: nowrap;
}

/* Cores de status */
.lunnatools-cashback-table .amount.positive {
    color: var(--lunnatools-cashback-accent, var(--wc-green, #008a20));
    font-weight: 600;
}

.lunnatools-cashback-table .amount.negative {
    color: var(--wc-red, #a00);
    font-weight: 600;
}

.lunnatools-cashback-table .amount .woocommerce-Price-amount,
.lunnatools-cashback-table .amount bdi {
    color: inherit !important;
}

/* Carrinho / checkout: mensagem "vai ganhar X de cashback" */
.lunnatools-cashback-earn-row th {
    padding: 0 !important;
    border: none !important;
}

.lunnatools-cashback-earn {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    margin: 10px 0;
    background: rgba(0, 0, 0, 0.04);
    border-left: 3px solid var(--lunnatools-cashback-accent, var(--wc-green, #008a20));
    border-radius: var(--wc-form-border-radius, 4px);
    color: var(--lunnatools-cashback-accent, var(--wc-green, #008a20));
    font-weight: 500;
    font-size: 14px;
    line-height: 1.4;
}

.lunnatools-cashback-earn__icon {
    flex-shrink: 0;
    display: inline-flex;
    color: var(--lunnatools-cashback-accent, var(--wc-green, #008a20));
}

.lunnatools-cashback-earn__icon svg {
    display: block;
    width: 22px;
    height: 22px;
}

.lunnatools-cashback-earn .woocommerce-Price-amount,
.lunnatools-cashback-earn bdi {
    color: inherit !important;
    font-weight: 700;
}

/* Variante: cliente está abaixo do mínimo */
.lunnatools-cashback-earn--missing {
    background: rgba(0, 0, 0, 0.04);
    border-left-color: var(--lunnatools-cashback-warning, var(--wc-orange, #ffba00));
    color: var(--lunnatools-cashback-text, var(--wc-secondary-text, #515151));
}

.lunnatools-cashback-earn--missing .lunnatools-cashback-earn__icon {
    color: var(--lunnatools-cashback-warning, var(--wc-orange, #ffba00));
}

/* Carrinho / checkout: linha do opt-out */
.lunnatools-cashback-optout-row {
    background: var(--wc-secondary, #e9e6ed);
}

.lunnatools-cashback-optout-row th {
    padding: 12px 14px !important;
    font-weight: 400 !important;
    color: var(--lunnatools-cashback-text, var(--wc-secondary-text, #515151)) !important;
}

.lunnatools-cashback-optout-row input[type="checkbox"] {
    accent-color: var(--lunnatools-cashback-primary, var(--wc-primary, #720eec));
    margin: 0;
}

@media (max-width: 600px) {
    .lunnatools-cashback-card {
        padding: 22px;
    }
    .lunnatools-cashback-card__balance {
        font-size: 28px;
    }
    .lunnatools-cashback-table th,
    .lunnatools-cashback-table td {
        padding: 10px 8px;
        font-size: 13px;
    }
}

/* ===================================
   Carrinho lateral da FunnelKit (Cart for WooCommerce)
   Cashback distribuído nas posições nativas dela:
     • topo  (fkcart_after_header)         → card de progresso / "vai ganhar"
     • antes dos totais (fkcart_after_coupon_section) → card "usar meu cashback"
     • resumo (fkcart_after_order_summary) → linha "cashback aplicado" + total
   Usa SÓ os tokens --fkcart-* (injetados pela FunnelKit em :root) e reaproveita
   as classes nativas (.fkcart-progress-wrap/-bar, .fkcart-summary-*). Os
   fallbacks são os defaults da FunnelKit, só caso a var não exista.
   ================================== */

/* [TOPO] Card de progresso / "você vai ganhar X" */
.lunnatools-fkcb-progress {
    margin: 4px 16px 0;
    padding: 12px 14px;
    background: var(--fkcart-panel-color, #f6f7fb);
    /* Segue o raio da FunnelKit, mas limitado a 12px: num card pequeno os 38px
       do carrinho deixariam tudo oval ("toda redonda"); 12px = fiel ao print. */
    border-radius: min(var(--fkcart-border-radius, 12px), 12px);
    color: var(--fkcart-primary-text-color, #353030);
    font-size: 13px;
    line-height: 1.4;
}

.lunnatools-fkcb-progress__head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.lunnatools-fkcb-progress__head:last-child {
    margin-bottom: 0;
}

.lunnatools-fkcb-progress strong {
    font-weight: 700;
}

.lunnatools-fkcb-progress .woocommerce-Price-amount,
.lunnatools-fkcb-progress bdi {
    color: inherit !important;
}

.lunnatools-fkcb__icon {
    flex-shrink: 0;
    display: inline-flex;
    color: var(--fkcart-progressbar-active-color, var(--fkcart-accent-color, #0170b9));
}

.lunnatools-fkcb__icon svg {
    display: block;
}

/* [ANTES DOS TOTAIS] Card "Usar meu cashback" com toggle */
.lunnatools-fkuse {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 8px 16px 4px;
    padding: 12px 14px;
    background: var(--fkcart-panel-color, #f6f7fb);
    border: 1px solid var(--fkcart-border-color, #DEDFEA);
    /* Mesmo critério do card de progresso: raio da FunnelKit limitado a 12px. */
    border-radius: min(var(--fkcart-border-radius, 12px), 12px);
}

.lunnatools-fkuse__icon {
    flex-shrink: 0;
    display: inline-flex;
    color: var(--fkcart-success-color, #5BA238);
}

.lunnatools-fkuse__icon svg {
    display: block;
}

.lunnatools-fkuse__text {
    flex: 1;
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}

.lunnatools-fkuse__title {
    font-size: 14px;
    font-weight: 600;
    color: var(--fkcart-primary-text-color, #353030);
}

.lunnatools-fkuse__sub {
    font-size: 12px;
    color: var(--fkcart-secondary-text-color, #82838E);
}

.lunnatools-fkuse__sub .woocommerce-Price-amount,
.lunnatools-fkuse__sub bdi {
    color: inherit !important;
}

/* Toggle switch (construído com tokens da FunnelKit; verde quando ligado) */
.lunnatools-fkuse__switch {
    position: relative;
    flex-shrink: 0;
    width: 44px;
    height: 24px;
    cursor: pointer;
}

.lunnatools-fkuse__switch input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
}

.lunnatools-fkuse__slider {
    position: absolute;
    inset: 0;
    background: var(--fkcart-border-color, #cfd1dc);
    border-radius: 100px;
    transition: background .2s ease;
}

.lunnatools-fkuse__slider::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    transition: transform .2s ease;
}

.lunnatools-fkuse__switch input:checked + .lunnatools-fkuse__slider {
    background: var(--fkcart-progress-bar-active-color, var(--fkcart-success-color, #2DA815));
}

.lunnatools-fkuse__switch input:checked + .lunnatools-fkuse__slider::before {
    transform: translateX(20px);
}

.lunnatools-fkuse__switch input:focus-visible + .lunnatools-fkuse__slider {
    outline: 2px solid var(--fkcart-accent-color, #0170b9);
    outline-offset: 2px;
}

/* [RESUMO] Linhas "Cashback aplicado" + "Total a pagar" (classes nativas .fkcart-summary-*) */
.lunnatools-fksum__cashback {
    color: var(--fkcart-saving-text-price-color, var(--fkcart-success-color, #5BA238)) !important;
    white-space: nowrap;
}

.lunnatools-fksum__cashback .woocommerce-Price-amount,
.lunnatools-fksum__cashback bdi {
    color: inherit !important;
}

.lunnatools-fksum--total {
    margin-top: 6px;
    padding-top: 8px;
    border-top: 1px solid var(--fkcart-border-color, #DEDFEA);
}

.lunnatools-fksum--total .fkcart-summary-text strong,
.lunnatools-fksum--total .fkcart-summary-amount strong {
    color: var(--fkcart-primary-text-color, #353030);
    font-size: 15px;
}

.lunnatools-fksum--total .fkcart-summary-amount strong .woocommerce-Price-amount,
.lunnatools-fksum--total .fkcart-summary-amount strong bdi {
    color: inherit !important;
}
