/* Netcred Pagamentos v1.3.0 */
@import url('https://fonts.googleapis.com/css2?family=Albert+Sans:wght@300;400;500;600;700;800&display=swap');

/* ── Albert Sans global ── */
.netcred-thankyou,
.netcred-form,
.netcred-card-summary,
#wc-netcred-payment-form {
    font-family: 'Albert Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* ================================================================
   FORMULÁRIO DE PAGAMENTO
   ================================================================ */
.netcred-form { border: none; padding: 0; margin: 0; }

.netcred-methods {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 16px;
}

.netcred-method-option { cursor: pointer; display: block; }
.netcred-method-option input[type="radio"] { display: none; }

.netcred-method-card {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    transition: all .15s;
    background: #fff;
    font-family: 'Albert Sans', sans-serif;
}
.netcred-method-card:hover  { border-color: #111; }
.netcred-method-card.active { border-color: #111; background: #f5f5f5; }

.netcred-method-icon  { font-size: 22px; flex-shrink: 0; }
.netcred-method-title { font-size: 13px; font-weight: 700; color: #1d1d1d; font-family: 'Albert Sans', sans-serif; }
.netcred-method-sub   { font-size: 11px; color: #888; margin-top: 2px; font-family: 'Albert Sans', sans-serif; }

.netcred-field { margin-bottom: 12px; }
.netcred-field label {
    display: block; font-size: 11px; font-weight: 700; color: #555;
    text-transform: uppercase; letter-spacing: .4px; margin-bottom: 5px;
    font-family: 'Albert Sans', sans-serif;
}
.netcred-field label span { color: #C0392B; }

.netcred-field input,
.netcred-field select {
    width: 100%; height: 40px; border: 1.5px solid #ddd; border-radius: 7px;
    font-size: 13px; padding: 0 10px; background: #fff; color: #1d1d1d;
    outline: none; transition: border-color .15s; box-sizing: border-box;
    font-family: 'Albert Sans', sans-serif;
}
.netcred-field input:focus,
.netcred-field select:focus { border-color: #111; box-shadow: 0 0 0 3px rgba(0,0,0,.08); }

.netcred-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

#netcred-card-fields {
    background: #fafafa; border: 1.5px solid #f0f0f0;
    border-radius: 8px; padding: 16px; margin-top: 4px;
}

/* ================================================================
   PÁGINA DE OBRIGADO
   ================================================================ */
.netcred-thankyou {
    font-family: 'Albert Sans', sans-serif !important;
    margin: 30px 0;
    border-radius: 12px;
    overflow: hidden;
    border: 1.5px solid #e5e5e5;
    background: #fff;
}

/* Header — preto */
.netcred-ty-header {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 24px;
    background: #111;
    color: #fff;
}

.netcred-ty-icon {
    width: 48px; height: 48px;
    background: rgba(255,255,255,.15);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 22px; font-weight: 700; flex-shrink: 0;
    color: #fff;
}

.netcred-ty-title { font-size: 22px; font-weight: 700; margin: 0 0 4px; font-family: 'Albert Sans', sans-serif; color: #fff; text-transform: uppercase; letter-spacing: .5px; }
.netcred-ty-sub   { font-size: 13px; color: rgba(255,255,255,.85); margin: 0; font-family: 'Albert Sans', sans-serif; }

/* Body — duas colunas */
.netcred-ty-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}

@media (max-width: 640px) {
    .netcred-ty-body { grid-template-columns: 1fr; }
    .netcred-methods { grid-template-columns: 1fr; }
}

/* ── PIX column ── */
.netcred-ty-pix {
    padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    border-right: 1px solid #f0f0f0;
}

.netcred-ty-section-title {
    font-size: 15px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .6px; color: #111; margin-bottom: 12px;
    align-self: flex-start; font-family: 'Albert Sans', sans-serif;
}

.netcred-ty-amount {
    font-size: 32px; font-weight: 800; color: #111;
    margin-bottom: 16px; display: flex; align-items: center; gap: 8px;
    font-family: 'Albert Sans', sans-serif;
}

/* Badge 20% OFF — preto */
.netcred-ty-discount {
    font-size: 12px; font-weight: 700;
    background: #111; color: #fff;
    padding: 3px 8px; border-radius: 20px;
    font-family: 'Albert Sans', sans-serif;
}

/* ── CONTADOR — único elemento em rosa ── */
.netcred-ty-timer-wrap {
    width: 100%;
    text-align: center;
    margin-bottom: 16px;
}

.netcred-ty-timer-label {
    font-size: 12px; color: #555; margin-bottom: 8px;
    font-family: 'Albert Sans', sans-serif;
}

.netcred-ty-timer {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1.5px solid rgb(250,129,176);
    border-radius: 24px;
    padding: 7px 18px;
    font-size: 15px; font-weight: 700;
    color: rgb(200,60,120);
    background: #fff0f6;
    font-family: 'Albert Sans', sans-serif;
    transition: all .3s;
}

.netcred-ty-timer.expired { border-color: #ccc; color: #aaa; background: #f5f5f5; }
.netcred-timer-icon { font-size: 15px; }

.netcred-ty-timer-sub {
    font-size: 11px; color: #aaa; margin-top: 8px;
    font-family: 'Albert Sans', sans-serif;
}

/* QR Code */
#netcred-qrcode {
    display: flex; justify-content: center;
    margin-bottom: 16px; padding: 12px;
    background: #fff; border: 1.5px solid #e5e5e5;
    border-radius: 10px;
}
#netcred-qrcode img,
#netcred-qrcode canvas { border-radius: 4px; }

.netcred-ty-hint { font-size: 12px; color: #888; margin-bottom: 8px; font-family: 'Albert Sans', sans-serif; }

.netcred-ty-copy-wrap {
    display: flex; gap: 6px; width: 100%; margin-bottom: 20px;
}

.netcred-ty-copy-wrap input {
    flex: 1; height: 38px;
    border: 1.5px solid #e5e5e5; border-radius: 7px;
    font-size: 11px; font-family: monospace;
    padding: 0 10px; background: #fafafa; color: #555;
    outline: none; min-width: 0;
}

/* Botão copiar — preto */
.netcred-ty-copy-wrap button {
    height: 38px; padding: 0 16px;
    background: #111; color: #fff;
    border: none; border-radius: 7px;
    font-size: 13px; font-weight: 700; cursor: pointer;
    white-space: nowrap; transition: background .15s; flex-shrink: 0;
    font-family: 'Albert Sans', sans-serif;
}
.netcred-ty-copy-wrap button:hover { background: #333; }

/* Steps */
.netcred-ty-steps { display: flex; flex-direction: column; gap: 8px; width: 100%; text-align: left; }

.netcred-ty-step {
    display: flex; align-items: center; gap: 10px;
    font-size: 12px; color: #555; font-family: 'Albert Sans', sans-serif;
}

/* Números dos steps — preto */
.netcred-ty-step span {
    width: 22px; height: 22px;
    background: #111; color: #fff;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 11px; font-weight: 700; flex-shrink: 0;
}

/* ── Summary column ── */
.netcred-ty-summary { padding: 24px; background: #fafafa; }

.netcred-ty-items {
    display: flex; flex-direction: column; gap: 0;
    margin-bottom: 16px;
    border: 1px solid #e5e5e5; border-radius: 8px; overflow: hidden;
}

.netcred-ty-item {
    display: flex; align-items: center; gap: 12px;
    padding: 10px 12px; border-bottom: 1px solid #f0f0f0; background: #fff;
}
.netcred-ty-item:last-child { border-bottom: none; }

.netcred-ty-item-img-wrap { position: relative; flex-shrink: 0; }

.netcred-ty-item-img-wrap img {
    width: 52px; height: 68px; object-fit: cover;
    border-radius: 6px; border: 1px solid #e5e5e5;
}

/* Badge quantidade — preto */
.netcred-ty-item-qty {
    position: absolute; top: -6px; right: -6px;
    width: 18px; height: 18px;
    background: #111; color: #fff;
    font-size: 9px; font-weight: 700; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
}

.netcred-ty-item-info { flex: 1; min-width: 0; }
.netcred-ty-item-name  { font-size: 12px; font-weight: 600; color: #1d1d1d; line-height: 1.3; font-family: 'Albert Sans', sans-serif; }
.netcred-ty-item-attrs { font-size: 10px; color: #aaa; margin-top: 3px; font-family: 'Albert Sans', sans-serif; }
.netcred-ty-item-price { font-size: 13px; font-weight: 700; color: #1d1d1d; white-space: nowrap; font-family: 'Albert Sans', sans-serif; }

/* Totals */
.netcred-ty-totals {
    border: 1px solid #e5e5e5; border-radius: 8px;
    overflow: hidden; margin-bottom: 14px; background: #fff;
}

.netcred-ty-total-row {
    display: flex; justify-content: space-between; align-items: center;
    padding: 8px 12px; font-size: 13px; color: #555;
    border-bottom: 1px solid #f5f5f5; font-family: 'Albert Sans', sans-serif;
}
.netcred-ty-total-row:last-child { border-bottom: none; }

.netcred-ty-total-final {
    font-weight: 700; color: #1d1d1d; background: #f5f5f5; padding: 12px;
}
.netcred-ty-total-final small { font-size: 10px; font-weight: 400; color: #aaa; margin-left: 4px; }

.netcred-ty-total-value { color: #111; font-size: 16px; font-weight: 800; font-family: 'Albert Sans', sans-serif; }

/* Order info */
.netcred-ty-info { border: 1px solid #e5e5e5; border-radius: 8px; overflow: hidden; background: #fff; }

.netcred-ty-info-row {
    display: flex; justify-content: space-between;
    padding: 8px 12px; font-size: 12px; color: #555;
    border-bottom: 1px solid #f5f5f5; font-family: 'Albert Sans', sans-serif;
}
.netcred-ty-info-row:last-child { border-bottom: none; }
.netcred-ty-info-row strong { color: #1d1d1d; }

/* ================================================================
   RESUMO CARTÃO
   ================================================================ */
.netcred-card-summary {
    margin: 20px 0; border: 1.5px solid #e5e5e5;
    border-radius: 10px; overflow: hidden;
    font-family: 'Albert Sans', sans-serif;
}

.netcred-card-summary-header {
    background: #111; color: #fff;
    font-size: 15px; font-weight: 700;
    padding: 14px 20px; font-family: 'Albert Sans', sans-serif;
}

.netcred-card-summary-body { padding: 16px 20px; background: #fff; }

.netcred-card-summary-row {
    display: flex; justify-content: space-between;
    font-size: 13px; color: #555; padding: 6px 0;
    border-bottom: 1px solid #f5f5f5; font-family: 'Albert Sans', sans-serif;
}
.netcred-card-summary-row:last-child { border-bottom: none; }
.netcred-card-summary-total { font-size: 15px; font-weight: 700; color: #111; padding-top: 10px; }

.netcred-ty-info-address { align-items: flex-start; }
.netcred-ty-address {
    font-size: 12px;
    color: #333;
    line-height: 1.7;
    text-align: right;
    font-family: 'Albert Sans', sans-serif;
}

/* ── Ocultar elementos padrão do WooCommerce na página de obrigado ── */
.woocommerce-order-received .woocommerce-thankyou-order-received,
.woocommerce-order-received .woocommerce-order-overview,
.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details {
    display: none !important;
}

/* ── Card payment details (left column) ── */
.netcred-ty-card-info {
    width: 100%;
    border: 1.5px solid #e5e5e5;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    margin-bottom: 16px;
}

.netcred-ty-card-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    font-size: 13px;
    color: #555;
    border-bottom: 1px solid #f0f0f0;
    font-family: 'Albert Sans', sans-serif;
}
.netcred-ty-card-row:last-child { border-bottom: none; }
.netcred-ty-card-row strong { color: #111; font-weight: 700; }

.netcred-ty-card-total {
    background: #f5f5f5;
    font-weight: 700;
    color: #111;
    font-size: 15px;
}
.netcred-ty-card-total strong { font-size: 16px; }
