/**
 * BE Category Cards (home §4). Ported from reference site.css v41 (framed cards) only;
 * v38 / v39 / v40 are dead designs and are not ported. Every hard value reads a custom
 * property set by the widget's Style controls; the fallback in each var() is the reference.
 */

.e-con > .elementor-widget-be-category-cards,
.e-con-inner > .elementor-widget-be-category-cards {
	width: 100%;
}

.elementor-widget-be-category-cards .be-cc {
	padding-top: var(--be-cc-pt, 56px);
	padding-bottom: var(--be-cc-pb, 10px);
	font-family: var(--f);
	font-size: 15px;
	line-height: 1.7;
}

.elementor-widget-be-category-cards .be-cc.pad {
	padding-left: var(--gl, 32px);
	padding-right: var(--gr, 32px);
}

.elementor-widget-be-category-cards .wrap {
	max-width: var(--maxw, 1240px);
	margin: 0 auto;
}

.elementor-widget-be-category-cards .fcx {
	display: grid;
	grid-template-columns: repeat(var(--be-cc-cols, 4), minmax(0, 1fr));
	gap: var(--be-cc-gap, clamp(14px, 1.6vw, 24px));
}

.elementor-widget-be-category-cards .fc-li {
	display: flex;
	min-width: 0;
}

