
.sep-tabs {
	--panel-bg: var(--surface-surface, #f1f5fe);
}

.sep-tabs, .sep-tabs__container {
	width: 100%;
}

.sep-tabs__nav {
	display: flex;
	flex-wrap: nowrap;
	gap: .5rem;
	justify-content: flex-start;
	margin-bottom: 1rem;
	margin-left: calc(var(--sp-section-left-right, 0px) * -1);
	overflow: auto;
	padding-left: var(--sp-section-left-right, 0);
	padding-right: var(--sp-section-left-right, 0);
	position: relative;
	width: calc(100% + var(--sp-section-left-right, 0px) + var(--sp-section-left-right, 0px));
	-ms-overflow-style: none;
	box-sizing: border-box;
	scrollbar-width: none;
}

.wp-block-sep-section-wrapper>.wp-block-sep-section .sep-tabs__nav {
	margin-left: calc(( var(--sp-section-left-right, 0) + var(--sp-section-wrapper-left-right, 0) ) * -1);
	margin-right: calc(( var(--sp-section-left-right, 0) + var(--sp-section-wrapper-left-right, 0) ) * -1);
}

.sep-tabs__nav::-webkit-scrollbar {
	display: none;
}

@media (min-width:768px) {
	.sep-tabs__nav {
		justify-content: center;
		margin-left: auto;
		margin-right: auto;
		padding-left: 0;
		padding-right: 0;
		width: auto;
	}
}

.sep-tabs__tab {
	background-color: var(--tab-control-tab-fill-initial);
	border: 0;
	border-radius: 48px;
	box-shadow: inset 0 0 0 1px transparent;
	color: var(--tab-control-tab-text-initial);
	cursor: pointer;
	font-family: inherit;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	padding: .5rem .75rem;
	transition: all .2s ease;
	white-space: nowrap;
}

.sep-tabs__tab:hover:not(.is-active) {
	background-color: var(--tab-control-tab-fill-hover);
	box-shadow: inset 0 0 0 1px var(--tab-control-tab-border-hover);
}

.sep-tabs__tab.is-active {
	background-color: var(--tab-control-tab-fill-active);
	box-shadow: inset 0 0 0 1px transparent;
	color: var(--tab-control-tab-text-active);
}

.sep-tabs__tab:focus-visible {
	box-shadow: inset 0 0 0 1px var(--tab-control-tab-border-hover);
	outline: 0;
}

.sep-tabs__panels-container, .sep-tabs__panels-container-editor {
	background-color: var(--panel-bg, var(--surface-surface));
	border: 1px solid var(--surface-surface-border, #bccef5);
	border-radius: var(--core-styles-border-radius-default, 24px);
	min-height: 300px;
	padding: 32px;
	position: relative;
}

.sep-panel {
	display: none;
}

.sep-panel.is-active {
	animation: fadeIn .3s ease-in;
	display: block;
}

@keyframes fadeIn {
	0% {
		opacity: 0;
		transform: translateY(8px);
	}
	
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width:768px) {
	.sep-tabs__nav {
		gap: 8px;
	}
	
	.sep-tabs__panels-container {
		padding: 24px;
	}
}
