/* ==========================================================================
   Advanced Split Content Widget — Base Styles
   ========================================================================== */

/* Wrapper */
.asc-widget-wrapper {
	position: relative;
	width: 100%;
}

/* Root container */
.asc-widget {
	position: relative;
	width: 100%;
	overflow: hidden;
	box-sizing: border-box;
}

/* Background overlay layer */
.asc-widget > .asc-overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
}

/* Inner flex row */
.asc-widget-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	position: relative;
	z-index: 1;
	width: 100%;
	box-sizing: border-box;
}

/* Reverse variant */
.asc-widget-inner.asc-reverse {
	flex-direction: row-reverse;
}

/* ==========================================================================
   Columns
   ========================================================================== */

.asc-left-side,
.asc-right-side {
	display: flex;
	flex-direction: column;
	flex: 1 1 0%;
	min-width: 0;
	box-sizing: border-box;
}

.asc-left-inner,
.asc-right-inner {
	width: 100%;
}

/* ==========================================================================
   Title & Subtitle
   ========================================================================== */

.asc-title {
	margin-top: 0;
	margin-bottom: 0.5em;
}

.asc-subtitle {
	margin-top: 0;
	margin-bottom: 1em;
}

.asc-content {
	margin-top: 0;
}

.asc-content p:last-child {
	margin-bottom: 0;
}

/* ==========================================================================
   Right side blocks
   ========================================================================== */

.asc-block {
	margin-bottom: 1.25em;
}

.asc-block:last-child {
	margin-bottom: 0;
}

/* Heading blocks inherit browser heading defaults, reset top margin */
.asc-block-heading {
	margin-top: 0;
}

/* ==========================================================================
   List
   ========================================================================== */

.asc-block-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.asc-list-item {
	display: flex;
	align-items: center;
	gap: 10px; /* overridden by icon_spacing control */
}

/* Icon wrapper */
.asc-list-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 1;
}

.asc-list-icon svg {
	display: block;
}

.asc-list-item-text {
	line-height: 1.5;
}

/* ==========================================================================
   Divider
   ========================================================================== */

.asc-block-divider-wrap {
	display: flex;
	align-items: center;
}

.asc-block-divider {
	display: block;
	border: 0;
	border-top: 1px solid currentColor;
	margin: 0;
	width: 100%;
	opacity: 0.3;
}

/* ==========================================================================
   Mobile stacking
   ========================================================================== */

@media (max-width: 767px) {
	.asc-widget-inner.asc-stack-mobile {
		flex-direction: column;
	}

	.asc-widget-inner.asc-stack-mobile .asc-left-side,
	.asc-widget-inner.asc-stack-mobile .asc-right-side {
		flex: 0 0 100%;
		max-width: 100%;
		width: 100%;
	}
}

/* ==========================================================================
   Elementor editor: ensure live preview scrolls correctly
   ========================================================================== */

.elementor-editor-active .asc-widget {
	overflow: visible;
}
