/* Shared public-page section navigation.
   Bootstrap owns tab behavior; these styles provide an all-visible compact
   phone directory and a single-line larger-screen rail. */

.ksw-section-tabs {
	--ksw-section-tabs-accent: var(--primary, var(--bs-primary, #0d6efd));
	--ksw-section-tabs-accent-soft: var(--primary-rgba-10, rgba(13, 110, 253, .10));
	--ksw-section-tabs-inverse: var(--primary-inverse, #fff);
	--ksw-section-tabs-text: var(--bs-body-color, #343a40);
	--ksw-section-tabs-muted: var(--bs-secondary-color, rgba(52, 58, 64, .72));
	--ksw-section-tabs-border: var(--bs-border-color-translucent, rgba(0, 0, 0, .10));
	--ksw-section-tabs-surface: var(--bs-body-bg, #fff);
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 1.75rem 0 0;
	isolation: isolate;
}

.ksw-section-tabs__heading {
	display: flex;
	align-items: center;
	gap: .55rem;
	min-width: 0;
	padding: 0 .25rem .45rem;
	color: var(--ksw-section-tabs-text);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
}

.ksw-section-tabs__heading-title {
	display: inline-flex;
	min-width: 0;
	align-items: center;
	gap: .55rem;
}

.ksw-section-tabs__heading-title > i {
	flex: 0 0 auto;
	color: var(--ksw-section-tabs-accent);
	font-size: 1.05rem;
}

.ksw-section-tabs__heading-rule {
	flex: 1 1 auto;
	min-width: 1.5rem;
	border-top: 1px solid var(--ksw-section-tabs-border);
}

.ksw-section-tabs__frame {
	position: relative;
	max-width: 100%;
	border-bottom: 1px solid var(--ksw-section-tabs-border);
}

.ksw-section-tabs__scroll.btn {
	position: relative;
	z-index: 2;
	display: none;
	width: 2.65rem;
	min-height: 3rem;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	border-radius: .6rem .6rem 0 0;
	background: var(--ksw-section-tabs-surface);
	box-shadow: none;
	color: var(--ksw-section-tabs-accent);
	font-size: 1rem;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
	transition: color .18s ease, background-color .18s ease, opacity .18s ease;
}

.ksw-section-tabs__scroll.btn:focus-visible {
	background: var(--ksw-section-tabs-accent-soft);
	color: var(--ksw-section-tabs-accent);
	outline: 2px solid var(--ksw-section-tabs-accent);
	outline-offset: -3px;
}

.ksw-section-tabs__scroll.btn:disabled {
	opacity: .28;
}

.ksw-section-tabs__viewport {
	position: relative;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	scroll-padding-inline: .75rem;
}

.ksw-section-tabs__viewport::-webkit-scrollbar {
	display: none;
}

.ksw-section-tabs__list.nav {
	--bs-nav-link-padding-x: 0;
	--bs-nav-link-padding-y: 0;
	--bs-nav-underline-gap: 0;
	--bs-nav-underline-border-width: 0;
	display: flex;
	width: max-content;
	min-width: 100%;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: stretch;
	gap: .18rem;
	margin: 0;
	padding: 0 .15rem;
	border: 0;
	list-style: none;
}

.ksw-section-tabs__item {
	display: flex;
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
}

.ksw-section-tabs__list .ksw-section-tabs__link.nav-link {
	position: relative;
	display: inline-flex;
	min-height: 3rem;
	align-items: center;
	justify-content: center;
	gap: .48rem;
	margin: 0;
	padding: .58rem .76rem .68rem;
	border: 0 !important;
	border-radius: .7rem .7rem 0 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--ksw-section-tabs-muted) !important;
	font-size: 1rem;
	font-weight: 650;
	line-height: 1.15;
	text-align: center;
	text-decoration: none !important;
	white-space: nowrap;
	-webkit-appearance: none;
	appearance: none;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
	transition: color .18s ease, background-color .18s ease;
}

.ksw-section-tabs__list .ksw-section-tabs__link.nav-link::after {
	content: "";
	position: absolute;
	right: .72rem;
	bottom: -1px;
	left: .72rem;
	height: 3px;
	border-radius: 999px 999px 0 0;
	background: transparent;
	transform: scaleX(.35);
	transform-origin: center;
	transition: background-color .18s ease, transform .22s ease;
}

.ksw-section-tabs__icon {
	display: inline-grid;
	width: 1.85rem;
	height: 1.85rem;
	flex: 0 0 1.85rem;
	place-items: center;
	border-radius: 50%;
	background: var(--ksw-section-tabs-accent-soft);
	color: var(--ksw-section-tabs-accent);
	font-size: .9rem;
	line-height: 1;
	transition: color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.ksw-section-tabs__label {
	display: inline-block;
	min-width: 0;
}

.ksw-section-tabs__count {
	font-variant-numeric: tabular-nums;
}

.ksw-section-tabs__list .ksw-section-tabs__link.nav-link.active,
.ksw-section-tabs__list .ksw-section-tabs__link.nav-link[aria-selected="true"] {
	background: transparent !important;
	color: var(--ksw-section-tabs-accent) !important;
	font-weight: 650;
}

.ksw-section-tabs__list .ksw-section-tabs__link.nav-link.active::after,
.ksw-section-tabs__list .ksw-section-tabs__link.nav-link[aria-selected="true"]::after {
	background: var(--ksw-section-tabs-accent);
	transform: scaleX(1);
}

.ksw-section-tabs__list .ksw-section-tabs__link.nav-link.active .ksw-section-tabs__icon,
.ksw-section-tabs__list .ksw-section-tabs__link.nav-link[aria-selected="true"] .ksw-section-tabs__icon {
	background: var(--ksw-section-tabs-accent);
	box-shadow: 0 0 0 3px var(--ksw-section-tabs-accent-soft);
	color: var(--ksw-section-tabs-inverse);
}

.ksw-section-tabs__list .ksw-section-tabs__link.nav-link:focus,
.ksw-section-tabs__list .ksw-section-tabs__link.nav-link:active {
	box-shadow: none !important;
}

.ksw-section-tabs__list .ksw-section-tabs__link.nav-link:focus-visible {
	outline: 2px solid var(--ksw-section-tabs-accent);
	outline-offset: -3px;
	background: var(--ksw-section-tabs-accent-soft) !important;
}

.ksw-section-tabs__list .ksw-section-tabs__link.nav-link.disabled,
.ksw-section-tabs__list .ksw-section-tabs__link.nav-link[aria-disabled="true"] {
	opacity: .48;
	pointer-events: none;
}

/* Porto gives bare .tab-content elements card chrome. The section rail's
   panes intentionally remain part of the page, not a card. */
.tab-content.ksw-section-tabs-content {
	position: relative;
	overflow: visible;
	margin: 0 !important;
	padding: 1rem 0 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* The content wrapper owns the one intentional gap below the section map.
   Do not let a pane's first direct child stack an additional top utility. */
.tab-content.ksw-section-tabs-content > .tab-pane > :first-child {
	margin-top: 0 !important;
}

html.dark .ksw-section-tabs {
	--ksw-section-tabs-text: rgba(255, 255, 255, .90);
	--ksw-section-tabs-muted: rgba(255, 255, 255, .68);
	--ksw-section-tabs-border: rgba(255, 255, 255, .14);
	--ksw-section-tabs-surface: var(--dark, #212529);
}

@media (hover: hover) and (pointer: fine) {
	.ksw-section-tabs__scroll.btn:hover,
	.ksw-section-tabs__list .ksw-section-tabs__link.nav-link:hover {
		background: var(--ksw-section-tabs-accent-soft) !important;
		color: var(--ksw-section-tabs-accent) !important;
	}

	.ksw-section-tabs__list .ksw-section-tabs__link.nav-link:hover .ksw-section-tabs__icon {
		transform: translateY(-1px);
	}
}

@media (min-width: 768px) {
	.ksw-section-tabs.is-overflowing .ksw-section-tabs__frame {
		display: grid;
		grid-template-columns: 2.65rem minmax(0, 1fr) 2.65rem;
		align-items: stretch;
	}

	.ksw-section-tabs.is-overflowing .ksw-section-tabs__scroll.btn {
		display: inline-grid;
	}

	.ksw-section-tabs.is-overflowing .ksw-section-tabs__viewport {
		min-width: 0;
	}

	.ksw-section-tabs.is-overflowing .ksw-section-tabs__list.nav {
		justify-content: flex-start;
	}
}

@media (max-width: 767.98px) {
	.ksw-section-tabs {
		margin-top: 1.35rem;
	}

	.ksw-section-tabs__heading {
		padding-bottom: .6rem;
	}

	.ksw-section-tabs__heading-rule {
		min-width: .5rem;
	}

	.ksw-section-tabs__frame {
		border-top: 1px solid var(--ksw-section-tabs-border);
		border-bottom: 0;
	}

	.ksw-section-tabs__viewport {
		overflow: visible;
	}

	.ksw-section-tabs__list.nav {
		display: grid;
		width: 100%;
		min-width: 0;
		grid-template-columns: repeat(6, minmax(0, 1fr));
		justify-content: stretch;
		gap: 0;
		padding: 0;
	}

	.ksw-section-tabs__item {
		min-width: 0;
		grid-column: span 3;
		border-bottom: 1px solid var(--ksw-section-tabs-border);
	}

	.ksw-section-tabs__item:nth-child(odd) {
		border-inline-end: 1px solid var(--ksw-section-tabs-border);
	}

	.ksw-section-tabs__item:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		border-inline-end: 0;
	}

	.ksw-section-tabs__list .ksw-section-tabs__link.nav-link {
		width: 100%;
		min-height: 3.25rem;
		justify-content: flex-start;
		padding: .58rem .65rem .62rem .72rem;
		border-radius: 0 !important;
		text-align: start;
		white-space: normal;
	}

	.ksw-section-tabs__list .ksw-section-tabs__link.nav-link::after {
		top: .45rem;
		right: auto;
		bottom: .45rem;
		left: auto;
		inset-inline-start: 0;
		width: 3px;
		height: auto;
		border-radius: 0;
		border-start-end-radius: 999px;
		border-end-end-radius: 999px;
		transform: scaleY(.35);
	}

	.ksw-section-tabs__list .ksw-section-tabs__link.nav-link.active,
	.ksw-section-tabs__list .ksw-section-tabs__link.nav-link[aria-selected="true"] {
		background: var(--ksw-section-tabs-accent-soft) !important;
	}

	.ksw-section-tabs__list .ksw-section-tabs__link.nav-link.active::after,
	.ksw-section-tabs__list .ksw-section-tabs__link.nav-link[aria-selected="true"]::after {
		transform: scaleY(1);
	}

	.ksw-section-tabs__list .ksw-section-tabs__link.nav-link:active {
		background: var(--ksw-section-tabs-accent-soft) !important;
	}

	.ksw-section-tabs__item:last-child:nth-child(odd) .ksw-section-tabs__link.nav-link {
		justify-content: center;
		text-align: center;
	}

	.ksw-section-tabs__icon {
		width: 1.75rem;
		height: 1.75rem;
		flex-basis: 1.75rem;
	}
}

@media (min-width: 576px) and (max-width: 767.98px) {
	.ksw-section-tabs__list.nav {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.ksw-section-tabs__item,
	.ksw-section-tabs__item:nth-child(odd) {
		grid-column: span 2;
		border-inline-end: 1px solid var(--ksw-section-tabs-border);
	}

	.ksw-section-tabs__item:last-child:nth-child(odd) {
		grid-column: span 2;
	}

	.ksw-section-tabs__item:nth-child(3n),
	.ksw-section-tabs__item:last-child {
		border-inline-end: 0;
	}

	.ksw-section-tabs__item:last-child:nth-child(3n + 1) {
		grid-column: 1 / -1;
	}

	.ksw-section-tabs__item:nth-last-child(2):nth-child(3n + 1),
	.ksw-section-tabs__item:nth-last-child(2):nth-child(3n + 1) + .ksw-section-tabs__item {
		grid-column: span 3;
	}

	.ksw-section-tabs__item:last-child:nth-child(odd) .ksw-section-tabs__link.nav-link {
		justify-content: flex-start;
		text-align: start;
	}

	.ksw-section-tabs__item:last-child:nth-child(3n + 1) .ksw-section-tabs__link.nav-link {
		justify-content: center;
		text-align: center;
	}
}

@media print {
	.ksw-section-tabs {
		display: none !important;
	}

	.tab-content.ksw-section-tabs-content {
		padding-top: 0 !important;
	}
}
