/**
 * Header & footer refinements on top of the Elementor templates.
 * Breakpoints match the Elementor kit: laptop 1366, tablet 1024, mobile 767.
 */

/* ---------- Shared: social circles (Figma icons are stroked outlines) ---------- */

.krs-social .elementor-social-icon svg,
.krs-social .elementor-social-icon svg * {
	fill: none !important;
}

.krs-social .elementor-social-icon {
	transition: background-color 0.2s ease;
}

.krs-social .elementor-grid {
	display: flex;
	flex-wrap: nowrap;
}

/* ---------- Header ---------- */

.krs-header .krs-header__logo a,
.krs-footer .krs-footer__logo a {
	display: block;
	line-height: 0;
}

.krs-header .krs-header__logo img {
	display: block;
	height: auto;
}

.krs-header__actions.e-con {
	--width: auto;
	margin-left: auto;
	flex-shrink: 0;
}

/* Figma spreads the five links edge to edge across 610px. */
.krs-header__nav .elementor-nav-menu--main > .elementor-nav-menu {
	justify-content: space-between;
	width: 100%;
	margin: 0;
}

.krs-header__nav .elementor-nav-menu--main > .elementor-nav-menu::after {
	display: none;
}

.krs-header__nav .elementor-nav-menu--main > .elementor-nav-menu > li {
	flex-grow: 0;
}

.krs-header__nav .elementor-nav-menu--main .elementor-item {
	white-space: nowrap;
}

/* Dropdown-only CTA item. */
.elementor-nav-menu--main .elementor-nav-menu > li.krs-menu-cta,
.krs-header__nav .elementor-nav-menu--dropdown .elementor-nav-menu > li.krs-menu-cta {
	display: none !important;
}

/* Burger: a 48px circle like the social buttons. */
.krs-header__nav .elementor-menu-toggle {
	width: 48px;
	height: 48px;
	padding: 0;
	justify-content: center;
}

.krs-header__nav .elementor-nav-menu--dropdown {
	border-radius: 0 0 var(--krs-radius-block, 30px) var(--krs-radius-block, 30px);
	box-shadow: 0 24px 40px -24px rgba(43, 44, 106, 0.35);
	overflow: hidden;
}

.krs-header__nav .elementor-nav-menu--dropdown .elementor-item {
	letter-spacing: 0.3px;
}

/* Laptop: socials make room for the menu below 1280px. */
@media (max-width: 1279px) {
	.krs-header__social {
		display: none;
	}
}

@media (max-width: 1024px) {
	.krs-header__social {
		display: block;
	}
}

