/* =============================================================
   PORTAL BUTTON IN THE PUBLIC SITE'S HEADER

   Lives in its own file, not inline, because the site's optimizer
   reorders and defers loose <style> tags in the body.
   Outlined on purpose: the solid green button right next to it is
   Cerbo's, and the two shouldn't compete.
   ============================================================= */

.hv-portal-btn {
	display: inline-flex !important;
	align-items: center;
	gap: .5em;
	padding: .7em 1.35em;
	border-radius: 999px;
	font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
	font-size: .82rem;
	font-weight: 600;
	letter-spacing: .02em;
	line-height: 1;
	white-space: nowrap;
	color: #4a6b58 !important;
	background: #fff;
	border: 1.5px solid #4a6b58;
	text-decoration: none !important;
	box-shadow: 0 1px 2px rgba(26,26,26,.05);
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.hv-portal-btn:hover,
.hv-portal-btn:focus-visible {
	background: #4a6b58;
	border-color: #4a6b58;
	color: #fff !important;
	transform: translateY(-1px);
}
.hv-portal-btn:focus-visible { outline: 2px solid #b8924a; outline-offset: 2px; }
.hv-portal-btn svg { width: 1.15em; height: 1.15em; flex: 0 0 auto; }

@media (max-width: 1010px) {
	.hv-portal-btn { padding: .6em 1.05em; font-size: .76rem; }
}
@media (max-width: 600px) {
	.hv-portal-btn { padding: .6em; gap: 0; }
	.hv-portal-btn span {
		position: absolute; width: 1px; height: 1px;
		overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
	}
}
