/**
 * CSS for SuperTabs with Sliding Indicator
 * - Same font-weight for all tabs to prevent content shifts
 * - Smooth sliding indicator for active tab
 * - Edge shadows to indicate scrollable content
 * - Proper viewport width for content
 */

/* Main container */
.btd-featured-tabs-container {
	position: relative;
	overflow: hidden;
	margin: 0;
	padding: 0;
}

/* Tabs header wrapper */
.btd-tabs-header-wrapper {
	position: relative;
	overflow: hidden;
	/* border-bottom: 1px solid #e6e6e6; */
	/* margin-bottom: 20px; */
}

/* Shadow indicators for scroll position */
.tab-shadow-left,
.tab-shadow-right {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 50px;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: 10;
}

.tab-shadow-left {
	left: 0;
	background: linear-gradient(to right, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0));
}

.tab-shadow-right {
	right: 0;
	background: linear-gradient(to left, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0));
}

.tab-shadow-left.active,
.tab-shadow-right.active {
	opacity: 1;
}

/* Tabs header container with horizontal scrolling */
.btd-tabs-header-container {
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	white-space: nowrap;
	scrollbar-width: none;
	/* Firefox */
	-ms-overflow-style: none;
	/* IE/Edge */
	position: relative;
}

/* Hide scrollbar in Chrome/Safari */
.btd-tabs-header-container::-webkit-scrollbar {
	display: none;
}

/* Tabs headers - main tabs bar */
.btd-tabs-headers {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
	width: max-content;
	min-width: 100%;
}

/* Tab item */
.btd-tabs-headers li {
	position: relative;
	display: inline-flex;
	margin: 0;
	padding: 0;
	margin-right: 1.2rem;
}

.btd-tabs-headers li:last-child {
	margin-right: 0;
}

/* Tab link styling - same font-weight for all states */
.btd-tabs-headers li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1rem 0.8rem 1rem;
	text-decoration: none;
	color: #777;
	/* Medium grey when inactive */
	font-weight: 500;
	/* Same weight for all states */
	transition: color 0.2s ease;
	white-space: nowrap;
	position: relative;
	font-size: 0.9rem;
	border-bottom: 3px solid #e6ccfe;
}

/* Hover state for tab links */
.btd-tabs-headers li a:hover {
	color: #111;
	/* Dark grey on hover */
	text-decoration: none;
}

/* Active tab styling - no font-weight change */
.btd-tabs-headers li.active a {
	/* Purple from reference image color: #6143C1; */
	color: #fff;
	background: #a37ee5;
}

/* Active tab indicator - sliding indicator */
.tab-indicator {
	position: absolute;
	bottom: 0;
	left: 0;
	height: 3px;
	background-color: #6143C1;
	border-radius: 2px 2px 0 0;
	transition: transform 0.3s cubic-bezier(0.35, 0, 0.25, 1), width 0.3s cubic-bezier(0.35, 0, 0.25, 1);
	will-change: transform, width;
	z-index: 2;
}

/* Content container - full width */
.btd-tabs-content-container {
	position: relative;
	overflow: hidden;
	width: 100%;
	max-width: 100%;
	margin-top: 2rem;
	/* border: 1px solid #eee; */
	/* padding: 1rem; */
	border-radius: 9px;
}

/* Individual tab content - padding to maintain proper spacing */
.btd-tab-content {
	width: 100%;
	flex: 0 0 auto;
	/* padding: 1.5rem; */
	box-sizing: border-box;
	background: #fff;
}

.btd-tab-content a img {
	max-height: 6rem;
	max-width: 10rem;
	margin: 0 auto;
	margin-bottom: 1rem;
	display: block;
	margin-top: 1rem;
}

.btd-tab-content .merchant-logo-img {
	filter: grayscale(100%) brightness(150%) opacity(0.8);
}

.all-company-tab {
	position: relative;
}

