/**
 * RadoshSoft global site shell.
 */

.radoshsoft-site-header {
	position: relative;
	z-index: 30;
}

.radoshsoft-header__inner {
	align-items: center;
	display: flex;
	gap: var(--rs-space-5);
	justify-content: space-between;
	min-height: 5rem;
}

.radoshsoft-header__brand,
.radoshsoft-footer__name {
	color: var(--rs-color-dark);
	font-family: var(--rs-font-heading);
	font-size: 1.25rem;
	font-weight: var(--rs-weight-bold);
	letter-spacing: -0.025em;
	text-decoration: none;
}

.radoshsoft-header__brand:hover,
.radoshsoft-footer__name:hover {
	color: var(--rs-color-primary);
}

.radoshsoft-nav--desktop {
	margin-left: auto;
}

.radoshsoft-nav__list,
.radoshsoft-nav__submenu,
.radoshsoft-footer__group ul,
.radoshsoft-footer__bottom ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.radoshsoft-nav--desktop > .radoshsoft-nav__list {
	align-items: center;
	display: flex;
	gap: var(--rs-space-5);
}

.radoshsoft-nav a {
	color: var(--rs-color-dark);
	display: inline-block;
	font-size: var(--rs-font-size-sm);
	font-weight: var(--rs-weight-semibold);
	padding-block: var(--rs-space-2);
	text-decoration: none;
}

.radoshsoft-nav a:hover {
	color: var(--rs-color-primary);
}

.radoshsoft-nav__item--has-children {
	position: relative;
}

.radoshsoft-nav--desktop .radoshsoft-nav__item--has-children > a::after {
	border-bottom: 1px solid currentcolor;
	border-right: 1px solid currentcolor;
	content: "";
	display: inline-block;
	height: 0.35rem;
	margin: 0 0 0.2rem 0.45rem;
	transform: rotate(45deg);
	width: 0.35rem;
}

.radoshsoft-nav--desktop .radoshsoft-nav__submenu {
	background: var(--rs-color-surface);
	border: 1px solid var(--rs-color-border);
	border-radius: var(--rs-radius-md);
	box-shadow: var(--rs-shadow-card);
	display: none;
	left: calc(var(--rs-space-2) * -1);
	min-width: 15rem;
	padding: var(--rs-space-2);
	position: absolute;
	top: 100%;
}

.radoshsoft-nav--desktop .radoshsoft-nav__item--has-children:is(:hover, :focus-within) > .radoshsoft-nav__submenu {
	display: block;
}

.radoshsoft-nav--desktop .radoshsoft-nav__submenu a {
	border-radius: var(--rs-radius-sm);
	padding: var(--rs-space-2) var(--rs-space-3);
	width: 100%;
}

.radoshsoft-nav--desktop .radoshsoft-nav__submenu a:hover {
	background: var(--rs-color-surface-muted);
}

.radoshsoft-header__cta {
	flex: 0 0 auto;
	min-height: 2.5rem;
	padding: 0.625rem 0.875rem;
	white-space: nowrap;
}

.radoshsoft-menu-toggle,
.radoshsoft-menu-close {
	align-items: center;
	background: transparent;
	border: 1px solid var(--rs-color-border);
	border-radius: var(--rs-radius-md);
	color: var(--rs-color-dark);
	display: none;
	font: inherit;
	font-weight: var(--rs-weight-semibold);
	gap: var(--rs-space-2);
	justify-content: center;
	min-height: 2.75rem;
	padding: var(--rs-space-2) var(--rs-space-3);
}

.radoshsoft-menu-toggle__icon,
.radoshsoft-menu-toggle__icon::before,
.radoshsoft-menu-toggle__icon::after {
	background: currentcolor;
	display: block;
	height: 2px;
	position: relative;
	width: 1.125rem;
}

.radoshsoft-menu-toggle__icon::before,
.radoshsoft-menu-toggle__icon::after {
	content: "";
	left: 0;
	position: absolute;
}

.radoshsoft-menu-toggle__icon::before {
	top: -0.35rem;
}

