/* =========================================================
   BUTTONS CSS
   assets/css/components/buttons.css
   ---------------------------------------------------------
   Global reusable button system.
   ========================================================= */

/* =========================================================
   BASE BUTTON
   ========================================================= */

.vb-btn,
.vb-btn:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;

	min-height: 46px;
	padding: 0 18px;

	background: var(--vb-surface);
	color: var(--vb-text);

	border: 1px solid var(--vb-border);
	border-radius: var(--vb-radius-md);

	font-size: var(--vb-text-sm);
	font-weight: var(--vb-weight-bold);
	line-height: 1;
	text-decoration: none !important;
	white-space: nowrap;

	cursor: pointer;

	transition:
		background var(--vb-transition),
		color var(--vb-transition),
		border-color var(--vb-transition),
		box-shadow var(--vb-transition),
		transform var(--vb-transition);
}

.vb-btn:hover,
.vb-btn:focus-visible {
	text-decoration: none !important;
	transform: translateY(-1px);
	color: inherit;
}

/* =========================================================
   PRIMARY
   ========================================================= */

.vb-btn-primary,
.vb-btn-primary:visited {
	background: var(--vb-action);
	color: var(--vb-action-text);

	border-color: var(--vb-action);

	box-shadow:
		0 10px 24px rgba(64, 148, 221, .18);
}

.vb-btn-primary:hover,
.vb-btn-primary:focus-visible {
	background: var(--vb-action-hover);
	color: var(--vb-action-text);

	border-color: var(--vb-action-hover);

	box-shadow:
		0 14px 30px rgba(64, 148, 221, .24);
}

.vb-btn-primary:hover,
.vb-btn-primary:focus-visible {
	color: #fff !important;
}

/* =========================================================
   SECONDARY
   ========================================================= */

.vb-btn-secondary,
.vb-btn-secondary:visited {
	background: var(--vb-surface);
	color: var(--vb-action-active);

	border-color: var(--vb-border);
}

.vb-btn-secondary:hover,
.vb-btn-secondary:focus-visible {
	background: var(--vb-action-soft);
	color: var(--vb-action-active);

	border-color: var(--vb-info-border);
}

/* =========================================================
   OUTLINE
   ========================================================= */

.vb-btn-outline,
.vb-btn-outline:visited {
	background: transparent;
	color: var(--vb-action-active);

	border-color: var(--vb-action-border);
}

.vb-btn-outline:hover,
.vb-btn-outline:focus-visible {
	background: var(--vb-action-soft);
	color: var(--vb-action-active);
}

/* =========================================================
   WHATSAPP
   ========================================================= */

.vb-btn-whatsapp,
.vb-btn-whatsapp:visited {
	background: var(--vb-whatsapp);
	color: #fff;

	border-color: var(--vb-whatsapp);

	box-shadow:
		0 10px 24px rgba(18, 140, 58, .18);
}

.vb-btn-whatsapp:hover,
.vb-btn-whatsapp:focus-visible {
	background: #0f7a31;
	color: #fff;

	border-color: #0f7a31;

	box-shadow:
		0 14px 30px rgba(18, 140, 58, .24);
}

.vb-btn-whatsapp:hover,
.vb-btn-whatsapp:focus-visible {
	color: #fff !important;
}

/* =========================================================
   ICONS
   ========================================================= */

.vb-btn-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 18px;
	height: 18px;

	flex: 0 0 auto;
}

.vb-btn-icon svg {
	width: 100%;
	height: 100%;

	fill: none;
	stroke: currentColor;
	stroke-width: 2;

	stroke-linecap: round;
	stroke-linejoin: round;
}

/* =========================================================
   FULL WIDTH
   ========================================================= */

.vb-btn-block {
	display: flex;
	width: 100%;
}

/* =========================================================
   SMALL
   ========================================================= */

.vb-btn-sm {
	min-height: 38px;
	padding: 0 14px;

	font-size: 13px;

	border-radius: var(--vb-radius-sm);
}

/* =========================================================
   LARGE
   ========================================================= */

.vb-btn-lg {
	min-height: 54px;
	padding: 0 24px;

	font-size: var(--vb-text-base);
}

/* =========================================================
   DISABLED
   ========================================================= */

.vb-btn[disabled],
.vb-btn.is-disabled {
	opacity: .55;
	cursor: not-allowed;
	pointer-events: none;
	transform: none !important;
}