.all-company-tab::after {
	content: '';
	display: inline-block;
	padding: 4px;
	width: 1rem;
	height: 1rem;
	top: 0;
	position: relative;
	background: #ddd;
	margin-left: 0.4rem;
	border-radius: 2px;
	line-height: 1;
	padding-bottom: 2px;
	padding-top: 2px;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBkPSJNMzM2IDk2YzguOCAwIDE2IDcuMiAxNiAxNlYzMzZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZWMTUwLjZMNTkuMyA0MTEuM2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNkwyOTcuNCAxMjhIMTEyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2SDMzNnoiIGZpbGw9IiM3MDcwNzAiLz48L3N2Zz4=);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

@media (min-width: 38.5em) {
	.btd-tab-content a img {
		margin-left: 0;
	}
}

/* Tab content inner - make sure charts and content fill space */
.btd-tab-content-inner {
	padding: 0;
	width: 100%;
}

/* Chart container - ensure full width */
.btd-chart-container {
	width: 100%;
	height: 350px;
	margin-bottom: 1.5rem;
}

/* Outer container for the tabs component */
.btd-featured-tabs-container {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0;
	padding: 0;
	/* padding: 2rem; */
}

/* Tab content title */
.btd-tab-content h3 {
	font-size: 1.5rem;
	color: #333;
	margin-top: 0;
	margin-bottom: 1.5rem;
	font-weight: 600;
}

/* Brand name in tab headers */
.btd-tabs-headers li a .brand-name {
	display: inline-block;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

/* Scroll indicators - left/right arrows */
.btd-tabs-scroll-indicator {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 40px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 15;
	/* Above shadows */
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
}

/* Left indicator */
.btd-tabs-scroll-indicator.left {
	left: 0;
	background: linear-gradient(to right, rgba(255, 255, 255, 0.95) 30%, rgba(255, 255, 255, 0));
}

/* Right indicator */
.btd-tabs-scroll-indicator.right {
	right: 0;
	background: linear-gradient(to left, rgba(255, 255, 255, 0.95) 30%, rgba(255, 255, 255, 0));
}

/* Arrow symbols */
.btd-tabs-scroll-indicator::after {
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	border-style: solid;
	border-color: #777;
	border-width: 2px 2px 0 0;
	transition: transform 0.2s ease;
}

.btd-tabs-scroll-indicator.left::after {
	transform: rotate(-135deg);
	margin-left: 5px;
}

.btd-tabs-scroll-indicator.right::after {
	transform: rotate(45deg);
	margin-right: 5px;
}

/* Active indicator state */
.btd-tabs-scroll-indicator.active {
	opacity: 1;
	visibility: visible;
}

.btd-tabs-scroll-indicator:hover::after {
	border-color: #6143C1;
}

.new-line {
	display: block;
}

.uppercase {
	text-transform: uppercase;
}

/* Chart container */
.btd-chart-container {
	width: 100%;
	/* height: 350px; */
	margin-bottom: 1.5rem;
	/* z-index: -1; */
}

.btd-chart-lower .elementor-button-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.5rem;
}

.btd-chart {
	width: 100%;
	height: 100%;
}

/* View full insights button */
.btd-brand-link {
	margin-top: 1rem;
	position: relative;
	break-inside: avoid;
	white-space: nowrap;
	break-after: avoid;
}

.btd-brand-link::after {
	color: var(--primary-color);
	content: '»';
	display: inline-block;
	position: relative;
	padding-left: 0.2rem;
	transform: translateX(0rem);
	top: 0px;
	transition: transform 0.2s ease-in-out, top 0.2s ease-in-out, color 0.2s ease-in-out;
}

.btd-brand-link:hover {
	color: var(--secondary-color);
	transition: color 0.2s ease-in-out;
}

.btd-brand-link:hover::after {
	transform: translateX(0.2rem);
	transition: transform 0.2s ease-in-out, color 0.2s ease-in-out;
	color: #42ACFA;
}

.btd-brand-link:active {
	top: 1px;
	transition: top 0.2s ease-in-out;
}

.btd-brand-link .button {
	display: inline-block;
	padding: 10px 20px;
	background-color: #6143C1;
	color: #fff;
	text-decoration: none;
	border-radius: 4px;
	font-weight: 500;
	transition: background-color 0.2s ease;
	font-size: 0.9rem;
}