@media (max-width: 767px) {
	.krs-header__nav {
		margin-left: auto;
	}

	.krs-header__nav .elementor-nav-menu--dropdown .elementor-nav-menu > li.krs-menu-cta {
		display: block !important;
		padding: 16px 16px 20px;
	}

	.krs-header__nav .elementor-nav-menu--dropdown .krs-menu-cta > a {
		justify-content: center;
		padding: 6px 23px !important;
		border-radius: var(--krs-radius-button, 15px);
		background: var(--krs-navy, #2B2C6A) !important;
		color: var(--krs-white, #fff) !important;
		font-size: 13.8px !important;
		line-height: 36px !important;
		border: 0;
	}
}

/* ---------- Footer ---------- */

.krs-footer .krs-footer__logo img {
	display: block;
	height: auto;
}

.krs-footer__about p {
	margin: 0;
}

/* Icons keep their own aspect ratio (Figma SVGs use preserveAspectRatio="none"). */
.krs-footer__contacts .elementor-icon-list-item:nth-child(1) .elementor-icon-list-icon svg {
	width: 17px;
	height: 13.3px;
}

.krs-footer__contacts .elementor-icon-list-item:nth-child(2) .elementor-icon-list-icon svg {
	width: 12px;
	height: 18.75px;
}

.krs-footer__contacts .elementor-icon-list-icon svg {
	fill: none;
}

.krs-footer__contacts .elementor-icon-list-items.elementor-inline-items {
	align-items: flex-end;
	padding: 3px 4px;
}

.krs-footer__contacts .elementor-icon-list-item > a {
	align-items: center;
}

/* Footer menu: label, 22px gap, white arrow (Figma "Item → Link"). */
.krs-footer__nav .elementor-nav-menu--main .elementor-item {
	padding-right: 34px !important;
	background-image: url("../img/icon-arrow.svg") !important;
	background-repeat: no-repeat !important;
	background-position: right center !important;
	background-size: 12px 12px !important;
	white-space: nowrap;
}

.krs-footer__nav .elementor-nav-menu--layout-vertical > .elementor-nav-menu > li + li {
	margin-top: 6px;
}

.krs-footer__nav .elementor-nav-menu--layout-vertical > .elementor-nav-menu > li > a {
	justify-content: flex-end;
}

.krs-footer__nav .elementor-nav-menu--dropdown,
.krs-footer__nav .elementor-menu-toggle {
	display: none !important;
}

.krs-footer__social {
	margin-top: 0;
}

.krs-footer__bar-links.e-con {
	--width: auto;
	flex-shrink: 0;
}

.krs-footer__bar .elementor-heading-title {
	white-space: nowrap;
}

.krs-footer__bar a {
	color: inherit;
}

.krs-footer__bar a:hover {
	text-decoration: underline;
}

@media (max-width: 1024px) {
	.krs-footer__links.e-con {
		border-top: 1px solid rgba(255, 255, 255, 0.16);
		padding-top: 32px !important;
	}

	.krs-footer__nav .elementor-nav-menu--layout-vertical > .elementor-nav-menu {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-start;
		column-gap: 20px;
		row-gap: 6px;
	}

	.krs-footer__nav .elementor-nav-menu--main .elementor-item {
		font-size: 14px;
		padding-right: 28px !important;
	}

	.krs-footer__nav .elementor-nav-menu--layout-vertical > .elementor-nav-menu > li + li {
		margin-top: 0;
	}

	.krs-footer__nav .elementor-nav-menu--layout-vertical > .elementor-nav-menu > li > a {
		justify-content: flex-start;
	}

	.krs-footer__middle.e-con {
		flex: 1 1 0;
	}

	.krs-footer__links > .krs-footer__nav {
		flex: 0 0 100%;
	}
}

@media (max-width: 767px) {
	.krs-footer__nav .elementor-nav-menu--layout-vertical > .elementor-nav-menu {
		flex-direction: column;
		row-gap: 6px;
	}

	.krs-footer__middle.e-con {
		flex: 0 0 auto;
	}

	.krs-footer__links > .krs-footer__nav {
		flex: 0 0 auto;
		width: 100%;
	}

	.krs-footer__nav .elementor-nav-menu--layout-vertical > .elementor-nav-menu > li {
		align-self: flex-start;
	}

	.krs-footer__nav .elementor-nav-menu--layout-vertical > .elementor-nav-menu > li > a {
		display: inline-flex;
		width: auto;
	}

	.krs-footer__contacts .elementor-icon-list-items.elementor-inline-items {
		flex-direction: column;
		align-items: flex-start;
		row-gap: 10px;
	}

	.krs-footer__bar .elementor-heading-title {
		text-align: center;
	}
}

/* ---------- Language switcher ---------- */

.krs-header__lang-mobile {
	margin-left: auto;
}

.krs-header__lang-mobile .krs-lang a {
	min-width: 34px;
	height: 34px;
	font-size: 12px;
}

@media (max-width: 767px) {
	.krs-header__nav {
		margin-left: 0;
	}
}

@media (max-width: 767px) {
	.krs-header .krs-header__nav { order: 10; }
	.krs-header .krs-header__lang-mobile { order: 5; }
}

@media (max-width: 767px) {
	.krs-footer__bar-links.e-con {
		flex-direction: column;
		align-items: center;
		gap: 4px;
	}

	.krs-footer__bar .elementor-heading-title {
		text-align: center;
	}
}

/* Astra scroll-to-top in the site style. */
#ast-scroll-top {
	width: 48px;
	height: 48px;
	line-height: 48px;
	border-radius: 50%;
	background-color: var(--krs-navy, #2B2C6A);
	color: var(--krs-white, #fff);
	box-shadow: 0 8px 20px -8px rgba(43, 44, 106, .5);
	font-size: 16px;
}

#ast-scroll-top:hover { background-color: var(--krs-yellow, #D2C700); color: var(--krs-navy, #2B2C6A); }

/* Popup close: focus ring for keyboard users only. */
.elementor-popup-modal .dialog-close-button:focus:not(:focus-visible) { outline: none; }
.elementor-popup-modal .dialog-close-button:focus-visible { outline: 2px solid var(--krs-yellow, #D2C700); outline-offset: 2px; }

/* ---------- Footer contacts (settings-driven) ---------- */

.krs-contacts { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px 20px; margin: 0; padding: 3px 4px; list-style: none; }
.krs-contacts a { display: inline-flex; align-items: center; gap: 12px; font-size: 14.9px; line-height: 22px; font-weight: 700; color: var(--krs-white, #fff); text-decoration: none; }
.krs-contacts a:hover { color: var(--krs-yellow, #D2C700); }
.krs-contacts svg { flex: none; }

.krs-header__social .krs-social-icons,
.krs-footer__social .krs-social-icons { flex-wrap: nowrap; }

@media (max-width: 767px) {
	.krs-contacts { flex-direction: column; align-items: flex-start; }
}

/* ---------- Cookie notice in the site style ---------- */

#cookie-notice {
	left: 16px !important;
	right: 16px !important;
	bottom: 16px !important;
	width: auto !important;
	min-width: 0 !important;
	border-radius: 20px;
	background-color: var(--krs-navy, #2B2C6A) !important;
	box-shadow: 0 16px 40px -12px rgba(1, 2, 5, .45);
	font-family: var(--krs-font-body, Inter, sans-serif);
}

#cookie-notice .cookie-notice-container { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 24px; padding: 18px 24px; text-align: left; }
#cookie-notice #cn-notice-text { font-size: 14px; line-height: 22px; font-weight: 500; color: #fff; }
#cookie-notice #cn-notice-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
#cookie-notice .cn-button {
	margin: 0 !important;
	padding: 6px 23px !important;
	min-height: 44px;
	border-radius: var(--krs-radius-button, 15px) !important;
	background: var(--krs-yellow, #D2C700) !important;
	color: var(--krs-navy, #2B2C6A) !important;
	font-family: var(--krs-font-body, Inter, sans-serif) !important;
	font-size: 13.8px !important;
	font-weight: 700 !important;
	line-height: 32px !important;
	text-transform: uppercase;
	letter-spacing: 0 !important;
}
#cookie-notice #cn-more-info { background: transparent !important; color: #fff !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6); }
#cookie-notice #cn-close-notice { display: none; }

@media (max-width: 767px) {
	#cookie-notice { left: 8px !important; right: 8px !important; bottom: 8px !important; }
	#cookie-notice .cookie-notice-container { padding: 16px; }
	#cookie-notice #cn-notice-buttons { width: 100%; }
	#cookie-notice .cn-button { flex: 1 1 auto; text-align: center; }
}
