/* =====================================================
   PRODUCT BANNER — .product_banner
   Divi Child Theme
   ===================================================== */

.product_banner {
	position: relative;
	min-height: 380px;
	display: flex !important;
	align-items: center;
	overflow: hidden;
	background-color: #1e1b18; /* fallback when no bg image is set */
}

/* Dark gradient overlay — fades left-to-right */
.product_banner::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		105deg,
		rgba(15, 12, 10, 0.70) 0%,
		rgba(15, 12, 10, 0.38) 55%,
		rgba(15, 12, 10, 0.10) 100%
	);
	z-index: 1;
	pointer-events: none;
}

/* Bring Divi children above the overlay */
.product_banner > .et_pb_row,
.product_banner > div {
	position: relative;
	z-index: 2;
	width: 100%;
}

/* ---- Heading: large serif + brand-red left bar ---- */

.product_banner h1,
.product_banner h2,
.product_banner h3,
.product_banner .page-title,
.product_banner .et_pb_text_inner h1,
.product_banner .et_pb_text_inner h2,
.product_banner .et_pb_text_inner h3 {
	font-family: orpheuspro, serif !important;
	font-size: clamp( 36px, 5vw, 72px ) !important;
	font-weight: 400 !important;
	line-height: 1.15 !important;
	color: #fff !important;
	text-transform: uppercase !important;
	letter-spacing: 3px !important;
	margin: 0 !important;
	padding: 8px 0 8px 28px !important;
	border-left: 3px solid #c8282a !important;
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35) !important;
}

/* ---- Supporting paragraph / subtext ---- */

.product_banner p,
.product_banner .et_pb_text_inner p {
	color: rgba(255, 255, 255, 0.75) !important;
	font-family: 'Raleway', sans-serif !important;
	font-size: 13px !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	margin: 16px 0 0 31px !important;
}

/* ---- Optional CTA button inside banner ---- */

.product_banner .cta-btn,
.product_banner a.et_pb_button {
	margin-left: 31px;
	margin-top: 28px;
}

/* ---- Responsive ---- */

@media all and (max-width: 980px) {
	.product_banner {
		min-height: 280px;
	}
	.product_banner h1,
	.product_banner h2,
	.product_banner h3,
	.product_banner .et_pb_text_inner h1,
	.product_banner .et_pb_text_inner h2 {
		font-size: clamp( 28px, 6vw, 48px ) !important;
		padding-left: 20px !important;
		letter-spacing: 2px !important;
	}
	.product_banner p,
	.product_banner .et_pb_text_inner p {
		margin-left: 23px !important;
	}
}

@media all and (max-width: 600px) {
	.product_banner {
		min-height: 220px;
	}
	.product_banner h1,
	.product_banner h2,
	.product_banner .et_pb_text_inner h1,
	.product_banner .et_pb_text_inner h2 {
		font-size: clamp( 22px, 7vw, 36px ) !important;
		letter-spacing: 1.5px !important;
		padding-left: 16px !important;
		border-left-width: 2px !important;
	}
}
