/* =========================================================
   YCM About Section widget — structural layout only.
   Colors, typography and spacing are driven by the widget's
   Elementor Style controls, with the values below as fallbacks.
   ========================================================= */

.ycm-about {
	background-color: #fff;
	padding: 80px 0;
}

.ycm-about__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding-left: 24px;
	padding-right: 24px;
	display: flex;
	align-items: center;
	gap: 64px;
	box-sizing: border-box;
}

.ycm-about__media {
	flex: 1 1 50%;
	min-width: 0;
}

.ycm-about__content {
	flex: 1 1 50%;
	min-width: 0;
}

/* Image on the right variant (prefix_class = ycm-about--image-right) */
.ycm-about--image-right .ycm-about__inner {
	flex-direction: row-reverse;
}

/* --- Image card --- */
.ycm-about__card {
	background-color: #eff3ff;
	border-radius: 28px;
	padding: 32px;
}

.ycm-about__image-wrap {
	position: relative;
	line-height: 0;
}

.ycm-about__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 16px;
}

/* --- Verified badge --- */
.ycm-about__verified {
	position: absolute;
	right: 16px;
	bottom: 24px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background-color: #fff;
	color: #111;
	padding: 12px 18px;
	border-radius: 12px;
	box-shadow: 0 10px 24px rgba(16, 24, 40, 0.16);
	line-height: 1;
}

.ycm-about__verified-icon {
	display: inline-flex;
	color: #111;
}

.ycm-about__verified-text {
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
}

/* --- Badge --- */
.ycm-about__badge {
	display: inline-block;
	background-color: #ffe5a4;
	color: #5a4a1a;
	font-size: 15px;
	font-weight: 600;
	padding: 7px 16px;
	border-radius: 999px;
	margin-bottom: 22px;
}

/* --- Heading --- */
.ycm-about__heading {
	font-size: 48px;
	line-height: 1.1;
	font-weight: 800;
	color: #070707;
	margin: 0 0 22px;
}

/* --- Description --- */
.ycm-about__desc {
	font-size: 17px;
	line-height: 1.65;
	color: #374151;
	margin-bottom: 30px;
}

.ycm-about__desc p {
	margin: 0 0 18px;
}

.ycm-about__desc p:last-child {
	margin-bottom: 0;
}

/* --- Buttons --- */
.ycm-about__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.ycm-about__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	padding: 15px 26px;
	border-radius: 8px;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.ycm-about__btn--primary {
	background-color: #0f67fe;
	color: #fff;
}

.ycm-about__btn--primary:hover {
	background-color: #0b53d1;
	color: #fff;
}

.ycm-about__btn--secondary {
	background-color: #f1f1f1;
	color: #1f2937;
}

.ycm-about__btn--secondary:hover {
	background-color: #e4e6eb;
	color: #1f2937;
}

/* --- Responsive --- */
@media (max-width: 1024px) {
	.ycm-about__inner {
		gap: 44px;
	}
	.ycm-about__heading {
		font-size: 40px;
	}
}

@media (max-width: 767px) {
	.ycm-about {
		padding: 48px 0;
	}
	.ycm-about__inner,
	.ycm-about--image-right .ycm-about__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 32px;
	}
	.ycm-about__heading {
		font-size: 32px;
	}
	.ycm-about__card {
		padding: 20px;
	}
	.ycm-about__verified {
		right: 12px;
		bottom: 16px;
		padding: 10px 14px;
	}
	.ycm-about__verified-text {
		font-size: 14px;
	}
	.ycm-about__btn {
		flex: 1 1 auto;
	}
}

/* ---- Typography: title + content use Roboto ---- */
.ycm-about__badge,
.ycm-about__heading,
.ycm-about__desc,
.ycm-about__desc p,
.ycm-about__btn,
.ycm-about__verified-text {
	font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
}
