:root {
	--cta-bg: #4F6B57;
	--cta-bg-hover: #90AA76;
	--cta-text: #ffffff;
	--border-color: #ddd;
	--box-shadow-color: #000;
}

/* Drupal default for body links */
.node__content .field--name-body a:not(.nostyle) {
	color: blue !important;
	border-bottom: 1px dotted #ad141e;
}

/* Override Drupal's default link styles inside our container for product cards only */
#brand-blog a.product-card-link {
	text-decoration: none !important;
	border-bottom: none !important;
	color: inherit !important;
}

/* Re-instate the hover effect so that when hovering on the product card, the CTA button changes */
#brand-blog a.product-card-link:hover .cta-button {
	background-color: var(--cta-bg-hover);
}

/* Basic Global Styles inside #brand-blog */
#brand-blog h2.article-title,
#brand-blog h3.section-title,
#brand-blog h4.product-title {
	margin: 0;
}
#brand-blog p {
	margin-bottom: 1.5em;
}
#brand-blog .cta-button {
	display: inline-block;
	background-color: var(--cta-bg);
	color: var(--cta-text) !important;
	padding: 10px 20px;
	text-decoration: none;
	border-radius: 5px;
	margin-top: 10px;
	text-align: center;
	transition: background-color 0.3s;
}
/* CTA button's own hover (redundant if hover on product card is desired) */
#brand-blog .cta-button:hover {
	background-color: var(--cta-bg-hover);
}

/* =========================================================
   BLOG BUTTON STYLES
   ========================================================= */

.blog_btn {
	margin: 0;
	padding: 8px 24px;
	border-radius: 4px;
	font-family: "Open Sans", sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	text-transform: uppercase;
	text-wrap: nowrap;
	cursor: pointer;
	transition: all 0.4s ease-in-out;
	border: 2px solid transparent;
	display: inline-block;
	text-decoration: none;
}

/* White button variant */
.blog_btn_white {
	background-color: #fff;
	border-color: #fff;
	color: #000;
}
.blog_btn_white:hover {
	background-color: transparent;
	color: #fff;
	border-color: #fff;
}

/* Green button variant */
.blog_btn_green {
	background-color: #4f6b57;
	border-color: #4f6b57;
	color: #ebefe7;
}
.blog_btn_green:hover {
	background-color: #213629;
	border-color: #213629;
	color: #fff;
}

/* =========================================================
   FORCE COLOR FIX FOR DRUPAL OVERRIDES
   ========================================================= */

/* Explicitly override Drupal’s blue link color with button variants */
#brand-blog a.blog_btn.blog_btn_green {
	color: #ebefe7 !important;
	border-bottom: none !important;
}
#brand-blog a.blog_btn.blog_btn_green:hover {
	color: #fff !important;
}

#brand-blog a.blog_btn.blog_btn_white {
	color: #000 !important;
	border-bottom: none !important;
}
#brand-blog a.blog_btn.blog_btn_white:hover {
	color: #fff !important;
}

/* =============================
   Product Card Styles
   ============================= */
#brand-blog .product-placement {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	border: 1px solid var(--border-color);
	padding: 20px;
	margin: 20px;
	border-radius: 8px;
	box-shadow: 0 4px 10px var(--box-shadow-color);
	background-color: #fff;
}

/* Text-with-image section (if used elsewhere) */
.text-with-image {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 20px;
}
.text-with-image img {
	width: 100%;
	max-width: 300px;
	height: auto;
	flex-shrink: 1;
}

#brand-blog .text-with-image .section-text {
	flex: 1;
	min-width: 300px;
	white-space: normal;
	margin: 0;
}

@media (max-width: 768px) {
	#brand-blog .text-with-image {
		flex-direction: column;
		align-items: center;
	}
	#brand-blog .text-with-image img {
		width: 100%;
		max-width: 450px;
	}
	.text-with-image .section-text {
		flex: 1 1 0;
		min-width: 0;
		max-width: 100%;
		word-wrap: break-word;
		overflow-wrap: break-word;
	}
}

/* For larger screens: side-by-side layout for product cards */
@media (min-width: 769px) {
	#brand-blog .product-placement {
		flex-direction: row;
		align-items: stretch;
	}
	#brand-blog .product-image-container {
		flex: 0 0 300px;
		height: 300px;
		margin: auto;
	}
	#brand-blog .product-image {
		width: 100%;
		height: 100%;
		object-fit: contain;
		object-position: center;
	}
	#brand-blog .product-details {
		flex: 1;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
}

/* For smaller screens: stacked layout for product cards */
@media (max-width: 768px) {
	#brand-blog .product-placement {
		flex-direction: column;
		align-items: center;
	}
	#brand-blog .product-image-container {
		width: 100%;
		max-width: 200px;
		height: auto;
		margin: 0 auto 20px auto;
	}
	#brand-blog .product-image {
		width: 100%;
		height: auto;
		object-fit: contain;
		object-position: center;
	}
	#brand-blog .product-details {
		width: 100%;
		display: flex;
		flex-direction: column;
	}
	#brand-blog .cta-button {
		margin: auto;
		width: 50%;
	}
}

/* Additional styling for product details */
#brand-blog .product-title {
	margin: 0 0 15px 0;
	font-size: 1.4em;
}
#brand-blog .product-description {
	margin: 0 0 15px 0;
}