/*
 * Responsive overrides.
 */

@media (min-width: 48rem) {
	:root {
		--font-size-h1: 3.45rem;
		--font-size-h2: 2.55rem;
		--font-size-h3: 1.55rem;
	}

	.site-header__inner {
		grid-template-columns: auto 1fr;
		gap: clamp(1rem, 2vw, 2rem);
	}

	.site-header__right {
		position: static;
		inset: auto;
		display: flex;
		flex-direction: row;
		width: auto;
		left: auto;
		right: auto;
		max-height: none;
		overflow: visible;
		padding: 0;
		background: transparent;
		border-top: 0;
		border-right: 0;
		border-bottom: 0;
		border-left: 0;
		border-radius: 0;
		align-items: center;
		justify-content: flex-end;
		gap: clamp(1rem, 2vw, 2rem);
		transform: none;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		box-shadow: none;
	}

	.menu-toggle {
		display: none;
	}

	.site-header__controls {
		display: none;
	}

	.menu--primary {
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: center;
	}

	.menu--primary a {
		white-space: nowrap;
	}

	.main-navigation {
		display: flex;
		flex: 1 1 auto;
		justify-content: center;
		min-width: 0;
	}

	.header-actions {
		flex: 0 0 auto;
		flex-wrap: nowrap;
		justify-content: flex-end;
		min-width: max-content;
	}

	.header-actions .btn {
		white-space: normal;
	}

	.btn--nav-login,
	.btn--nav-demo {
		min-width: 6.25rem;
		max-width: 8.4rem;
	}

	.language-switcher {
		display: block;
	}

	.language-switcher__menu {
		position: absolute;
		left: 0;
		right: auto;
		top: calc(100% + 0.75rem);
		display: block;
		width: auto;
		max-width: min(22rem, 80vw);
		min-width: 14rem;
		margin-top: 0;
		opacity: 0;
		visibility: hidden;
		transform: translateY(0.4rem);
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
	}

	.language-switcher.is-open .language-switcher__menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.site-header.site-header--compact .site-header__inner {
		grid-template-columns: auto auto;
		gap: 1rem;
	}

	.site-header.site-header--compact .site-header__right {
		position: absolute;
		inset: 100% 0 auto 0;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 1.25rem;
		max-height: calc(100vh - var(--header-offset));
		overflow-y: auto;
		padding: 1.25rem;
		background: var(--color-white);
		border-top: 1px solid rgba(166, 164, 164, 0.35);
		box-shadow: 0 14px 30px rgba(2, 34, 56, 0.14);
		color: var(--color-blue-dark);
		transform: translateY(-1rem);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: transform 0.28s ease, opacity 0.2s ease, visibility 0.2s ease;
	}

	.site-header.site-header--compact .site-header__right.is-open {
		transform: translateY(0);
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.site-header.site-header--compact .site-header__right .menu a,
	.site-header.site-header--compact .site-header__right .submenu-toggle,
	.site-header.site-header--compact .site-header__right .language-switcher__toggle,
	.site-header.site-header--compact .site-header__right .language-switcher__icon {
		color: var(--color-blue-dark);
	}

	.site-header.site-header--compact .site-header__right .menu a:hover,
	.site-header.site-header--compact .site-header__right .menu a:focus-visible,
	.site-header.site-header--compact .site-header__right .menu a:active,
	.site-header.site-header--compact .site-header__right .menu a[aria-current="page"],
	.site-header.site-header--compact .site-header__right .current-menu-item > a,
	.site-header.site-header--compact .site-header__right .current_page_item > a,
	.site-header.site-header--compact .site-header__right .current-menu-ancestor > a,
	.site-header.site-header--compact .site-header__right .current-menu-parent > a,
	.site-header.site-header--compact .site-header__right .current_page_ancestor > a,
	.site-header.site-header--compact .site-header__right .current_page_parent > a,
	.site-header.site-header--compact .site-header__right .submenu-toggle:hover,
	.site-header.site-header--compact .site-header__right .submenu-toggle:focus-visible,
	.site-header.site-header--compact .site-header__right .language-switcher__toggle:hover,
	.site-header.site-header--compact .site-header__right .language-switcher__toggle:focus-visible,
	.site-header.site-header--compact .site-header__right .language-switcher__toggle:hover .language-switcher__icon,
	.site-header.site-header--compact .site-header__right .language-switcher__toggle:focus-visible .language-switcher__icon {
		color: var(--color-blue-dark);
	}

	.site-header.site-header--compact .site-header__right .btn--nav-login {
		border-color: var(--color-blue-dark);
		color: var(--color-blue-dark);
	}

	.site-header.site-header--compact .site-header__right .btn--nav-login:hover,
	.site-header.site-header--compact .site-header__right .btn--nav-login:focus-visible {
		background: var(--color-blue-dark);
		border-color: var(--color-blue-dark);
		color: var(--color-white);
	}

	.site-header.site-header--compact .site-header__right .btn--nav-demo:hover,
	.site-header.site-header--compact .site-header__right .btn--nav-demo:focus-visible {
		background: transparent;
		border-color: var(--color-brand-red);
		color: var(--color-brand-red);
	}

	.site-header.site-header--nav-settling .site-header__right {
		transition: none;
	}

	.site-header.site-header--compact .menu-toggle {
		display: inline-flex;
	}

	.site-header.site-header--compact .site-header__controls {
		display: inline-flex;
	}

	.site-header.site-header--compact .main-navigation {
		display: block;
		width: 100%;
	}

	.site-header.site-header--compact .menu--primary {
		flex-direction: column;
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	.site-header.site-header--compact .menu--primary a {
		white-space: normal;
	}

	.site-header.site-header--compact .header-actions__buttons {
		display: flex;
		flex-direction: row;
		align-items: stretch;
		gap: 0.75rem;
		width: 100%;
	}

	.site-header.site-header--compact .header-actions__buttons .btn,
	.site-header.site-header--compact .header-actions__buttons .btn--nav-login,
	.site-header.site-header--compact .header-actions__buttons .btn--nav-demo {
		flex: 0 1 8.4rem;
		width: auto;
		min-width: 6.25rem;
		max-width: 8.4rem;
	}

	.site-header.site-header--compact .language-switcher {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}

	.site-header.site-header--compact .language-switcher__menu {
		position: static;
		display: none;
		width: min(18rem, calc(100vw - 2rem));
		max-width: calc(100vw - 2rem);
		min-width: 0;
		margin-top: 0.75rem;
		opacity: 1;
		visibility: visible;
		transform: none;
		transition: none;
	}

	.site-header.site-header--compact .language-switcher.is-open .language-switcher__menu {
		display: block;
	}

	.site-header.site-header--compact .site-header__controls .language-switcher__menu {
		position: absolute;
		right: 0;
		left: auto;
		top: calc(100% + 0.75rem);
		display: block;
		width: min(18rem, calc(100vw - 2rem));
		max-width: calc(100vw - 2rem);
		min-width: 14rem;
		margin-top: 0;
		opacity: 0;
		visibility: hidden;
		transform: translateY(0.4rem);
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
	}

	.site-header.site-header--compact .site-header__controls .language-switcher.is-open .language-switcher__menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.site-header.site-header--compact .menu--primary > .menu-item > .sub-menu {
		position: static;
		display: none;
		width: 100%;
		max-width: none;
		min-width: 0;
		margin: 0.35rem 0 0;
		padding: 0.35rem 0 0 1rem;
		background: transparent;
		border: 0;
		box-shadow: none;
		transform: none;
		transition: none;
	}

	.site-header.site-header--compact .site-header__right.is-open .menu--primary > .menu-item > .sub-menu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.site-header.site-header--compact .menu--primary > .menu-item > .sub-menu::before {
		content: none;
	}

	.site-header.site-header--compact .menu--primary > .menu-item.is-open > .sub-menu {
		display: flex;
	}

	.menu--primary > .menu-item > .sub-menu {
		position: absolute;
		top: calc(100% + 0.8rem);
		left: 0;
		min-width: 12.5rem;
		flex-basis: auto;
		width: max-content;
		max-width: min(18rem, 80vw);
		margin: 0;
		padding: 0.45rem;
		background: var(--color-white);
		border: 1px solid rgba(166, 164, 164, 0.35);
		border-radius: 0.45rem;
		box-shadow: 0 14px 30px rgba(2, 34, 56, 0.14);
		opacity: 0;
		visibility: hidden;
		transform: translateY(0.4rem);
		pointer-events: none;
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
		z-index: 60;
	}

	.menu--primary > .menu-item > .sub-menu::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 100%;
		height: 0.75rem;
	}

	.menu--primary > .menu-item.is-open > .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		pointer-events: auto;
	}

	.menu--primary > .menu-item > .sub-menu a {
		display: flex;
		width: 100%;
		padding: 0.42rem 0.65rem;
		white-space: normal;
		overflow-wrap: anywhere;
		line-height: 1.25;
	}

	.site-header:not(.site-header--compact) .menu--primary > .menu-item > .sub-menu a {
		display: inline-flex;
		width: fit-content;
		max-width: calc(100% - 1.3rem);
		margin-inline: 0.65rem;
		padding-inline: 0;
		color: var(--color-blue-dark);
	}

	.form-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.form-layout {
		grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr);
	}

	.card-grid {
		gap: 2.5rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media (min-width: 62rem) {
	.site-content--blog {
		grid-template-columns: minmax(0, 1fr) minmax(16rem, var(--sidebar-width));
	}
}

@media (min-width: 64rem) {
	:root {
		--font-size-h1: 4rem;
		--font-size-h2: 2.85rem;
		--font-size-h3: 1.65rem;
	}

	.card-grid {
		gap: 3.75rem;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.card-grid__item {
		min-height: 23.2rem;
	}

	.site-footer__inner {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0;
		padding-block: 1.875rem 0;
	}

	.footer-column {
		border-bottom: 0;
		min-height: 18.2rem;
	}

	.footer-column__toggle {
		pointer-events: none;
		justify-content: flex-start;
	}

	.footer-column__toggle svg {
		display: none;
	}

	.footer-column__content {
		display: block;
	}
}

@media (min-width: 72rem) {
	.site-footer__inner {
		transform: translateX(2.75rem);
	}
}

@media (max-width: 782px) {
	body.admin-bar .site-main {
		padding-top: 0;
	}

	body.admin-bar .site-header {
		top: 46px;
	}
}

/* Burger panel (compact desktop): submenus collapse by default; chevron toggles; language switcher pinned to top. */
.site-header.site-header--compact .submenu-toggle {
	align-self: center;
	width: 1.35rem;
	height: 1.35rem;
	min-height: 1.35rem;
	flex: 0 0 1.35rem;
	margin-left: 0.3rem;
}

.site-header.site-header--compact .header-actions {
	display: contents;
}

.site-header.site-header--compact .site-header__right .language-switcher {
	order: -1;
}

.site-header__right.is-open {
	--burger-menu-link-font-size: 0.94rem;
	--burger-menu-submenu-font-size: 0.9rem;
	--burger-menu-action-font-size: 0.82rem;
	--burger-menu-language-title-font-size: 0.84rem;
	--burger-menu-language-link-font-size: 0.9rem;
}

.site-header__right.is-open .menu a {
	font-size: var(--burger-menu-link-font-size);
}

.site-header__right.is-open .menu .sub-menu a {
	font-size: var(--burger-menu-submenu-font-size);
}

.site-header__right.is-open .header-actions .btn {
	font-size: var(--burger-menu-action-font-size);
}

.site-header__right.is-open .header-actions .btn--nav-demo {
	background: var(--color-brand-red);
	border-color: var(--color-brand-red);
	color: var(--color-white);
}

.site-header__right.is-open .header-actions .btn--nav-demo:hover,
.site-header__right.is-open .header-actions .btn--nav-demo:focus-visible {
	background: var(--color-white);
	border-color: var(--color-blue-dark);
	color: var(--color-blue-dark);
}

.site-header__right.is-open .language-switcher__title {
	font-size: var(--burger-menu-language-title-font-size);
}

.site-header__right.is-open .language-switcher__menu a {
	font-size: var(--burger-menu-language-link-font-size);
}

@media (max-width: 47.9375rem) {
	:root {
		--font-size-h1: 2.45rem;
		--font-size-h2: 1.9rem;
		--font-size-h3: 1.3rem;
	}

	/* Burger panel (mobile): submenus collapse by default; chevron toggles. */
	.submenu-toggle {
		align-self: center;
		width: 1.35rem;
		height: 1.35rem;
		min-height: 1.35rem;
		flex: 0 0 1.35rem;
		margin-left: 0.3rem;
	}

	.site-header__inner {
		min-height: 4.25rem;
	}

	.site-header__right {
		--burger-menu-link-font-size: 1.08rem;
		--burger-menu-submenu-font-size: 0.98rem;
		--burger-menu-action-font-size: 0.82rem;
		--burger-menu-language-title-font-size: 0.84rem;
		--burger-menu-language-link-font-size: 0.9rem;
		max-height: calc(100vh - 4.25rem);
		background: var(--color-white);
		border-top: 1px solid rgba(166, 164, 164, 0.35);
		box-shadow: 0 14px 30px rgba(2, 34, 56, 0.14);
		color: var(--color-blue-dark);
	}

	.menu a {
		font-size: 1.18rem;
	}

	.site-header__right .menu a,
	.site-header__right .submenu-toggle,
	.site-header__right .language-switcher__toggle,
	.site-header__right .language-switcher__icon {
		color: var(--color-blue-dark);
	}

	.site-header__right .menu a:hover,
	.site-header__right .menu a:focus-visible,
	.site-header__right .menu a:active,
	.site-header__right .menu a[aria-current="page"],
	.site-header__right .current-menu-item > a,
	.site-header__right .current_page_item > a,
	.site-header__right .current-menu-ancestor > a,
	.site-header__right .current-menu-parent > a,
	.site-header__right .current_page_ancestor > a,
	.site-header__right .current_page_parent > a,
	.site-header__right .submenu-toggle:hover,
	.site-header__right .submenu-toggle:focus-visible,
	.site-header__right .language-switcher__toggle:hover,
	.site-header__right .language-switcher__toggle:focus-visible,
	.site-header__right .language-switcher__toggle:hover .language-switcher__icon,
	.site-header__right .language-switcher__toggle:focus-visible .language-switcher__icon {
		color: var(--color-blue-dark);
	}

	.site-header__right .btn--nav-login {
		border-color: var(--color-blue-dark);
		color: var(--color-blue-dark);
	}

	.site-header__right .btn--nav-login:hover,
	.site-header__right .btn--nav-login:focus-visible {
		background: var(--color-blue-dark);
		border-color: var(--color-blue-dark);
		color: var(--color-white);
	}

	.site-header__right .btn--nav-demo:hover,
	.site-header__right .btn--nav-demo:focus-visible {
		background: transparent;
		border-color: var(--color-brand-red);
		color: var(--color-brand-red);
	}

	.header-actions {
		display: contents;
	}

	.site-header__right .language-switcher {
		order: -1;
		width: 100%;
	}

	.header-actions__buttons {
		display: flex;
		flex-direction: row;
		align-items: stretch;
		gap: 0.75rem;
		width: 100%;
	}

	.header-actions__buttons .btn,
	.header-actions__buttons .btn--nav-login,
	.header-actions__buttons .btn--nav-demo {
		flex: 0 1 8.4rem;
		width: auto;
		min-width: 6.25rem;
		max-width: 8.4rem;
	}

	.site-header__right .language-switcher__menu {
		width: 100%;
	}

	.page-banner {
		padding-block: 3.25rem;
	}

	.section {
		padding-block: 3.25rem;
	}

}
