/* InPoints — widgets públicos (shortcodes). Paleta verde. */
:root{
	--inp-green: #1E8A4C;
	--inp-green-dark: #12603A;
	--inp-green-light: #EAF7EE;
	--inp-text: #123524;
	--inp-muted: #6B7C74;
	--inp-border: #E3EFE7;
	--inp-danger: #C0392B;
}

.inpoints-widget{
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
	background:#fff; border:1px solid var(--inp-border); border-radius:12px;
	padding:18px 20px; margin:16px 0; color: var(--inp-text); box-sizing:border-box;
}
.inpoints-widget *{ box-sizing:border-box; }
.inpoints-widget.inpoints-guest{ background: var(--inp-green-light); color: var(--inp-green-dark); text-align:center; font-size:14px; }

/* ---------- Saldo ---------- */
.inpoints-saldo-widget{ display:flex; align-items:center; gap:16px; background: linear-gradient(135deg,#fff, var(--inp-green-light)); }
.inpoints-saldo-icon{ width:48px; height:48px; border-radius:12px; background: var(--inp-green); color:#fff; display:flex; align-items:center; justify-content:center; font-size:22px; flex-shrink:0; }
.inpoints-saldo-info{ display:flex; flex-direction:column; }
.inpoints-saldo-label{ font-size:12px; text-transform:uppercase; letter-spacing:.5px; color: var(--inp-muted); }
.inpoints-saldo-valor{ font-size:26px; font-weight:700; color: var(--inp-green-dark); line-height:1.3; }
.inpoints-saldo-valor small{ font-size:13px; font-weight:500; color: var(--inp-muted); }
.inpoints-saldo-equivalente{ font-size:12.5px; color: var(--inp-muted); }

/* ---------- Checkout ---------- */
.inpoints-checkout-header{ display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.inpoints-checkout-title{ font-weight:600; font-size:14.5px; }
.inpoints-checkout-balance{ font-size:12.5px; color: var(--inp-muted); background: var(--inp-green-light); padding:3px 10px; border-radius:20px; }
.inpoints-checkout-empty{ color: var(--inp-muted); font-size:13px; margin:0; }
.inpoints-checkout-slider-row{ display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.inpoints-points-range{ flex:1; accent-color: var(--inp-green); }
.inpoints-points-input{ width:80px; padding:6px 8px; border:1px solid var(--inp-border); border-radius:6px; }
.inpoints-checkout-preview{ font-size:13.5px; margin-bottom:12px; }
.inpoints-checkout-preview strong{ color: var(--inp-green-dark); }
.inpoints-checkout-actions{ display:flex; gap:10px; }
.inpoints-btn{ border:none; border-radius:8px; padding:9px 18px; font-size:13.5px; font-weight:600; cursor:pointer; transition:background .15s ease; }
.inpoints-btn-apply{ background: var(--inp-green); color:#fff; }
.inpoints-btn-apply:hover{ background: var(--inp-green-dark); }
.inpoints-btn-remove{ background:#F5F5F5; color: var(--inp-text); }
.inpoints-btn-remove:hover{ background:#E9E9E9; }
.inpoints-checkout-message{ margin:10px 0 0; font-size:12.5px; color: var(--inp-green-dark); min-height:14px; }
.inpoints-checkout-message.inpoints-message-error{ color: var(--inp-danger); }

/* ---------- Extrato ---------- */
.inpoints-extrato-header{ font-weight:600; font-size:14.5px; margin-bottom:12px; }
.inpoints-extrato-table{ width:100%; border-collapse:collapse; font-size:13px; }
.inpoints-extrato-table th{ text-align:left; padding:8px 6px; border-bottom:2px solid var(--inp-border); color: var(--inp-muted); font-weight:600; font-size:11.5px; text-transform:uppercase; letter-spacing:.4px; }
.inpoints-extrato-table td{ padding:10px 6px; border-bottom:1px solid var(--inp-border); vertical-align:top; }
.inpoints-extrato-table .inpoints-col-points{ text-align:right; font-weight:600; white-space:nowrap; }
.inpoints-positive{ color: var(--inp-green-dark); }
.inpoints-negative{ color: var(--inp-danger); }
.inpoints-extrato-desc{ font-size:11.5px; color: var(--inp-muted); margin-top:2px; }
.inpoints-extrato-pagination{ text-align:center; margin-top:14px; }
.inpoints-btn-load-more{ background: var(--inp-green-light); color: var(--inp-green-dark); }
.inpoints-btn-load-more:hover{ background:#DCF1E2; }

@media (max-width: 600px){
	.inpoints-extrato-table thead{ display:none; }
	.inpoints-extrato-table tr{ display:block; border-bottom:1px solid var(--inp-border); padding:8px 0; }
	.inpoints-extrato-table td{ display:flex; justify-content:space-between; border:none; padding:4px 6px; }
	.inpoints-extrato-table td::before{ content: attr(data-label); font-weight:600; color: var(--inp-muted); margin-right:10px; }
}

/* ---------- Botão Wallet ---------- */
.inpoints-wallet-widget{ text-align:center; }
.inpoints-wallet-btn{ min-width: 220px; }
.inpoints-wallet-message{ margin: 10px 0 0; font-size:12.5px; min-height:14px; }

/* ---------- Widget "Aplicar +" (Elementor) ---------- */
.inpoints-applyplus-widget{
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
	background:none; border:none; padding:0; margin:0; box-shadow:none;
}
.inpoints-applyplus-row{ display:flex; align-items:stretch; gap:10px; flex-wrap:wrap; width:100%; }
.inpoints-applyplus-input{
	flex:1 1 0% !important; min-width:0 !important; width:auto !important; height:44px; border:1px solid var(--inp-border,#E3EFE7); border-radius:8px;
	background:#fff; color:#1A1A1A; font-size:14px; text-align:center; padding:0 8px; box-sizing:border-box; -moz-appearance:textfield;
}
.inpoints-applyplus-input:disabled{ opacity:.5; }
.inpoints-applyplus-value{
	flex:1 1 0% !important; min-width:0 !important; width:auto !important; height:44px; display:flex; align-items:center; justify-content:center;
	border:1px solid var(--inp-border,#E3EFE7); border-radius:8px; background:#F5F5F5; box-sizing:border-box;
}
.inpoints-applyplus-value-text{ font-size:14px; color:#1A1A1A; white-space:nowrap; }
.inpoints-applyplus-button{
	flex:0 0 auto !important; width:110px; height:44px; border:none; border-radius:8px; background:#111111; color:#fff;
	font-size:12.5px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; cursor:pointer; box-sizing:border-box;
	display:flex; align-items:center; justify-content:center; line-height:1;
}
.inpoints-applyplus-button:hover{ background:#333333; }
.inpoints-applyplus-button:disabled{ opacity:.5; cursor:not-allowed; }
.inpoints-applyplus-message{ margin:8px 0 0; font-size:12px; color: var(--inp-green-dark,#1E7A3D); min-height:14px; }
.inpoints-applyplus-message.inpoints-message-error{ color:#C0392B; }
