/* ─────────────────────────────────────────────────────────────────────────
   Tabs Section Widget
   ─────────────────────────────────────────────────────────────────────────
   Only structural / wrapper styles live here.
   Heading colour/typography → Style > Heading panel.
   Tab button colours/fonts  → Style > Tab Buttons panel.
   Content panel bg/shadow   → Style > Content Panel panel.
   ───────────────────────────────────────────────────────────────────────── */

.mew-tabs-section *,
.mew-tabs-section *::before,
.mew-tabs-section *::after {
	box-sizing: border-box;
}

/* ── Root ─────────────────────────────────────────────────────────────────── */
.mew-tabs-section {
	display: block;
	width: 100%;
}

/* ── Two-column flex ─────────────────────────────────────────────────────── */
.mew-ts__inner {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 60px;
	width: 100%;
}

.mew-tabs-section.mew-ts--right .mew-ts__inner {
	flex-direction: row-reverse;
}

.mew-ts__left {
	width: 38%;
	flex-shrink: 0;
	min-width: 0;
}

.mew-ts__right {
	flex: 1;
	min-width: 0;
}

/* ── Heading / Sub-heading ───────────────────────────────────────────────── */
.mew-ts__heading {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.25;
	color: #1a1a2e;
	margin: 0 0 16px;
}

.mew-ts__subheading {
	font-size: 0.95rem;
	line-height: 1.7;
	color: #666;
	margin: 0 0 32px;
}

/* ── Tab nav list ────────────────────────────────────────────────────────── */
.mew-ts__tabs-nav {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* ── Tab button ──────────────────────────────────────────────────────────── */
.mew-ts__tab-btn {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 20px;
	border-radius: 8px;
	cursor: pointer;
	font-weight: 500;
	color: #444;
	background-color: transparent;
	transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
	position: relative;
	outline: none;
	user-select: none;
	width: 100%;
	text-align: left;
}

.mew-ts__tab-btn:not(.is-active):hover {
	background-color: #f0f0f5;
}

.mew-ts__tab-btn.is-active {
	background-color: #1a1a2e;
	color: #fff;
}

/* Accent bar (shown when .has-accent is on .mew-ts__tabs-nav) */
.mew-ts__tabs-nav.has-accent .mew-ts__tab-btn.is-active::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	height: 60%;
	width: 4px;
	border-radius: 0 3px 3px 0;
	background-color: #6c63ff;
}

.mew-ts__tab-icon {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	font-size: 18px;
	line-height: 1;
}

.mew-ts__tab-icon svg {
	width: 18px;
	height: 18px;
}

.mew-ts__tab-label {
	flex: 1;
}

/* ── Content pods ────────────────────────────────────────────────────────── */
.mew-ts__pod {
	display: none;
	width: 100%;
}

.mew-ts__pod.is-active {
	display: block;
}

/* ── Editor: show all pods stacked ───────────────────────────────────────── */
.elementor-editor-active .mew-ts__pod {
	display: block !important;
	margin-bottom: 8px;
}
.elementor-editor-active .mew-ts__pod:not(.is-active) {
	opacity: 0.45;
}
.elementor-editor-active .mew-ts__pod.is-active {
	outline: 2px solid #6c63ff;
	outline-offset: 3px;
	border-radius: 8px;
}

/* ── Empty / placeholder state ───────────────────────────────────────────── */
.mew-ts__placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 160px;
	padding: 24px;
	text-align: center;
	border: 2px dashed #d0d0e0;
	border-radius: 8px;
	background: #fafafa;
}

.mew-ts__placeholder span {
	font-size: 2rem;
	line-height: 1;
}

.mew-ts__placeholder p {
	font-size: 0.875rem;
	color: #888;
	margin: 0;
}

.mew-ts__placeholder a {
	font-size: 0.8rem;
	color: #6c63ff;
	text-decoration: none;
	font-weight: 600;
}

.mew-ts__placeholder a:hover {
	text-decoration: underline;
}

/* ── WYSIWYG fallback content ─────────────────────────────────────────────── */
.mew-ts__wysiwyg {
	font-size: 1rem;
	line-height: 1.7;
	color: #444;
}

.mew-ts__wysiwyg > *:last-child {
	margin-bottom: 0;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media ( max-width: 1024px ) {
	.mew-ts__inner { gap: 40px; }
}

@media ( max-width: 768px ) {
	.mew-ts__inner {
		flex-direction: column !important;
		gap: 28px;
	}
	.mew-ts__left,
	.mew-ts__right {
		width: 100% !important;
		flex: none;
	}
	.mew-ts__tabs-nav {
		flex-direction: row;
		flex-wrap: wrap;
	}
	.mew-ts__tab-btn {
		flex: 1 1 auto;
		width: auto;
		justify-content: center;
		text-align: center;
	}
}

@media(min-width: 1024px){
	.mew-ts__heading{
		min-width: 633px;
	}
}