.radoshsoft-menu-toggle__icon::after {
	top: 0.35rem;
}

.radoshsoft-mobile-menu {
	background: rgb(11 31 51 / 48%);
	inset: 0;
	position: fixed;
	z-index: 40;
}

.radoshsoft-mobile-menu__panel {
	background: var(--rs-color-surface);
	box-shadow: -12px 0 32px rgb(11 31 51 / 16%);
	height: 100%;
	margin-left: auto;
	overflow-y: auto;
	padding: var(--rs-space-5);
	width: min(100%, 25rem);
}

.radoshsoft-mobile-menu__top {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: var(--rs-space-6);
}

.radoshsoft-menu-close {
	display: inline-flex;
	font-size: 1.5rem;
	line-height: 1;
	padding-inline: 0.75rem;
}

.radoshsoft-nav--mobile .radoshsoft-nav__list > li {
	border-top: 1px solid var(--rs-color-border);
	padding-block: var(--rs-space-2);
}

.radoshsoft-nav--mobile .radoshsoft-nav__list > li:last-child {
	border-bottom: 1px solid var(--rs-color-border);
}

.radoshsoft-nav--mobile .radoshsoft-nav__list > li > a {
	font-size: var(--rs-font-size-md);
	padding-block: var(--rs-space-3);
}

.radoshsoft-nav--mobile .radoshsoft-nav__submenu {
	padding: 0 var(--rs-space-3) var(--rs-space-2);
}

.radoshsoft-nav--mobile .radoshsoft-nav__submenu a {
	color: var(--rs-color-text-muted);
	font-weight: var(--rs-weight-medium);
	padding-block: var(--rs-space-2);
}

.radoshsoft-nav--mobile + .radoshsoft-button {
	margin-top: var(--rs-space-5);
}

.radoshsoft-site-footer {
	padding-top: var(--rs-space-8);
}

.radoshsoft-footer__grid {
	display: grid;
	gap: var(--rs-space-7) var(--rs-space-6);
	grid-template-columns: minmax(13rem, 1.4fr) repeat(4, minmax(0, 1fr));
	padding-bottom: var(--rs-space-8);
}

.radoshsoft-footer__name {
	color: var(--rs-color-on-dark);
	display: inline-block;
	margin-bottom: var(--rs-space-3);
}

.radoshsoft-footer__brand p {
	color: #c6d4e1;
	margin: 0;
}

.radoshsoft-footer__group h2 {
	color: var(--rs-color-on-dark);
	font-size: var(--rs-font-size-base);
	margin: 0 0 var(--rs-space-3);
}

.radoshsoft-footer__group li + li {
	margin-top: var(--rs-space-2);
}

.radoshsoft-footer__group a,
.radoshsoft-footer__bottom a {
	color: #dce7f0;
	font-size: var(--rs-font-size-sm);
	font-weight: var(--rs-weight-regular);
}

.radoshsoft-footer__group a:hover,
.radoshsoft-footer__bottom a:hover {
	color: #ffffff;
}

.radoshsoft-footer__bottom {
	align-items: center;
	border-top: 1px solid rgb(255 255 255 / 18%);
	display: flex;
	font-size: var(--rs-font-size-sm);
	gap: var(--rs-space-4);
	justify-content: space-between;
	padding-block: var(--rs-space-5);
}

.radoshsoft-footer__bottom p {
	margin: 0;
}

.radoshsoft-footer__bottom ul {
	display: flex;
	gap: var(--rs-space-4);
}

.radoshsoft-menu-open,
.radoshsoft-menu-open body {
	overflow: hidden;
}

@media (max-width: 63.99rem) {
	.radoshsoft-nav--desktop,
	.radoshsoft-header__cta {
		display: none;
	}

	.radoshsoft-menu-toggle {
		display: inline-flex;
	}

	.radoshsoft-footer__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.radoshsoft-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 47.99rem) {
	.radoshsoft-header__inner {
		min-height: 4.5rem;
	}

	.radoshsoft-footer__grid {
		gap: var(--rs-space-6);
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.radoshsoft-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
	}
}
