.fca-curb-appeal {
	--fca-primary-color: #0073aa;
	--fca-text-color: #333;
	--fca-header-font: 'Playfair Display', serif;
}

/* Hide Astra header elements that conflict */
.fca-curb-appeal-active .entry-header,
.fca-curb-appeal-active .ast-archive-description,
.fca-curb-appeal-active .ast-page-header-area,
.fca-curb-appeal-active header.entry-header,
.fca-curb-appeal-active .ast-title-bar,
.fca-curb-appeal-active .ast-breadcrumb-trail,
.fca-curb-appeal-active .page-header,
.fca-curb-appeal-active .ast-single-order,
.fca-curb-appeal-active .ast-single-entry-banner {
	display: none !important;
}

.fca-curb-appeal-active .ast-plain-container.ast-no-sidebar #primary {
	margin-top: 0 !important;
}

.fca-curb-appeal-active .site .site-content #primary .ast-article-single,
.fca-curb-appeal-active.ast-separate-container .site-content #secondary .widget,
.fca-curb-appeal-active .ast-article-single {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.fca-curb-appeal__header {
	background: #f4f4f4 !important;
	padding: 60px 0 !important;
	text-align: center !important;
	margin-bottom: 50px !important;
	width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	position: relative !important;
}

.fca-curb-appeal__title {
	font-family: var(--fca-header-font) !important;
	font-size: 64px !important;
	font-weight: 500 !important;
	color: #000 !important;
	margin: 0 0 20px !important;
}

.fca-curb-appeal__header-breadcrumbs {
	font-size: 16px !important;
	color: #666 !important;
}

.fca-curb-appeal__header-breadcrumbs a {
	color: #008080 !important;
	text-decoration: none !important;
}

.fca-curb-appeal__header-breadcrumbs span {
	margin: 0 5px !important;
}

.fca-curb-appeal__header-breadcrumbs .fca-current {
	color: #333 !important;
}

.fca-curb-appeal__description {
	max-width: 900px !important;
	margin: 0 auto 50px !important;
	text-align: center !important;
	padding: 0 20px !important;
}

.fca-curb-appeal__description p {
	font-size: 18px !important;
	line-height: 1.6 !important;
	color: #333 !important;
}

.fca-curb-appeal__filters-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.fca-curb-appeal__filters-form {
	display: flex;
	flex-wrap: nowrap;
	/* Prevent wrapping for labels/inputs */
	gap: 30px;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 50px;
}

.fca-curb-appeal__filters-label {
	display: block !important;
	font-size: 16px !important;
	color: #333 !important;
	margin-bottom: 20px !important;
	font-weight: 500 !important;
}

.fca-curb-appeal__filters-left,
.fca-curb-appeal__filters-right {
	display: flex !important;
	align-items: center !important;
	gap: 20px !important;
}

.fca-custom-select__trigger {
	width: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 12px 18px !important;
	background: #edf3ef !important;
	border: 1px solid #d1d1d1 !important;
	border-radius: 4px !important;
	cursor: pointer !important;
	font-size: 16px !important;
	color: #333 !important;
	transition: all 0.2s ease !important;
}

.fca-custom-select__trigger:hover {
	background: #d8e2db !important;
}

.fca-custom-select--category {
	width: 280px !important;
}

.fca-custom-select--category .fca-custom-select__trigger span {
	color: #333 !important;
	font-weight: 500 !important;
}

.fca-custom-select--sort {
	width: 140px !important;
}

.fca-curb-appeal__filters-sort-label {
	font-weight: 500 !important;
	color: #333 !important;
	font-size: 15px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	white-space: nowrap !important;
}

.fca-custom-select--sort .fca-custom-select__trigger {
	background: #fff !important;
	border: 1px solid #ddd !important;
	padding: 10px 15px !important;
	font-size: 15px !important;
}

.fca-custom-select.is-open .fca-custom-select__trigger {
	border-color: #999 !important;
}

.fca-chevron {
	width: 14px !important;
	height: 14px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: transform 0.3s ease !important;
	margin-left: 10px !important;
	margin-top: 0 !important;
	overflow: visible !important;
	text-indent: 0 !important;
	border: none !important;
	transform: none !important;
}

.fca-chevron svg {
	width: 100% !important;
	height: 100% !important;
	fill: #555 !important;
	display: block !important;
}

.fca-custom-select.is-open .fca-chevron {
	transform: rotate(180deg) !important;
}

.fca-custom-select {
	position: relative;
	display: block;
}

.fca-custom-select__options {
	position: absolute;
	top: calc(100% + 5px);
	left: 0;
	right: 0;
	background: #fff;
	border: 1px solid #d1d1d1;
	z-index: 1000;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: all 0.2s ease;
	box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
	padding: 5px 0;
	border-radius: 4px;
}

.fca-custom-select.is-open .fca-custom-select__options {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.fca-custom-select__option {
	padding: 12px 20px;
	cursor: pointer;
	font-size: 15px;
	color: #333;
	transition: background 0.2s ease;
}

.fca-custom-select__option:hover {
	background: #d8e2db;
}

.fca-custom-select__option.is-selected {
	background: #edf3ef;
	color: #333;
	font-weight: 500;
}

.fca-custom-select__option.is-selected:hover {
	background: #d8e2db;
}

/* Results alignment - Straight line */
.fca-curb-appeal__filters-results {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #777;
	font-size: 16px;
	white-space: nowrap;
}

.fca-results-count {
	font-size: 18px !important;
	color: #008080 !important;
	font-weight: 500 !important;
}

.fca-results-label {
	font-size: 16px !important;
	color: #666 !important;
}

.fca-curb-appeal__filters-sort-label {
	font-weight: 600;
	color: #666;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.fca-curb-appeal__grid-inner {
	max-width: 1200px;
	margin: 0 auto 80px;
	padding: 0 20px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.fca-curb-appeal__grid-item {
	border: none;
	background: none;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.fca-curb-appeal__grid-link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.fca-curb-appeal__grid-image {
	margin-bottom: 15px;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border: 1px solid #e9e9e9f2;
}

.fca-curb-appeal__grid-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.fca-curb-appeal__grid-content {
	padding: 0;
}

div#primary {
	margin-top: unset !important;
}

.fca-curb-appeal__grid-title {
	font-size: 15px;
	margin: 0 0 5px;
	font-weight: 500;
	color: #333;
}

.fca-curb-appeal__grid-price {
	font-weight: 400;
	color: #666;
	font-size: 15px;
	margin: 0;
}

.fca-curb-appeal__grid-pagination {
	grid-column: 1 / -1 !important;
	margin-top: 80px !important;
	border-top: 1px solid #eee !important;
	padding-top: 40px !important;
}

.fca-pagination-wrapper {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	position: relative !important;
}

.fca-pagination-links {
	display: flex !important;
	align-items: center !important;
	gap: 5px !important;
}

.fca-pagination-links .page-numbers {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 40px !important;
	height: 40px !important;
	color: #666 !important;
	text-decoration: none !important;
	font-size: 16px !important;
	border: 1px solid transparent !important;
	transition: all 0.2s ease !important;
}

.fca-pagination-links .page-numbers.current {
	background: #1b6d3f !important;
	color: #fff !important;
	border-radius: 2px !important;
}

.fca-pagination-links .page-numbers:not(.current):hover {
	background: #f0f0f0 !important;
}

/* Previous/Next styling */
.fca-pagination-links .prev,
.fca-pagination-links .next {
	padding: 0 15px !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	color: #000000 !important;
	font-size: 15px !important;
	cursor: pointer !important;
}

.fca-pagination-links .page-numbers.disabled {
	opacity: 0.5 !important;
	cursor: not-allowed !important;
	pointer-events: none !important;
}

.fca-prev-arrow,
.fca-next-arrow {
	width: 8px !important;
	height: 8px !important;
	border-top: 2px solid #999 !important;
	border-left: 2px solid #999 !important;
	display: inline-block !important;
}

.fca-prev-arrow {
	transform: rotate(-45deg) !important;
}

.fca-next-arrow {
	transform: rotate(135deg) !important;
}

.fca-pagination-show {
	position: absolute !important;
	right: 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 15px !important;
}

.fca-pagination-show label {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #666 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
}

.fca-custom-select--show-count {
	width: 140px !important;
}

.fca-custom-select--show-count .fca-custom-select__trigger {
	background: #fff !important;
	padding: 8px 15px !important;
}

@media (max-width: 1024px) {
	.fca-curb-appeal__grid-inner {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.fca-curb-appeal__grid-inner {
		grid-template-columns: 1fr;
	}

	.fca-curb-appeal__hero-title {
		font-size: 36px;
	}

	.fca-curb-appeal__filters-form {
		flex-direction: column;
		align-items: stretch;
	}

	.fca-curb-appeal__filters-meta {
		justify-content: space-between;
	}
}

/* =========================================================
   SINGLE PRODUCT PAGE
   ========================================================= */

/* Hide default Astra elements on single Curb Appeal posts */
body.single-curb_appeal .entry-header,
body.single-curb_appeal .ast-breadcrumb-trail,
body.single-curb_appeal .ast-page-header-area,
body.single-curb_appeal .page-header,
body.single-curb_appeal header.entry-header {
	display: none !important;
}

body.single-curb_appeal .ast-article-single,
body.single-curb_appeal #primary .ast-article-single,
body.single-curb_appeal .entry-content {
	padding: 0 !important;
	margin-top: 0 !important;
}

/* Page Wrapper */
.fca-single-wrap {
	/* Let Astra's container match header width; avoid double max-width/padding. */
	max-width: none !important;
	margin: 0 !important;
	padding: 0 0 80px !important;
	font-family: 'Inter', -apple-system, sans-serif;
	color: #333;
}

/* Ensure content aligns with Astra header container */
body.single-curb_appeal .site-content .ast-container,
body.single-curb_appeal .site-content .ast-container-fluid {
	max-width: var(--ast-container-width, 1200px) !important;
	padding-left: var(--ast-container-padding, 20px) !important;
	padding-right: var(--ast-container-padding, 20px) !important;
}

/* Breadcrumbs */
.fca-single-breadcrumb {
	padding: 20px 0;
	font-size: 13px;
	color: #666;
}

.fca-single-breadcrumb a {
	color: #2c5e2e;
	text-decoration: none;
}

.fca-single-breadcrumb a:hover {
	text-decoration: underline;
}

.fca-bc-sep {
	margin: 0 8px;
	color: #ccc;
}

/* Two-Column Layout */
.fca-single-columns {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(320px, 2fr);
	gap: 40px;
	align-items: stretch;
	margin-bottom: 50px;
}

/* Left Column */
.fca-single-left {
	display: flex;
	flex-direction: column;
	min-height: 0;
}

.fca-single-title {
	font-size: 32px;
	font-weight: 500;
	color: #333333;
	margin: 0 0 20px;
	font-family: 'Playfair Display', serif;
}

.fca-single-sku {
	font-size: 14px;
	color: #777;
	margin-bottom: 25px;
}

.fca-single-sku span {
	color: #2c5e2e;
	font-weight: 600;
}

/* Custom Slider */
body.single-curb_appeal .fca-custom-slider-wrap {
	margin-bottom: 20px !important;
	width: 100%;
	/* Fill remaining left-column height so image aligns with form box */
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
}

body.single-curb_appeal .fca-custom-slider-wrap .fca-gallery-main-container {
	position: relative !important;
	border: 1px solid #eee !important;
	background: #fff !important;
	overflow: hidden !important;
	flex: 0 0 auto !important;
	width: 100% !important;
	aspect-ratio: 4 / 5 !important;
	/* Stable aspect ratio */
	display: block !important;
}

body.single-curb_appeal .fca-custom-slider-wrap .fca-gallery-main-slider {
	position: relative !important;
	width: 100% !important;
	height: 100% !important;
}

body.single-curb_appeal .fca-custom-slider-wrap.fca-is-single .fca-gallery-main-slider {
	position: static;
	height: auto;
}

body.single-curb_appeal .fca-custom-slider-wrap .fca-gallery-slide {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	opacity: 0 !important;
	visibility: hidden !important;
	transition: opacity 0.4s ease, visibility 0.4s !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.single-curb_appeal .fca-custom-slider-wrap .fca-gallery-slide.is-hidden {
	display: none !important;
}

body.single-curb_appeal .fca-custom-slider-wrap .fca-gallery-slide.is-active {
	opacity: 1 !important;
	visibility: visible !important;
	z-index: 2 !important;
	position: relative !important;
	/* Allow it to keep space if aspect ratio is missing, but stable container is better */
	height: 100% !important;
}

body.single-curb_appeal .fca-custom-slider-wrap .fca-gallery-slide img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	/* Natural fit */
	background: #fff !important;
	display: block !important;
}

body.single-curb_appeal .fca-custom-slider-wrap .fca-gallery-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block !important;
}

/* Use contain for single images to show full product without cropping */
body.single-curb_appeal .fca-custom-slider-wrap.fca-is-single .fca-gallery-slide img {
	object-fit: contain !important;
	height: auto !important;
	max-height: 70vh !important;
}

/* Arrows */
.fca-custom-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(0, 0, 0, 0.12);
	width: 44px;
	height: 44px;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	color: #2c5e2e;
	transition: all 0.2s;
	padding: 0;
	line-height: 1;
}

.fca-custom-arrow:hover {
	background: #ffffff;
	border-color: rgba(0, 0, 0, 0.22);
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
}

.fca-custom-arrow svg {
	width: 20px;
	height: 20px;
	fill: #2c5e2e;
	/* Default color matched to text */
	transition: fill 0.2s;
}

.fca-custom-arrow:hover svg {
	fill: #2c5e2e;
}

/* User specifically asked for white color in all states for arrows */
.fca-custom-arrow {
	background: rgba(44, 94, 46, 0.8) !important;
	/* Dark green background */
	border: none !important;
}

.fca-custom-arrow svg {
	fill: #ffffff !important;
}

.fca-custom-arrow:hover {
	background: rgba(44, 94, 46, 1) !important;
}

.fca-prev {
	left: 15px;
}

.fca-next {
	right: 15px;
}

/* Thumbnails */
.fca-gallery-thumbs-custom {
	display: none !important;
}

.fca-thumb-item {
	flex: 0 0 80px;
	height: 80px;
	cursor: pointer;
	border: 2px solid transparent;
	transition: border-color 0.2s;
	opacity: 0.6;
}

.fca-thumb-item:hover {
	opacity: 1;
}

.fca-thumb-item.is-active {
	border-color: #2c5e2e;
	opacity: 1;
}

.fca-thumb-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

@media (max-width: 768px) {
	.fca-gallery-main-container {
		height: 350px;
	}
}

/* Right Column / Purchase Box */
.fca-single-right {
	position: sticky;
	top: 120px;
}

.fca-purchase-box {
	border: 1px solid #e5e5e5;
	border-radius: 4px;
	padding: 30px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
	height: auto;
	min-height: 400px;
	/* Ensure it's never too small */
	display: block !important;
	/* Ensure visibility */
}

.fca-cta-text {
	font-size: 17px;
	font-weight: 600;
	color: #333;
	margin-bottom: 15px;
	line-height: 1.4;
}

.fca-cta-text a {
	color: #333333 !important;
	text-decoration: none;
}

.fca-price-display {
	font-size: 24px;
	font-weight: 700;
	color: #333;
	margin-bottom: 5px;
}

.fca-ship-note {
	font-size: 13px;
	color: #333333;
	margin-bottom: 20px;
}

.fca-product-name-select {
	margin-bottom: 25px;
}

.fca-product-name-select .fca-custom-select {
	margin-bottom: 15px;
}

.fca-product-name-select .fca-custom-select:last-child {
	margin-bottom: 0;
}

.fca-product-name-select label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #666;
	margin-bottom: 8px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.fca-product-name-select select {
	width: 100%;
	padding: 12px 40px 12px 12px;
	border: 1px solid #ddd;
	background: #f9f9f9;
	color: #555;
	border-radius: 3px;
	appearance: none;
	cursor: default;
	line-height: 1.2;
	min-height: 44px;
	box-sizing: border-box;
}

/* Form Styles */
.fca-purchase-form {
	margin-top: 20px;
}

/* Gravity Forms styling (scoped + !important to avoid Astra conflicts) */
body.single-curb_appeal .fca-purchase-form .gform_wrapper,
body.single-curb_appeal .fca-purchase-form .gform_wrapper * {
	box-sizing: border-box !important;
}

body.single-curb_appeal .fca-purchase-form .gform_wrapper {
	margin: 0 !important;
}

body.single-curb_appeal .fca-purchase-form .gform_wrapper .gfield_label,
body.single-curb_appeal .fca-purchase-form .gform_wrapper .gform-field-label {
	font-size: 17px !important;
	font-weight: 500 !important;
	color: #666 !important;
	margin-bottom: 6px !important;
}

body.single-curb_appeal .fca-purchase-form .gform_wrapper .gfield_required,
body.single-curb_appeal .fca-purchase-form .gform_wrapper .gfield_required_text {
	color: #c00 !important;
	font-weight: 600 !important;
}

/* Replace "(Required)" with "*" (visual only) */
body.single-curb_appeal .fca-purchase-form .gform_wrapper .gfield_required_text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

body.single-curb_appeal .fca-purchase-form .gform_wrapper .gfield_required::after {
	content: "*" !important;
	color: #c00 !important;
	margin-left: 2px !important;
}

body.single-curb_appeal .fca-purchase-form .gform_wrapper .gfield {
	margin: 0 0 14px !important;
}

body.single-curb_appeal .fca-purchase-form .gform_wrapper input[type="text"],
body.single-curb_appeal .fca-purchase-form .gform_wrapper input[type="email"],
body.single-curb_appeal .fca-purchase-form .gform_wrapper input[type="tel"],
body.single-curb_appeal .fca-purchase-form .gform_wrapper input[type="number"],
body.single-curb_appeal .fca-purchase-form .gform_wrapper select,
body.single-curb_appeal .fca-purchase-form .gform_wrapper textarea {
	width: 100% !important;
	max-width: 100% !important;
	padding: 12px !important;
	border: 1px solid #ddd !important;
	border-radius: 3px !important;
	background: #fff !important;
	color: #333 !important;
	font-size: 14px !important;
	line-height: 1.2 !important;
	min-height: 44px !important;
	box-shadow: none !important;
}

body.single-curb_appeal .fca-purchase-form .gform_wrapper textarea {
	min-height: 120px !important;
	resize: vertical !important;
}

body.single-curb_appeal .fca-purchase-form .gform_wrapper select {
	padding-right: 40px !important;
	appearance: none !important;
	background-color: #fff !important;
	background-repeat: no-repeat !important;
	background-position: right 12px center !important;
	background-size: 10px 10px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

body.single-curb_appeal .fca-product-name-select select {
	background-repeat: no-repeat !important;
	background-position: right 12px center !important;
	background-size: 10px 10px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

body.single-curb_appeal .fca-purchase-form .gform_wrapper input[type="text"]:focus,
body.single-curb_appeal .fca-purchase-form .gform_wrapper input[type="email"]:focus,
body.single-curb_appeal .fca-purchase-form .gform_wrapper input[type="tel"]:focus,
body.single-curb_appeal .fca-purchase-form .gform_wrapper select:focus,
body.single-curb_appeal .fca-purchase-form .gform_wrapper textarea:focus {
	outline: none !important;
	border-color: #2c5e2e !important;
}

body.single-curb_appeal .fca-purchase-form .gform_wrapper .gform_footer {
	margin: 16px 0 0 !important;
	padding: 0 !important;
}

body.single-curb_appeal .fca-purchase-form .gform_wrapper .gform_footer input[type="submit"],
body.single-curb_appeal .fca-purchase-form .gform_wrapper .gform_footer input[type="button"],
body.single-curb_appeal .fca-purchase-form .gform_wrapper .gform_footer button[type="submit"] {
	width: 100% !important;
	display: block !important;
	padding: 16px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: #2c5e2e !important;
	color: #ffffff !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	text-transform: none !important;
	box-shadow: none !important;
	min-height: 48px !important;
	transition: filter 0.2s ease, transform 0.2s ease !important;
}

body.single-curb_appeal .fca-purchase-form .gform_wrapper .gform_footer input[type="submit"]:hover,
body.single-curb_appeal .fca-purchase-form .gform_wrapper .gform_footer button[type="submit"]:hover {
	filter: brightness(0.92) !important;
	transform: translateY(-1px) !important;
}

body.single-curb_appeal .fca-purchase-form .gform_wrapper .ginput_counter {
	font-size: 12px !important;
	color: #888 !important;
	margin-top: 6px !important;
}

.fca-disclaimer {
	font-size: 12px;
	color: #333333;
	margin-top: 20px;
	line-height: 1.5;
	border-top: 1px solid #eee;
	padding-top: 15px;
}

/* Description Section (Full Width) */
.fca-description-section {
	margin-bottom: 60px;
}

.fca-description-heading {
	font-size: 18px;
	font-weight: 600;
	color: #2c5e2e;
	margin-bottom: 15px;
}

.fca-description-body {
	font-size: 15px;
	line-height: 1.7;
	color: #555;
	max-width: 700px !important;
}

/* Related Products Section */
.fca-related-section {
	border-top: 1px solid #eee !important;
	padding-top: 40px !important;
	max-width: 1100px !important;
	margin: 40px auto 0 !important;
}

.fca-related-section.fca-related--static .fca-related-arrows {
	display: none !important;
}

.fca-related-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 30px;
}

.fca-related-title {
	font-size: 28px;
	font-family: 'Playfair Display', serif;
	color: #2c5e2e;
	margin: 0;
	font-weight: 400;
}

.fca-related-arrows {
	display: flex;
	gap: 10px;
}

.fca-rel-prev,
.fca-rel-next {
	width: 28px !important;
	height: 28px !important;
	border: 1px solid #2c5e2e !important;
	background: #fff !important;
	color: #2c5e2e !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	font-size: 20px !important;
	line-height: 1 !important;
	transition: all 0.2s !important;
	border-radius: 0 !important;
	padding: 0 !important;
}

.fca-rel-prev:hover,
.fca-rel-next:hover {
	background: #2c5e2e !important;
	color: #fff !important;
}

.fca-related-track {
	margin: 0 -5px !important;
	display: block !important;
}

.fca-related-track.fca-related-static {
	display: flex !important;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: stretch;
}

.fca-related-item {
	padding: 0 5px;
}

.fca-related-track.fca-related-static .fca-related-item {
	flex: 0 0 25%;
	max-width: 25%;
}

.fca-related-track.fca-related-static .fca-related-img-wrap {
	width: 100%;
}

.fca-related-link {
	text-decoration: none;
	color: inherit;
	display: block;
}

.fca-related-img-wrap {
	margin-bottom: 6px !important;
	aspect-ratio: 1 / 1.1 !important;
	/* Slightly taller aspect ratio */
	overflow: hidden !important;
	background: #f9f9f9 !important;
}

.fca-related-img-wrap img {
	width: 100% !important;
	height: 100% !important;
	display: block !important;
	object-fit: contain !important;
}

.fca-related-info {
	padding: 0 !important;
}

.fca-related-name {
	font-size: 13px !important;
	color: #777 !important;
	margin: 0 0 2px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	text-transform: none !important;
}

.fca-related-price {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #000 !important;
	margin: 0 !important;
}

/* Responsive */
@media (max-width: 1024px) {
	.fca-single-columns {
		grid-template-columns: 1fr;
	}

	.fca-single-right {
		position: static;
	}

	.fca-related-track.fca-related-static .fca-related-item {
		flex-basis: 33.3333%;
		max-width: 33.3333%;
	}
}

@media (max-width: 768px) {
	.fca-gallery-slide img {
		height: 350px;
	}

	.fca-related-track.fca-related-static .fca-related-item {
		flex-basis: 50%;
		max-width: 50%;
	}
}

@media (max-width: 480px) {
	.fca-related-track.fca-related-static .fca-related-item {
		flex-basis: 100%;
		max-width: 100%;
	}
}

/* =========================================================
   CATEGORY TILE GRID
   ========================================================= */

.fca-cat-grid {
	max-width: 1200px;
	margin: 0 auto 80px;
	padding: 0 20px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.fca-cat-item {
	position: relative;
	display: block;
	overflow: hidden;
	text-decoration: none;
	aspect-ratio: 1 / 1;
	border: 1px solid #e9e9e9;
	cursor: pointer;
	background: #166938;
}

.fca-cat-item__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.fca-cat-item__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 1500ms ease;
}

.fca-cat-item:hover .fca-cat-item__image img {
	transform: scale(1.15);
}

.fca-cat-item__placeholder {
	width: 100%;
	height: 100%;
	background: #e0e0e0;
}

/* Hover effect for image overlay */
.fca-cat-item__hover-overlay {
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0);
	transition: background-color 1500ms ease;
	z-index: 1;
}

.fca-cat-item:hover .fca-cat-item__hover-overlay {
	background-color: rgba(0, 0, 0, .3);
}

.fca-cat-item__image img {
	z-index: 0;
}

/* Green strip styling */
.fca-cat-item__strip {
	background-color: #166938;
	padding: 20px;
	text-align: center;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 2;
	transition: background-color 0.3s ease;
}

.fca-cat-item:hover .fca-cat-item__strip {
	background-color: #83ce2c;
}

/* Category title text */
.fca-cat-item__title {
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	transition: color 0.3s ease;
	display: block;
}

.fca-cat-item:hover .fca-cat-item__title {
	color: #fff;
}

/* Responsive */
@media (max-width: 1024px) {
	.fca-cat-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.fca-cat-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.fca-cat-item {
		aspect-ratio: 4 / 3;
	}
	.fca-pagination-wrapper {
		flex-direction: column !important;
		gap: 20px !important;
	}

	.fca-pagination-show {
		position: static !important;
		justify-content: center !important;
	}
}