.valabi-internal-link {
	--vil-primary: #28a35b;
	--vil-soft: #e4f6e7;
	--vil-surface: #f5fbf6;
	--vil-text: #1b291d;
	--vil-border: #cbe8d2;
	--vil-radius: 12px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px 12px;
	width: 100%;
	margin: 1.75em 0;
	padding: 15px 18px;
	border: 1px solid var(--vil-border);
	border-inline-start: 4px solid var(--vil-primary);
	border-radius: var(--vil-radius);
	background: linear-gradient(135deg, var(--vil-surface), var(--vil-soft));
	color: var(--vil-text);
	font: inherit;
	line-height: 1.8;
	box-shadow: 0 7px 22px color-mix(in srgb, var(--vil-primary) 8%, transparent);
}

.valabi-internal-link *,
.valabi-internal-link *::before,
.valabi-internal-link *::after {
	box-sizing: border-box;
}

.valabi-internal-link__label {
	color: color-mix(in srgb, var(--vil-text) 76%, transparent);
	font-size: .92em;
	font-weight: 500;
}

.valabi-internal-link__anchor {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
	color: var(--vil-primary) !important;
	font-size: .98em;
	font-weight: 750;
	line-height: 1.75;
	text-decoration: underline;
	text-decoration-color: color-mix(in srgb, var(--vil-primary) 34%, transparent);
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
	transition: color .16s ease, text-decoration-color .16s ease;
}

/* Theme content styles often use a more specific `.entry-content a` rule.
   Repeat the active palette colour at that exact specificity so the selected
   scheme always wins on published posts, including visited links. */
.entry-content a.valabi-internal-link__anchor,
.entry-content a.valabi-internal-link__anchor:visited {
	color: var(--vil-primary) !important;
}

.valabi-internal-link__anchor::after {
	content: "←";
	display: inline-block;
	font-family: Tahoma, Arial, sans-serif;
	font-size: 1.05em;
	font-weight: 700;
	line-height: 1;
	transition: transform .16s ease;
}

.valabi-internal-link__anchor:hover,
.valabi-internal-link__anchor:focus,
.entry-content a.valabi-internal-link__anchor:hover,
.entry-content a.valabi-internal-link__anchor:focus {
	color: color-mix(in srgb, var(--vil-primary) 82%, #000) !important;
	text-decoration-color: currentColor;
}

.valabi-internal-link__anchor:hover::after,
.valabi-internal-link__anchor:focus::after {
	transform: translateX(-3px);
}

.valabi-internal-link__anchor:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--vil-primary) 28%, transparent);
	outline-offset: 4px;
	border-radius: 4px;
}

.vil-block-editor-wrap .valabi-internal-link {
	margin-block: 0;
}

.valabi-whatsapp-cta {
	--vil-primary: #28a35b;
	--vil-soft: #e4f6e7;
	--vil-surface: #f5fbf6;
	--vil-text: #1b291d;
	--vil-border: #cbe8d2;
	--vil-radius: 12px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 1.75em 0;
	padding: 14px 16px;
	border: 1px solid var(--vil-border);
	border-radius: var(--vil-radius);
	background: linear-gradient(135deg, var(--vil-surface), var(--vil-soft));
	color: var(--vil-text);
	font: inherit;
	line-height: 1.75;
	box-shadow: 0 7px 22px color-mix(in srgb, var(--vil-primary) 8%, transparent);
}

.valabi-whatsapp-cta *,
.valabi-whatsapp-cta *::before,
.valabi-whatsapp-cta *::after {
	box-sizing: border-box;
}

.valabi-whatsapp-cta__icon {
	display: grid;
	place-items: center;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	border-radius: 11px;
	background: color-mix(in srgb, var(--vil-primary) 13%, transparent);
	color: var(--vil-primary);
}

