/* === Visual parity pass 5: replace remaining Lightning common.css geometry === */
html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }
html, body { margin: 0; padding: 0; }
body { color: #464646; background: #fff; }
img { max-width: 100%; height: auto; }
a { color: inherit; }
ul, ol { box-sizing: border-box; }

.container {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
}
@media (min-width: 576px) { .container { max-width: 540px; } }
@media (min-width: 768px) { .container { max-width: 720px; } }
@media (min-width: 992px) { .container { max-width: 960px; } }
@media (min-width: 1200px) { .container { max-width: 1140px; } }

.row {
	display: flex;
	flex-wrap: wrap;
	margin-left: -15px;
	margin-right: -15px;
}
.col,
[class*="col-"] {
	position: relative;
	width: 100%;
	padding-left: 15px;
	padding-right: 15px;
}
.col-md-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }

.siteHeader {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	width: 100%;
	margin: 0;
	border: 0;
	box-shadow: 0 1px 3px rgba(0,0,0,.1);
}
body { padding-top: 120px; }
body.admin-bar .siteHeader { top: 32px; }
@media (max-width: 991px) { body { padding-top: 108px; } }
@media (max-width: 782px) { body.admin-bar .siteHeader { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .siteHeader { top: 0; } }
.siteHeader .siteHeadContainer {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 66px;
}
.navbar-header {
	flex: 0 0 auto;
}
.navbar-brand {
	display: inline-block;
	margin: 0;
	text-decoration: none;
}
.navbar-brand > img,
.siteHeader_logo img {
	display: block;
}

.gMenu_outer {
	display: block;
	flex: 1 1 auto;
}
.gMenu_outer nav {
	display: block;
}
.gMenu {
	display: flex;
	justify-content: flex-end;
	align-items: stretch;
	margin: 0;
	padding: 0;
	list-style: none;
}
.gMenu > li {
	position: relative;
	margin: 0;
	list-style: none;
	text-align: center;
}
.gMenu > li > a {
	display: block;
	height: 100%;
	text-decoration: none;
}
.gMenu .sub-menu {
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 1000;
	width: 240px;
	margin: 0 0 0 -120px;
	padding: 0;
	list-style: none;
	opacity: 0;
	visibility: hidden;
}
.gMenu > li:hover > .sub-menu,
.gMenu > li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
}
.gMenu .sub-menu li {
	margin: 0;
	list-style: none;
}
.gMenu .sub-menu a {
	display: block;
	text-decoration: none;
}
.kozuki-nav-toggle { display: none; }

.carousel {
	position: relative;
}
.carousel-inner {
	position: relative;
	width: 100%;
	overflow: hidden;
}
.carousel-item {
	position: relative;
	display: none;
	width: 100%;
}
.carousel-item.active {
	display: block;
}
.d-block { display: block !important; }
.w-100 { width: 100% !important; }
.slide-cover {
	position: absolute;
	inset: 0;
	pointer-events: none;
}
#top__fullcarousel picture,
#top__fullcarousel .slide-item-img {
	display: block;
	width: 100%;
}

.siteContent > .container > .row {
	display: block;
	margin-left: -15px;
	margin-right: -15px;
}

.footerMenu .nav {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (max-width: 991px) {
	.siteHeader .siteHeadContainer {
		display: block;
		min-height: 0;
	}
	.navbar-header {
		display: block;
		text-align: center;
	}
	.gMenu_outer {
		display: none;
	}
	.kozuki-nav-toggle {
		display: block;
		position: absolute;
		right: 15px;
		top: 50%;
		transform: translateY(-50%);
	}
}

/* Core-native responsive spacer, replacing VK Spacer blocks as they are migrated. */
.kozuki-spacer {
	display: block;
	height: var(--kozuki-space-pc, 40px);
}
@media (max-width: 991px) {
	.kozuki-spacer {
		height: var(--kozuki-space-tablet, 30px);
	}
}
@media (max-width: 767px) {
	.kozuki-spacer {
		height: var(--kozuki-space-mobile, 20px);
	}
	.col-md-4 { flex: 0 0 100%; max-width: 100%; }
}
