/* bearvpn theme override for vinipux plugins */

/* ─── Gradient variable ─────────────────────────────────── */
:root {
	--bearvpn-gradient: linear-gradient(135deg, var(--color-accent-purple, #6C5CE7), var(--color-accent-cyan, #00B4D8));
	--bearvpn-gradient-hover: linear-gradient(135deg, #5B4BD6, #009FC5);
}

/* ─── Login modal (all pages) ────────────────────────────── */
.vc-modal-icon {
	background: var(--bearvpn-gradient) !important;
}

.vc-modal-submit {
	background: var(--bearvpn-gradient) !important;
	box-shadow: 0 4px 14px rgba(108, 92, 231, 0.3) !important;
}

.vc-modal-submit:hover {
	box-shadow: 0 6px 20px rgba(108, 92, 231, 0.4) !important;
}

.vc-modal-field input:focus {
	border-color: var(--color-accent-purple, #6C5CE7) !important;
	box-shadow: 0 0 0 3px rgba(108, 92, 231, 0.15) !important;
}

/* ─── Payment modal (vinipux-forms) ──────────────────────── */
.vinipux-modal-header .vinipux-price {
	color: var(--color-accent-purple, #6C5CE7) !important;
}

.vinipux-field input:focus {
	border-color: var(--color-accent-purple, #6C5CE7) !important;
	box-shadow: 0 0 0 3px rgba(108, 92, 231, 0.15) !important;
}

.vinipux-agreement a:hover {
	color: var(--color-accent-purple, #6C5CE7) !important;
}

.vinipux-submit {
	background: var(--bearvpn-gradient) !important;
	box-shadow: 0 4px 14px rgba(108, 92, 231, 0.3) !important;
}

.vinipux-submit:hover {
	box-shadow: 0 6px 20px rgba(108, 92, 231, 0.4) !important;
}

/* Category badge */
.vinipux-modal-category {
	background: rgba(108, 92, 231, 0.1);
	color: var(--color-accent-purple, #6C5CE7);
	border: 1px solid rgba(108, 92, 231, 0.2);
}

.vinipux-modal-category--whitelist {
	background: rgba(0, 180, 216, 0.1);
	color: var(--color-accent-cyan, #00B4D8);
	border-color: rgba(0, 180, 216, 0.2);
}

/* Features grid */
.vinipux-modal-features {
	background: var(--color-surface-alt, #f5f5f7);
	border-radius: 0.75rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
}

.vinipux-modal-features .vinipux-feat {
	color: var(--color-txt, #1d1d1f);
}

.vinipux-modal-features .vinipux-feat-icon {
	color: var(--color-accent-purple, #6C5CE7);
}

/* ─── Cabinet page — light theme ─────────────────────────── */
.vc-page {
	--vc-bg:            var(--color-surface, #ffffff);
	--vc-bg-secondary:  var(--color-surface-alt, #f5f5f7);
	--vc-text:          var(--color-txt, #1d1d1f);
	--vc-text-hint:     var(--color-txt-light, #86868b);
	--vc-text-link:     var(--color-accent-purple, #6C5CE7);
	--vc-border:        rgba(0, 0, 0, 0.08);
	--vc-card-bg:       var(--color-surface-alt, #f5f5f7);
	--vc-input-bg:      var(--color-surface, #ffffff);
	--vc-input-border:  rgba(0, 0, 0, 0.12);
	--vc-accent:        var(--color-accent-purple, #6C5CE7);
	--vc-accent-end:    var(--color-accent-cyan, #00B4D8);
	--vc-btn-text:      #ffffff;
	--vc-accent-muted:  rgba(108, 92, 231, 0.1);
	--vc-accent-border: rgba(108, 92, 231, 0.2);
}

/* Cabinet header */
.vc-page .vc-page-header {
	background: rgba(255, 255, 255, 0.85);
}

.vc-page .vc-page-header__logo i,
.vc-page .vc-page-header__logo svg {
	color: var(--color-accent-purple, #6C5CE7);
}

/* Cabinet gradient buttons & icons */
.vc-page .vc-login-icon,
.vc-page .vc-btn-primary {
	background: var(--bearvpn-gradient);
}

.vc-page .vc-btn-primary:hover {
	background: var(--bearvpn-gradient-hover);
	box-shadow: 0 4px 16px rgba(108, 92, 231, 0.3);
}

.vc-page .vc-progress-bar {
	background: var(--bearvpn-gradient);
}

/* Badges — dark-on-light */
.vc-page .vc-badge-success {
	background: rgba(34, 197, 94, 0.1);
	color: #16a34a;
}

.vc-page .vc-badge-warning {
	background: rgba(234, 179, 8, 0.1);
	color: #a16207;
}

.vc-page .vc-badge-error {
	background: rgba(239, 68, 68, 0.1);
	color: #dc2626;
}

.vc-page .vc-badge-info {
	background: rgba(41, 128, 185, 0.1);
	color: #1d6fa5;
}

.vc-page .vc-badge-refund {
	background: rgba(139, 92, 246, 0.1);
	color: #7c3aed;
}

/* Alerts */
.vc-page .vc-alert-error {
	background: rgba(239, 68, 68, 0.06);
	border: 1px solid rgba(239, 68, 68, 0.2);
	color: #dc2626;
}

.vc-page .vc-alert-success {
	background: rgba(34, 197, 94, 0.06);
	border: 1px solid rgba(34, 197, 94, 0.2);
	color: #16a34a;
}

.vc-page .vc-alert-warning {
	background: rgba(234, 179, 8, 0.06);
	border: 1px solid rgba(234, 179, 8, 0.2);
	color: #a16207;
}

/* Toast */
.vc-page .vc-toast {
	background: var(--vc-text);
	color: var(--vc-bg);
	border-radius: 12px;
	box-shadow: var(--shadow-card-hover, 0 8px 32px rgba(0,0,0,0.1));
}

/* Danger button */
.vc-page .vc-btn-danger {
	background: rgba(239, 68, 68, 0.08);
	color: #dc2626;
	border: 1px solid rgba(239, 68, 68, 0.2);
}

.vc-page .vc-btn-danger:hover {
	background: rgba(239, 68, 68, 0.15);
}

/* Copy states */
.vc-page .vc-copy-btn.vc-copied {
	color: #16a34a;
	border-color: rgba(34, 197, 94, 0.3);
}

.vc-page .vc-btn-copy-link.vc-copied {
	background: rgba(34, 197, 94, 0.08);
	border-color: rgba(34, 197, 94, 0.2);
	color: #16a34a;
}

/* Table borders */
.vc-page .vc-vpn-row + .vc-vpn-row,
.vc-page .vc-sub-footer,
.vc-page .vc-sub-link,
.vc-page .vc-connect,
.vc-page .vc-manual-steps,
.vc-page .vc-device-count {
	border-color: rgba(0, 0, 0, 0.06);
}

.vc-page .vc-history-table td {
	border-bottom-color: rgba(0, 0, 0, 0.04);
}

/* Confirm sheet */
.vc-page .vc-confirm-sheet {
	background: var(--vc-bg);
	border-top-color: var(--vc-border);
}

.vc-page .vc-confirm-text {
	color: var(--vc-text);
}

.vc-page .vc-btn-secondary {
	background: rgba(0, 0, 0, 0.05);
	color: var(--vc-text-hint);
	border: 1px solid rgba(0, 0, 0, 0.1);
}

.vc-page .vc-btn-secondary:hover {
	background: rgba(0, 0, 0, 0.08);
}

.vc-page .vc-confirm-actions .vc-btn-danger {
	background: #dc2626;
	color: #fff;
}

.vc-page .vc-confirm-actions .vc-btn-danger:hover {
	background: #b91c1c;
}

/* Cabinet form (login page) */
.vc-page .vc-form-group input:focus {
	border-color: var(--color-accent-purple, #6C5CE7);
}