.valabi-whatsapp-cta__icon::before {
	display: block;
	width: 24px;
	height: 24px;
	background: currentColor;
	content: "";
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16.04 3.2A12.62 12.62 0 0 0 5.11 22.15L3.2 28.8l6.82-1.79A12.65 12.65 0 1 0 16.04 3.2Zm0 22.84a10.2 10.2 0 0 1-5.2-1.43l-.37-.22-4.05 1.06 1.08-3.95-.24-.39a10.21 10.21 0 1 1 8.78 4.93Zm5.6-7.64c-.31-.15-1.81-.89-2.09-.99-.28-.1-.48-.15-.69.15-.2.31-.79.99-.97 1.19-.18.2-.36.23-.67.08-.31-.15-1.29-.48-2.46-1.52a9.2 9.2 0 0 1-1.7-2.12c-.18-.31-.02-.47.13-.62.14-.14.31-.36.46-.54.15-.18.2-.31.31-.51.1-.2.05-.38-.03-.54-.08-.15-.69-1.66-.94-2.27-.25-.6-.5-.52-.69-.53h-.59c-.2 0-.54.08-.82.38-.28.31-1.07 1.05-1.07 2.55s1.1 2.96 1.25 3.16c.15.2 2.16 3.3 5.24 4.63.73.32 1.3.51 1.75.65.74.23 1.41.2 1.94.12.59-.09 1.81-.74 2.07-1.45.25-.71.25-1.33.18-1.45-.08-.13-.28-.2-.59-.36Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16.04 3.2A12.62 12.62 0 0 0 5.11 22.15L3.2 28.8l6.82-1.79A12.65 12.65 0 1 0 16.04 3.2Zm0 22.84a10.2 10.2 0 0 1-5.2-1.43l-.37-.22-4.05 1.06 1.08-3.95-.24-.39a10.21 10.21 0 1 1 8.78 4.93Zm5.6-7.64c-.31-.15-1.81-.89-2.09-.99-.28-.1-.48-.15-.69.15-.2.31-.79.99-.97 1.19-.18.2-.36.23-.67.08-.31-.15-1.29-.48-2.46-1.52a9.2 9.2 0 0 1-1.7-2.12c-.18-.31-.02-.47.13-.62.14-.14.31-.36.46-.54.15-.18.2-.31.31-.51.1-.2.05-.38-.03-.54-.08-.15-.69-1.66-.94-2.27-.25-.6-.5-.52-.69-.53h-.59c-.2 0-.54.08-.82.38-.28.31-1.07 1.05-1.07 2.55s1.1 2.96 1.25 3.16c.15.2 2.16 3.3 5.24 4.63.73.32 1.3.51 1.75.65.74.23 1.41.2 1.94.12.59-.09 1.81-.74 2.07-1.45.25-.71.25-1.33.18-1.45-.08-.13-.28-.2-.59-.36Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.valabi-whatsapp-cta__text {
	min-width: 0;
	flex: 1 1 auto;
	color: var(--vil-text);
	font-weight: 600;
}

.valabi-whatsapp-cta__button,
.entry-content a.valabi-whatsapp-cta__button,
.entry-content a.valabi-whatsapp-cta__button:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 42px;
	padding: 9px 16px;
	border: 1px solid var(--vil-primary);
	border-radius: max(8px, calc(var(--vil-radius) - 2px));
	background: var(--vil-primary);
	color: #fff !important;
	font-size: .92em;
	font-weight: 700;
	line-height: 1.45;
	text-decoration: none !important;
	box-shadow: 0 7px 16px color-mix(in srgb, var(--vil-primary) 22%, transparent);
	transition: filter .16s ease, transform .16s ease, box-shadow .16s ease;
}

.valabi-whatsapp-cta__button::after {
	content: "←";
	font-family: Tahoma, Arial, sans-serif;
	font-weight: 700;
}

.valabi-whatsapp-cta__button:hover,
.valabi-whatsapp-cta__button:focus,
.entry-content a.valabi-whatsapp-cta__button:hover,
.entry-content a.valabi-whatsapp-cta__button:focus {
	color: #fff !important;
	filter: brightness(.94);
	transform: translateY(-1px);
	box-shadow: 0 9px 20px color-mix(in srgb, var(--vil-primary) 28%, transparent);
}

.valabi-whatsapp-cta__button:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--vil-primary) 28%, transparent);
	outline-offset: 3px;
}

.valabi-whatsapp-cta--layout-2 {
	position: relative;
	display: grid;
	grid-template-columns: 50px minmax(0, 1fr) auto;
	gap: 14px;
	overflow: hidden;
	padding: 17px 18px;
	border-inline-start: 5px solid var(--vil-primary);
	background: var(--vil-surface);
}

.valabi-whatsapp-cta--layout-2 .valabi-whatsapp-cta__icon {
	width: 50px;
	height: 50px;
	border-radius: max(10px, var(--vil-radius));
	background: var(--vil-primary);
	color: #fff;
}

.valabi-whatsapp-cta--layout-2 .valabi-whatsapp-cta__text {
	font-size: 1em;
	font-weight: 750;
}

.vil-whatsapp-block-editor-wrap .valabi-whatsapp-cta {
	margin-block: 0;
}

.vil-block-empty {
	padding: 24px;
	border: 1px dashed #c8c8c8;
	border-radius: 10px;
	background: #fafafa;
	color: #666;
	text-align: center;
}

@media (max-width: 600px) {
	.valabi-internal-link {
		display: block;
		margin: 1.45em 0;
		padding: 14px 15px;
	}

	.valabi-internal-link__label,
	.valabi-internal-link__anchor {
		display: flex;
	}

	.valabi-internal-link__label {
		margin-bottom: 5px;
	}

	.valabi-whatsapp-cta,
	.valabi-whatsapp-cta--layout-2 {
		display: grid;
		grid-template-columns: 42px minmax(0, 1fr);
		gap: 11px;
		margin: 1.45em 0;
		padding: 14px;
	}

	.valabi-whatsapp-cta--layout-2 {
		grid-template-columns: 48px minmax(0, 1fr);
	}

	.valabi-whatsapp-cta--layout-2 .valabi-whatsapp-cta__icon {
		width: 48px;
		height: 48px;
	}

	.valabi-whatsapp-cta__button,
	.entry-content a.valabi-whatsapp-cta__button {
		grid-column: 1 / -1;
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.valabi-internal-link__anchor,
	.valabi-internal-link__anchor::after,
	.valabi-whatsapp-cta__button {
		transition: none;
	}
}