.elementor-widget-be-category-cards .fcx .fc {
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: var(--be-cc-pad, var(--be-cc-pad-d, 10px));
	border-radius: var(--be-cc-radius, var(--be-cc-radius-d, 22px));
	background: var(--be-cc-frame, #FBF7F1);
	border: 1px solid var(--be-cc-border, rgba(120, 90, 60, .12));
	box-shadow: 0 14px 34px var(--be-cc-shadow, rgba(60, 38, 20, .07));
	color: var(--be-cc-title, #1D1714);
	text-decoration: none;
	transition: transform var(--be-cc-speed, .45s) cubic-bezier(.2, .7, .2, 1), box-shadow var(--be-cc-speed, .45s);
}

.elementor-widget-be-category-cards .fcx a.fc:hover,
.elementor-widget-be-category-cards .fcx a.fc:focus {
	color: var(--be-cc-title, #1D1714);
}

.elementor-widget-be-category-cards .fcx a.fc:focus-visible {
	outline: 2px solid var(--amber, #B97F35);
	outline-offset: 3px;
}

.elementor-widget-be-category-cards .fc-ph {
	position: relative;
	display: block;
	aspect-ratio: var(--be-cc-ratio, 3 / 3.7);
	overflow: hidden;
	border-radius: var(--be-cc-ph-radius, var(--be-cc-ph-radius-d, 15px));
	background: var(--be-cc-ph-bg, #2A1A14);
}

.elementor-widget-be-category-cards .fc-ph img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: var(--be-cc-pos, 50% 28%);
	border-radius: 0;
	transition: transform calc(var(--be-cc-speed, .45s) * 2.222) cubic-bezier(.2, .7, .2, 1);
}

.elementor-widget-be-category-cards .fc-ph::after {
	content: "";
	position: absolute;
	inset: 10px;
	border-radius: 9px;
	border: 1px solid var(--be-cc-ph-line, rgba(243, 217, 160, .85));
	opacity: 0;
	transform: scale(1.04);
	transition: opacity var(--be-cc-speed, .45s), transform calc(var(--be-cc-speed, .45s) * 1.222) cubic-bezier(.2, .7, .2, 1);
	pointer-events: none;
}

.elementor-widget-be-category-cards .fc-tag {
	position: absolute;
	top: var(--be-cc-tag-inset, 14px);
	left: var(--be-cc-tag-inset, 14px);
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--be-cc-tag-bg, rgba(251, 247, 241, .88));
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	font-family: var(--f);
	font-size: 9.5px;
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--be-cc-tag, #1D1714);
}

.elementor-widget-be-category-cards .fc-cap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 8px 8px;
}

.elementor-widget-be-category-cards .fc-cap b {
	display: block;
	font-family: var(--f-didone);
	font-weight: 800;
	font-size: clamp(24px, 2vw, 32px);
	line-height: 1;
	color: var(--be-cc-title, #1D1714);
}

.elementor-widget-be-category-cards .fc-cap small {
	display: block;
	font-family: var(--f-serif);
	font-style: italic;
	font-size: 17px;
	line-height: 1.7;
	color: var(--be-cc-small, #8A6A4A);
	margin-top: 5px;
}

.elementor-widget-be-category-cards .fc-cap i {
	flex: none;
	width: var(--be-cc-arrow, var(--be-cc-arrow-d, 42px));
	height: var(--be-cc-arrow, var(--be-cc-arrow-d, 42px));
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-style: normal;
	color: var(--be-cc-arrow-icon, #1D1714);
	border: 1px solid var(--be-cc-arrow-border, rgba(60, 38, 20, .2));
	transition: background .35s, border-color .35s, color .3s, transform var(--be-cc-speed, .45s);
}

.elementor-widget-be-category-cards .fc-cap i svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: var(--be-cc-arrow-icon, #1D1714);
	stroke-width: 1.8;
	transition: stroke .3s, fill .3s;
}

/* Icons picked in the Arrow icon control (font icons / filled SVGs). */
.elementor-widget-be-category-cards .fc-cap i > i {
	font-size: 16px;
	width: auto;
	height: auto;
	border: 0;
}

.elementor-widget-be-category-cards .fc-cap i svg.e-font-icon-svg {
	fill: currentColor;
	stroke: none;
}

/* Hover (Animation section on; reduced motion keeps the still card). */
.elementor-widget-be-category-cards .be-cc[data-anim="1"] .fc:hover,
.elementor-widget-be-category-cards .be-cc[data-anim="1"] .fc:focus-visible {
	transform: translateY(var(--be-cc-lift, -8px));
	box-shadow: 0 26px 50px var(--be-cc-shadow-h, rgba(60, 38, 20, .16));
}

.elementor-widget-be-category-cards .be-cc[data-anim="1"] .fc:hover .fc-ph img,
.elementor-widget-be-category-cards .be-cc[data-anim="1"] .fc:focus-visible .fc-ph img {
	transform: scale(var(--be-cc-zoom, 1.07));
}

.elementor-widget-be-category-cards .be-cc[data-anim="1"] .fc:hover .fc-ph::after,
.elementor-widget-be-category-cards .be-cc[data-anim="1"] .fc:focus-visible .fc-ph::after {
	opacity: 1;
	transform: scale(1);
}

.elementor-widget-be-category-cards .be-cc[data-anim="1"] .fc:hover .fc-cap i,
.elementor-widget-be-category-cards .be-cc[data-anim="1"] .fc:focus-visible .fc-cap i {
	background: var(--be-cc-arrow-bg-h, #1D1714);
	border-color: var(--be-cc-arrow-bg-h, #1D1714);
	color: var(--be-cc-arrow-icon-h, #F3D9A0);
	transform: rotate(45deg);
}

.elementor-widget-be-category-cards .be-cc[data-anim="1"] .fc:hover .fc-cap i svg,
.elementor-widget-be-category-cards .be-cc[data-anim="1"] .fc:focus-visible .fc-cap i svg {
	stroke: var(--be-cc-arrow-icon-h, #F3D9A0);
}

.elementor-widget-be-category-cards .be-cc[data-anim="1"] .fc:hover .fc-cap i svg.e-font-icon-svg {
	stroke: none;
	fill: var(--be-cc-arrow-icon-h, #F3D9A0);
}

@media (max-width: 900px) {
	.elementor-widget-be-category-cards {
		--be-cc-arrow-d: 36px;
	}
}

@media (max-width: 480px) {
	.elementor-widget-be-category-cards {
		--be-cc-pad-d: 7px;
		--be-cc-radius-d: 18px;
		--be-cc-ph-radius-d: 12px;
		--be-cc-tag-inset: 10px;
	}

	.elementor-widget-be-category-cards .fc-cap {
		padding: 12px 4px 4px;
	}

	.elementor-widget-be-category-cards .fc-cap small {
		font-size: 15px;
	}

	.elementor-widget-be-category-cards .fc-tag {
		font-size: 8.5px;
		padding: 5px 9px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.elementor-widget-be-category-cards .fc,
	.elementor-widget-be-category-cards .fc-ph img,
	.elementor-widget-be-category-cards .fc-ph::after,
	.elementor-widget-be-category-cards .fc-cap i {
		transition: none;
	}

	.elementor-widget-be-category-cards .be-cc[data-anim="1"] .fc:hover,
	.elementor-widget-be-category-cards .be-cc[data-anim="1"] .fc:focus-visible,
	.elementor-widget-be-category-cards .be-cc[data-anim="1"] .fc:hover .fc-ph img,
	.elementor-widget-be-category-cards .be-cc[data-anim="1"] .fc:focus-visible .fc-ph img {
		transform: none;
	}
}
