/* Buttons */
.vc-button,
.wp-element-button,
button.vc-button,
input[type="submit"].vc-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 50px;
	padding: 13px 22px;
	border: 1px solid transparent;
	border-radius: var(--vc-radius-md);
	background: var(--vc-navy-900);
	color: var(--vc-surface);
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
	transition: transform var(--vc-transition), background var(--vc-transition), box-shadow var(--vc-transition);
}
.vc-button:hover,
.wp-element-button:hover {
	background: var(--vc-navy-800);
	color: var(--vc-surface);
	transform: translateY(-1px);
	box-shadow: var(--vc-shadow-sm);
}
.vc-button--accent { background: var(--vc-yellow-500); color: var(--vc-navy-950); }
.vc-button--accent:hover { background: var(--vc-yellow-400); color: var(--vc-navy-950); }
.vc-button--outline { background: transparent; color: var(--vc-navy-900); border-color: var(--vc-border-strong); }
.vc-button--outline:hover { background: var(--vc-surface-soft); color: var(--vc-navy-900); }
.vc-button--whatsapp { background: var(--vc-green-600); color: #fff; }
.vc-button--whatsapp:hover { background: #168632; color: #fff; }

/* Forms */
.vc-form-row,
form label { color: var(--vc-text-700); }
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="password"],
input[type="search"],
select,
textarea {
	width: 100%;
	min-height: 50px;
	padding: 12px 14px;
	border: 1px solid var(--vc-border-strong);
	border-radius: 10px;
	background: var(--vc-surface);
	color: var(--vc-text-900);
	font-size: 16px;
	line-height: 1.4;
	box-shadow: none;
	transition: border-color var(--vc-transition), box-shadow var(--vc-transition), background var(--vc-transition);
}
textarea { min-height: 128px; resize: vertical; }
input:focus,
select:focus,
textarea:focus {
	outline: none;
	border-color: var(--vc-blue-700);
	box-shadow: 0 0 0 4px rgba(11, 74, 139, .11);
}
input::placeholder,
textarea::placeholder { color: #98a2b3; }

/* Cards */
.vc-card {
	padding: clamp(20px, 3vw, 30px);
	border: 1px solid var(--vc-border);
	border-radius: var(--vc-radius-lg);
	background: var(--vc-surface);
	box-shadow: var(--vc-shadow-xs);
	transition: transform var(--vc-transition), box-shadow var(--vc-transition), border-color var(--vc-transition);
}
.vc-card:hover { transform: translateY(-3px); border-color: var(--vc-border-strong); box-shadow: var(--vc-shadow-md); }

/* Badges */
.vc-badge {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 5px 11px;
	border-radius: 999px;
	background: #eaf3ff;
	color: var(--vc-blue-700);
	font-size: 13px;
	font-weight: 800;
}

/* Notice */
.vc-notice {
	padding: 15px 17px;
	border: 1px solid var(--vc-border);
	border-left: 4px solid var(--vc-blue-700);
	border-radius: var(--vc-radius-md);
	background: var(--vc-surface-soft);
}
.vc-notice--success { border-left-color: var(--vc-success); background: #eefbf2; }
.vc-notice--error { border-left-color: var(--vc-danger); background: #fff2f3; }

/* Tables */
table { width: 100%; border-collapse: collapse; }
th, td { padding: 14px 16px; border-bottom: 1px solid var(--vc-border); text-align: left; }
th { color: var(--vc-navy-900); font-size: 14px; font-weight: 800; }

/* Pagination */
.nav-links, .woocommerce-pagination ul.page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 42px;
}
.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border: 1px solid var(--vc-border);
	border-radius: 9px;
	background: var(--vc-surface);
	color: var(--vc-navy-900);
	font-weight: 700;
	text-decoration: none;
}
.page-numbers.current, .page-numbers:hover { background: var(--vc-navy-900); border-color: var(--vc-navy-900); color: #fff; }
