/* ASEM enhanced Tab — keep Core inline titles; caption/icon without breaking styles 2–3 */

.asem-enhanced-tab {
	--asem-tab-duration: 320ms;
}

.asem-enhanced-tab .gdlr-core-tab-item-title {
	/* Do NOT force flex column here — Core needs inline-block for style2/3 horizontal */
	line-height: 1.25;
	vertical-align: top;
	transition:
		color var(--asem-tab-duration) ease,
		background-color var(--asem-tab-duration) ease,
		transform var(--asem-tab-duration) ease,
		box-shadow var(--asem-tab-duration) ease,
		opacity var(--asem-tab-duration) ease;
	will-change: transform;
}

.asem-enhanced-tab .asem-tab-title-row {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	max-width: 100%;
}

.asem-enhanced-tab .asem-tab-icon {
	font-size: 1.05em;
	line-height: 1;
	flex-shrink: 0;
	transition: transform var(--asem-tab-duration) ease;
}

.asem-enhanced-tab .gdlr-core-tab-item-title.gdlr-core-active .asem-tab-icon {
	transform: scale(1.08);
}

.asem-enhanced-tab .asem-tab-caption {
	display: block;
	font-size: 0.78em;
	font-weight: 400;
	opacity: 0.8;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.35;
	margin-top: 4px;
	/* critical: never width 100% — that forced each tab title to full row */
	width: auto;
	max-width: 16em;
	white-space: normal;
	transition: opacity var(--asem-tab-duration) ease;
}

.asem-enhanced-tab.gdlr-core-center-align .asem-tab-caption {
	margin-left: auto;
	margin-right: auto;
}

.asem-enhanced-tab .asem-tab-button-wrap {
	margin-top: 1.1em;
}

.asem-enhanced-tab .asem-tab-button {
	display: inline-block;
	padding: 0.55em 1.25em;
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none !important;
	border-radius: 2px;
	line-height: 1.4;
	transition: opacity 0.2s ease, transform var(--asem-tab-duration) ease;
}

.asem-enhanced-tab .asem-tab-button:hover,
.asem-enhanced-tab .asem-tab-button:focus {
	opacity: 0.88;
	text-decoration: none !important;
	transform: translateY(-1px);
}

/* Title hover effects */
.asem-enhanced-tab.asem-tab-hover-lift .gdlr-core-tab-item-title:hover {
	transform: translateY(-2px);
}

.asem-enhanced-tab.asem-tab-hover-scale .gdlr-core-tab-item-title:hover {
	transform: scale(1.04);
}

.asem-enhanced-tab.asem-tab-hover-soft-bg .gdlr-core-tab-item-title:hover {
	background-color: rgba(22, 37, 66, 0.06);
}

.asem-enhanced-tab.asem-tab-hover-glow .gdlr-core-tab-item-title:hover {
	box-shadow: 0 4px 14px rgba(22, 37, 66, 0.12);
}

/* Content entrance animations (replayed via .asem-tab-animating) */
.asem-enhanced-tab .gdlr-core-tab-item-content.asem-tab-animating {
	animation-duration: var(--asem-tab-duration);
	animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
	animation-fill-mode: both;
}

.asem-enhanced-tab.asem-tab-fx-fade .gdlr-core-tab-item-content.asem-tab-animating {
	animation-name: asem-tab-fade;
}

.asem-enhanced-tab.asem-tab-fx-slide-up .gdlr-core-tab-item-content.asem-tab-animating {
	animation-name: asem-tab-slide-up;
}

.asem-enhanced-tab.asem-tab-fx-slide-left .gdlr-core-tab-item-content.asem-tab-animating {
	animation-name: asem-tab-slide-left;
}

.asem-enhanced-tab.asem-tab-fx-zoom .gdlr-core-tab-item-content.asem-tab-animating {
	animation-name: asem-tab-zoom;
}

.asem-enhanced-tab.asem-tab-fx-blur .gdlr-core-tab-item-content.asem-tab-animating {
	animation-name: asem-tab-blur;
}

@keyframes asem-tab-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes asem-tab-slide-up {
	from { opacity: 0; transform: translateY(14px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes asem-tab-slide-left {
	from { opacity: 0; transform: translateX(18px); }
	to { opacity: 1; transform: translateX(0); }
}

@keyframes asem-tab-zoom {
	from { opacity: 0; transform: scale(0.96); }
	to { opacity: 1; transform: scale(1); }
}

@keyframes asem-tab-blur {
	from { opacity: 0; filter: blur(4px); }
	to { opacity: 1; filter: blur(0); }
}

/* Side image layout without Kingster tab-item-wrap (keeps title-wrap as direct child for Core JS) */
.asem-enhanced-tab.asem-tab-has-image {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

.asem-enhanced-tab.asem-tab-has-image > .gdlr-core-tab-item-content-image-wrap {
	float: none;
	width: 30%;
	height: auto !important;
	min-height: 220px;
	position: relative;
	align-self: stretch;
	order: 1;
}

.asem-enhanced-tab.asem-tab-has-image > .gdlr-core-tab-item-title-wrap {
	width: 70%;
	order: 2;
	box-sizing: border-box;
}

.asem-enhanced-tab.asem-tab-has-image > .gdlr-core-tab-item-content-wrap {
	width: 70%;
	margin-left: 30%;
	order: 3;
	box-sizing: border-box;
}

.asem-enhanced-tab.asem-tab-has-image .gdlr-core-tab-item-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: 0;
	transition: opacity var(--asem-tab-duration) ease;
}

.asem-enhanced-tab.asem-tab-has-image .gdlr-core-tab-item-image.gdlr-core-active {
	opacity: 1;
	z-index: 1;
	position: absolute;
}

.asem-enhanced-tab.asem-tab-no-image > .gdlr-core-tab-item-content-image-wrap {
	display: none;
}

@media (max-width: 767px) {
	.asem-enhanced-tab.asem-tab-has-image {
		display: block;
	}

	.asem-enhanced-tab.asem-tab-has-image > .gdlr-core-tab-item-content-image-wrap {
		width: 100%;
		min-height: 200px;
		margin-bottom: 12px;
	}

	.asem-enhanced-tab.asem-tab-has-image > .gdlr-core-tab-item-title-wrap,
	.asem-enhanced-tab.asem-tab-has-image > .gdlr-core-tab-item-content-wrap {
		width: 100%;
		margin-left: 0;
	}

	/* Match Core: vertical title max-width does not apply on small screens */
	.asem-enhanced-tab.gdlr-core-tab-style1-vertical > .gdlr-core-tab-item-title-wrap,
	.asem-enhanced-tab.gdlr-core-tab-style2-vertical > .gdlr-core-tab-item-title-wrap {
		max-width: none !important;
	}
}