.btd-brand-link .button:hover {
	background-color: #5236b2;
}

.btd-chart-lower .btd-brand-link {
	display: none;
}

.btd-all-insights-btn {
	margin-top: 1.5rem;
	display: inline-block;
	color: #fe01b4;
	background: transparent;
	border: 2px solid #fe01b4;
	border-radius: 30px;
	padding: 0.6rem 1.2rem;
	font-size: 0.8rem;
	transition: all 0.2s ease-in-out;
	align-self: center;
}

.btd-all-insights-btn:hover {
	background: #fe01b4;
	color: #fff;
	border: 2px solid #fe01b4;
	transition: all 0.2s ease-in-out;
}

.btd-tab-content>aside {
	position: relative;
}

.btd-chart-wrapper {
	height: 350px;
}

.btd-chart-container {
	height: 350px;
	max-height: 350px;
}

/* Responsive adjustments */
@media (max-width: 767px) {
	.btd-tabs-headers li a {
		padding: 12px 18px;
		font-size: 0.85rem;
	}

	.btd-chart-container {
		height: 280px;
	}
}

/* Small devices optimization */
@media (max-width: 480px) {
	.btd-tabs-headers li a {
		padding: 10px 15px;
		font-size: 0.8rem;
	}

	.btd-chart-container {
		height: 250px;
	}
}


.btd-chart-lower {
	align-self: center;
}

.btd-company-title {
	display: flex;
	flex-flow: column;
	justify-content: flex-start;
	align-items: flex-start;
	margin-bottom: 1rem;

}

@media (min-width: 38.5em) {
	.btd-chart-lower .elementor-button-wrapper {
		justify-content: flex-start;
	}

	.btd-tab-content {
		display: flex;
		flex-flow: column nowrap;
		justify-content: space-between;
		align-items: flex-start;
	}

	/* make children flow like row */
	.btd-tab-content>div {
		flex: 0 1 30%;
	}

	.btd-tab-content>aside {
		flex: 1 0 100%;
		width: 100%;
		max-width: 100%;
	}

	.btd-tab-content.brand-insight-section h3 {
		text-align: left;
	}
}

@media (min-width: 73.5em) {
	.btd-tab-content {
		height: 31rem;
		flex-flow: row wrap;
	}

	.btd-tab-content>div.btd-chart-title {
		flex: 1 0 100%;
	}

	.btd-tab-content>aside {
		flex: 0 1 66%;
		max-width: 66%;
		width: 66%;
	}

	.btd-chart-lower .btd-brand-link {
		display: block;
	}

	.btd-chart-wrapper-mobile {
		display: none;
	}
}

@media only screen and (max-width: 73.49em) {
	#navigation {
		display: none;
	}
}

a.view-insight-link {
	font-size: 0.9rem;
	break-inside: avoid;
	/* text-decoration: none !important; */
}

a.view-insight-link:hover {
	color: #42ACFA;
	transition: all 0.2s ease-in-out;
}

a.view-insight-link:active {}

/* Chart title above tabs (title_position="above") */
.btd-chart-title-above {
	text-align: left;
	margin-bottom: 1rem;
	margin-top: 0.5rem;

}

.btd-chart-title-above h4,
.btd-chart-title h4 {
	text-transform: uppercase;
	margin-top: 0.1rem;
	margin-bottom: 0.2rem;
	font-size: 1rem;
	font-weight: 700;
	color: #111;
}

.btd-chart-title-above p.short-desc,
.btd-chart-title p.short-desc {
	position: relative;
	margin-left: 0.7rem;
	color: #555555;
	margin-top: -0.1rem;
	font-size: 0.8rem;
	font-style: italic;
	margin-bottom: 0;
	display: inline-block;
	text-align: left;
}

.btd-tabs-headers li a:active {
	outline: 0;
}

.brand-market-share .btd-chart-title.btd-chart-title-above {
	display: block;
}