/**
 * MOVIN Section Heading Widget Styles
 * Editorial luxury, minimal, clean typography with animated highlight accents
 */

.movin-section-heading-wrapper {
	position: relative;
	width: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
}

/* Inner Container for Max-Width & Alignment */
.movin-heading-inner {
	width: 100%;
	max-width: var(--movin-heading-max-width, 100%);
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}

/* Alignment Classes */
.movin-heading-align-left .movin-heading-inner {
	align-items: flex-start;
	text-align: left;
	margin-left: 0;
}

.movin-heading-align-center .movin-heading-inner {
	align-items: center;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.movin-heading-align-right .movin-heading-inner {
	align-items: flex-end;
	text-align: right;
	margin-right: 0;
}

/* Subtitle / Eyebrow */
.movin-heading-subtitle-wrap {
	display: inline-flex;
	align-items: center;
	margin-bottom: var(--movin-sub-gap, 14px);
	line-height: 1.2;
}

.movin-heading-subtitle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: var(--movin-sub-pill-padding, 7px 22px);
	color: var(--movin-sub-color, #294437);
	transition: all 0.25s ease;
	letter-spacing: var(--movin-sub-letter-spacing, 0.06em);
	font-weight: var(--movin-sub-font-weight, 600);
	font-size: var(--movin-sub-font-size, 0.85rem);
	background: var(--movin-sub-pill-bg, linear-gradient(var(--movin-sub-grad-angle, 135deg), var(--movin-sub-grad-c1, #FFFFFF) 0%, var(--movin-sub-grad-c2, #FAF5EA) 45%, var(--movin-sub-grad-c3, #F4E6CB) 100%));
	border-width: var(--movin-sub-border-width, 1px);
	border-style: solid;
	border-color: var(--movin-sub-border-color, rgba(211, 160, 74, 0.35));
	border-radius: var(--movin-sub-pill-radius, 50px);
	box-shadow: var(--movin-sub-pill-shadow, 0 2px 10px rgba(211, 160, 74, 0.08));
}

.movin-heading-subtitle.is-pill {
	padding: var(--movin-sub-pill-padding, 7px 22px);
	border-radius: var(--movin-sub-pill-radius, 50px);
	background: var(--movin-sub-pill-bg, linear-gradient(var(--movin-sub-grad-angle, 135deg), var(--movin-sub-grad-c1, #FFFFFF) 0%, var(--movin-sub-grad-c2, #FAF5EA) 45%, var(--movin-sub-grad-c3, #F4E6CB) 100%));
	border-width: var(--movin-sub-border-width, 1px);
	border-style: solid;
	border-color: var(--movin-sub-border-color, rgba(211, 160, 74, 0.35));
	box-shadow: var(--movin-sub-pill-shadow, 0 2px 10px rgba(211, 160, 74, 0.08));
}

.movin-heading-subtitle.is-uppercase {
	text-transform: uppercase;
}

/* Subtitle Decorative Elements */
.movin-sub-decor {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--movin-sub-decor-color, currentColor);
	flex-shrink: 0;
}

.movin-sub-decor-line {
	width: var(--movin-decor-line-width, 24px);
	height: var(--movin-decor-line-height, 1.5px);
	background-color: currentColor;
	border-radius: 1px;
}

.movin-sub-decor-dot {
	width: var(--movin-decor-dot-size, 6px);
	height: var(--movin-decor-dot-size, 6px);
	border-radius: 50%;
	background-color: currentColor;
}

.movin-sub-decor-diamond {
	width: var(--movin-decor-dot-size, 6px);
	height: var(--movin-decor-dot-size, 6px);
	background-color: currentColor;
	transform: rotate(45deg);
}

.movin-sub-decor-icon svg {
	width: var(--movin-decor-icon-size, 14px);
	height: var(--movin-decor-icon-size, 14px);
	fill: currentColor;
}

.movin-sub-decor-before {
	margin-right: var(--movin-decor-gap, 10px);
}

.movin-sub-decor-after {
	margin-left: var(--movin-decor-gap, 10px);
}

/* Main Title */
.movin-heading-title-wrap {
	width: 100%;
	max-width: var(--movin-title-max-width, 100%);
	margin-bottom: var(--movin-title-gap, 14px);
}

.movin-heading-title {
	margin: 0;
	color: inherit;
	line-height: 1.25;
	word-break: break-word;
	word-break: break-word;
}

/* =========================================================
   MULTICOLOR HEADING ACCENTS
   ========================================================= */
.movin-heading-accent,
.movin-heading-highlight {
	display: inline;
	color: var(--movin-accent-color, #D3A04A);
	text-decoration: none !important;
	border: none !important;
	transition: color 0.2s ease;
}

.movin-heading-accent::after,
.movin-heading-highlight::after {
	display: none !important;
}

/* Description */
.movin-heading-desc-wrap {
	width: 100%;
	max-width: var(--movin-desc-max-width, 100%);
}

.movin-heading-desc {
	margin: 0;
	color: inherit;
	line-height: 1.65;
	word-break: break-word;
}

/* =========================================================
   RESPONSIVE TYPOGRAPHY & LAYOUT BREAKPOINTS
   ========================================================= */

/* Tablet Breakpoint (<= 1024px) */
@media (max-width: 1024px) {
	.movin-section-heading-wrapper {
		padding-left: 16px;
		padding-right: 16px;
	}

	.movin-heading-title {
		font-size: var(--movin-heading-title-tablet, clamp(26px, 3.8vw, 34px)) !important;
		line-height: 1.25;
	}

	.movin-heading-subtitle {
		padding: var(--movin-sub-pill-padding-tablet, 6px 18px);
		font-size: var(--movin-sub-font-size-tablet, 0.8rem);
	}

	.movin-heading-desc {
		font-size: var(--movin-desc-font-size-tablet, 0.95rem);
		line-height: 1.6;
	}
}

/* Mobile Breakpoint (<= 767px) */
@media (max-width: 767px) {
	.movin-section-heading-wrapper {
		padding-left: 14px;
		padding-right: 14px;
	}

	.movin-heading-subtitle-wrap {
		margin-bottom: 10px;
	}

	.movin-heading-subtitle {
		padding: 5px 15px;
		font-size: 0.76rem;
		letter-spacing: 0.04em;
	}

	.movin-heading-title {
		font-size: var(--movin-heading-title-mobile, clamp(22px, 6.2vw, 28px)) !important;
		line-height: 1.28;
	}

	.movin-heading-title-wrap {
		margin-bottom: 10px;
	}

	.movin-heading-desc {
		font-size: 0.88rem;
		line-height: 1.55;
	}

	.movin-sub-decor-line {
		width: 16px;
	}

	.movin-section-heading-wrapper {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/* Small Mobile Screen (<= 480px) */
@media (max-width: 480px) {
	.movin-heading-title {
		font-size: var(--movin-heading-title-mobile-small, clamp(20px, 6.5vw, 25px)) !important;
	}

	.movin-heading-subtitle {
		padding: 4px 12px;
		font-size: 0.72rem;
	}
}


