/* Crafma Elementor Homepage Kit */
:root {
	--crafma-primary: var(--motta-color-primary, var(--e-global-color-primary, #cb2e67));
	--crafma-ink: #29252d;
	--crafma-muted: #6f6972;
	--crafma-border: #e2ded9;
	--crafma-warm: #fcfaf7;
	--crafma-plum: #30223b;
}

.crafma-shelf,
.crafma-editorial,
.crafma-tiles,
.crafma-regions,
.crafma-vendors,
.crafma-trust {
	max-width: 1400px;
	margin: 0 auto;
}

.crafma-shelf,
.crafma-tiles,
.crafma-regions,
.crafma-vendors {
	padding: 24px 0 30px;
}

.crafma-section-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 16px;
}

.crafma-section-heading h2 {
	margin: 0;
	color: var(--crafma-ink);
	font-size: clamp(21px, 1.55vw, 28px);
	font-weight: 650;
	line-height: 1.22;
	letter-spacing: -0.025em;
}

.crafma-section-heading__actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 0 0 auto;
}

.crafma-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 8px 18px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none !important;
	cursor: pointer;
	transition: transform .2s ease, background-color .2s ease;
}

.crafma-pill:hover { transform: translateY(-1px); }
.crafma-pill--soft { border: 0; color: var(--crafma-ink); background: #f2efec; }
.crafma-pill--outline { border: 1.5px solid var(--crafma-ink); color: var(--crafma-ink); background: transparent; }

.crafma-shelf__viewport,
.crafma-tiles__viewport {
	position: relative;
	min-width: 0;
}

.crafma-shelf__track,
.crafma-tiles__track,
.crafma-vendors__track {
	display: flex;
	gap: 17px;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	scroll-snap-type: inline proximity;
	scroll-behavior: smooth;
	scrollbar-width: none;
	padding: 2px 62px 8px 0;
}

.crafma-shelf__track::-webkit-scrollbar,
.crafma-tiles__track::-webkit-scrollbar,
.crafma-vendors__track::-webkit-scrollbar { display: none; }

.crafma-card {
	flex: 0 0 clamp(205px, 16.2vw, 244px);
	min-width: 0;
	scroll-snap-align: start;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	overflow: visible !important;
	transform: none !important;
}

.crafma-card__image-link,
.crafma-card__title,
.crafma-card__vendor { text-decoration: none !important; }

.crafma-card__media {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 11px;
	background: #f2efeb;
}

.crafma-card__media img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	object-fit: cover;
	transition: opacity .25s ease, transform .28s ease;
}

.crafma-card__hover-image { opacity: 0; }
.crafma-card:hover .crafma-card__hover-image { opacity: 1; }
.crafma-card:hover .crafma-card__media img { transform: scale(1.012); }

.crafma-card__badge {
	position: absolute;
	z-index: 2;
	top: 10px;
	left: 10px;
	padding: 6px 10px;
	border-radius: 999px;
	color: #fff;
	background: var(--crafma-primary);
	font-size: 12px;
	font-weight: 700;
}

.crafma-card__content { padding: 8px 2px 0; }

.crafma-card__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
	color: var(--crafma-ink) !important;
	font-size: 15px;
	font-weight: 450;
	line-height: 1.35;
}

.crafma-card__price {
	margin-top: 2px;
	color: var(--crafma-ink);
	font-size: 16px;
	font-weight: 650;
	line-height: 1.3;
}

.crafma-card__price del {
	color: var(--crafma-muted);
	font-size: .9em;
	font-weight: 450;
}

.crafma-card__price ins {
	color: #4f7f2d;
	text-decoration: none;
}

.crafma-card__vendor {
	display: block;
	margin-top: 3px;
	overflow: hidden;
	color: var(--crafma-muted) !important;
	font-size: 12px;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.crafma-shelf .crafma-shelf__viewport > button.crafma-shelf__arrow {
	position: absolute !important;
	z-index: 10 !important;
	top: clamp(100px, 8vw, 122px) !important;

	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 40px !important;

	box-sizing: border-box !important;
	inline-size: 40px !important;
	block-size: 40px !important;
	width: 40px !important;
	height: 40px !important;
	min-width: 40px !important;
	max-width: 40px !important;
	min-height: 40px !important;
	max-height: 40px !important;
	aspect-ratio: 1 / 1 !important;

	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	appearance: none !important;
	-webkit-appearance: none !important;

	color: #fff !important;
	background: var(--crafma-plum) !important;
	box-shadow: 0 5px 16px rgba(43, 34, 51, .22) !important;

	font-family: Arial, sans-serif !important;
	font-size: 27px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-indent: 0 !important;
	white-space: nowrap !important;

	cursor: pointer !important;
	transform: translateY(-50%) !important;
}

.crafma-shelf .crafma-shelf__arrow--prev { left: 8px !important; }
.crafma-shelf .crafma-shelf__arrow--next { right: 8px !important; }

.crafma-shelf .crafma-shelf__arrow:hover {
	background: var(--crafma-primary) !important;
	transform: translateY(-50%) scale(1.04) !important;
}

.crafma-shelf .crafma-shelf__arrow[hidden] {
	display: none !important;
}

.crafma-editorial {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(300px, .9fr);
	gap: 24px;
	padding: 34px 0 42px;
}

.crafma-editorial a { text-decoration: none !important; }

.crafma-editorial__main,
.crafma-editorial__side {
	position: relative;
	min-height: 390px;
	overflow: hidden;
	border-radius: 16px;
}

.crafma-editorial__main {
	display: grid;
	grid-template-columns: 1.08fr .92fr;
	background: #e6d4c5;
}

.crafma-editorial__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: clamp(28px, 4vw, 66px);
	color: var(--crafma-ink);
}

.crafma-editorial__copy h2,
.crafma-editorial__side h2 {
	margin: 0 0 12px;
	font-size: clamp(30px, 3.4vw, 52px);
	line-height: 1.03;
	letter-spacing: -0.045em;
}

.crafma-editorial__copy p {
	max-width: 440px;
	margin: 0 0 24px;
	font-size: 17px;
	line-height: 1.55;
}

.crafma-editorial__button {
	display: inline-flex;
	padding: 12px 20px;
	border-radius: 999px;
	color: #fff;
	background: var(--crafma-plum);
	font-size: 15px;
	font-weight: 650;
}

.crafma-editorial__visual,
.crafma-editorial__side {
	background-image: var(--crafma-bg, linear-gradient(135deg, #b58a74, #3d2939));
	background-position: center;
	background-size: cover;
}

.crafma-editorial__side {
	display: flex;
	align-items: flex-end;
}

.crafma-editorial__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 35%, rgba(20, 14, 23, .74));
}

.crafma-editorial__side-copy {
	position: relative;
	z-index: 2;
	padding: 30px;
	color: #fff;
}

.crafma-editorial__side h2 {
	max-width: 360px;
	margin-bottom: 8px;
	font-size: clamp(27px, 2.5vw, 39px);
}

.crafma-editorial__side-copy span { font-weight: 650; }

.crafma-tiles__track { gap: 16px; }

.crafma-tile {
	position: relative;
	flex: 0 0 clamp(220px, 17vw, 260px);
	aspect-ratio: 1 / .96;
	overflow: hidden;
	scroll-snap-align: start;
	border-radius: 12px;
	background-color: #e9dfd4;
	background-image: var(--crafma-bg, linear-gradient(135deg, #d6b59c, #694f57));
	background-position: center;
	background-size: cover;
	text-decoration: none !important;
}

.crafma-tile::after {
	content: "";
	position: absolute;
	inset: 45% 0 0;
	background: linear-gradient(transparent, rgba(19, 14, 20, .3));
}

.crafma-tile__label {
	position: absolute;
	z-index: 2;
	left: 50%;
	bottom: 15px;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	max-width: calc(100% - 24px);
	padding: 8px 14px;
	border-radius: 999px;
	color: var(--crafma-ink);
	background: rgba(255, 255, 255, .95);
	font-size: 14px;
	font-weight: 650;
	line-height: 1;
	white-space: nowrap;
	transform: translateX(-50%);
}

.crafma-regions__grid {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: 10px;
}

.crafma-region-card {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 132px;
	overflow: hidden;
	padding: 14px;
	border-radius: 12px;
	color: #fff !important;
	background-color: var(--crafma-plum);
	background-image:
		linear-gradient(145deg, rgba(203, 46, 103, .82), rgba(48, 34, 59, .92)),
		var(--crafma-region-image, none);
	background-position: center;
	background-size: cover;
	text-decoration: none !important;
	isolation: isolate;
	transition: transform .2s ease, box-shadow .2s ease;
}

.crafma-region-card:nth-child(3n + 2) {
	background-image:
		linear-gradient(145deg, rgba(158, 106, 63, .78), rgba(64, 48, 58, .92)),
		var(--crafma-region-image, none);
}

.crafma-region-card:nth-child(3n + 3) {
	background-image:
		linear-gradient(145deg, rgba(159, 79, 105, .78), rgba(48, 34, 59, .92)),
		var(--crafma-region-image, none);
}

.crafma-region-card--image {
	background-image:
		linear-gradient(180deg, rgba(20, 14, 23, .04) 15%, rgba(20, 14, 23, .78) 100%),
		var(--crafma-region-image);
}

.crafma-region-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(48, 34, 59, .18);
}

.crafma-region-card__shade {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, transparent 30%, rgba(20, 14, 23, .38) 100%);
}

.crafma-region-card__content {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
	text-shadow: 0 2px 10px rgba(0, 0, 0, .38);
}

.crafma-region-card__content strong {
	color: #fff !important;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
}

.crafma-region-card__content small {
	color: rgba(255, 255, 255, .9) !important;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.3;
}

.crafma-region-card--empty {
	filter: saturate(.72);
}

.crafma-region-card--empty .crafma-region-card__content small {
	opacity: .82;
}

.crafma-vendor {
	flex: 0 0 170px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	scroll-snap-align: start;
	color: var(--crafma-ink) !important;
	font-size: 14px;
	font-weight: 650;
	text-align: center;
	text-decoration: none !important;
}

.crafma-vendor img {
	width: 120px !important;
	height: 120px !important;
	margin: 0 !important;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 0 0 1px var(--crafma-border);
}

.crafma-trust {
	margin-top: 38px;
	padding: 28px 30px;
	border-radius: 16px;
	color: #fff;
	background: var(--crafma-plum);
}

.crafma-trust__intro {
	margin-bottom: 20px;
	font-size: clamp(18px, 1.5vw, 24px);
	text-align: center;
}

.crafma-trust__items {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.crafma-trust__items div {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	font-size: 14px;
	text-align: center;
}

.crafma-trust__items span {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid rgba(255,255,255,.35);
	border-radius: 50%;
}


/* Editorial side card stays readable on bright or busy images. */
.crafma-editorial__side {
	isolation: isolate;
}

.crafma-editorial__shade {
	z-index: 1;
	background: linear-gradient(
		180deg,
		rgba(20, 14, 23, .03) 18%,
		rgba(20, 14, 23, .18) 50%,
		rgba(20, 14, 23, .92) 100%
	);
}

.crafma-editorial__side-copy {
	z-index: 3;
	max-width: 92%;
}

.crafma-editorial__side-copy,
.crafma-editorial__side-copy h2,
.crafma-editorial__side-copy span {
	color: #fff !important;
}

.crafma-editorial__side-copy h2 {
	text-shadow: 0 2px 10px rgba(0, 0, 0, .48);
}

.crafma-editorial__side-copy > span {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 8px 14px;
	border: 1px solid rgba(255, 255, 255, .5);
	border-radius: 999px;
	background: rgba(20, 14, 23, .36);
	box-shadow: 0 4px 12px rgba(0, 0, 0, .12);
	text-shadow: 0 1px 4px rgba(0, 0, 0, .48);
}

/* Regional product archive. */
.crafma-region-archive__intro {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin: 0 0 24px;
	padding: 16px 18px;
	border: 1px solid var(--crafma-border);
	border-radius: 12px;
	background: var(--crafma-warm);
}

.crafma-region-archive__intro > div {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.crafma-region-archive__intro strong {
	color: var(--crafma-ink);
	font-size: 17px;
	line-height: 1.25;
}

.crafma-region-archive__intro span {
	color: var(--crafma-muted);
	font-size: 13px;
}

.crafma-region-archive__intro a {
	flex: 0 0 auto;
	padding: 9px 14px;
	border: 1px solid var(--crafma-ink);
	border-radius: 999px;
	color: var(--crafma-ink) !important;
	font-size: 13px;
	font-weight: 650;
	text-decoration: none !important;
}

.crafma-region-empty {
	padding: 24px !important;
	border-radius: 12px;
}

.crafma-region-empty strong {
	display: block;
	margin-bottom: 6px;
}

.crafma-region-empty p {
	margin: 0 0 14px;
}

@media (max-width: 1024px) {
	.crafma-card { flex-basis: clamp(190px, 27vw, 225px); }
	.crafma-editorial { grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr); }
	.crafma-editorial__main { grid-template-columns: 1fr; }
	.crafma-editorial__visual {
		position: absolute;
		inset: 0;
		opacity: .26;
	}
	.crafma-editorial__copy { position: relative; z-index: 2; }
	.crafma-regions__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 1024px) and (min-width: 768px) {
	.crafma-shelf .crafma-shelf__viewport > button.crafma-shelf__arrow {
		flex-basis: 36px !important;
		inline-size: 36px !important;
		block-size: 36px !important;
		width: 36px !important;
		height: 36px !important;
		min-width: 36px !important;
		max-width: 36px !important;
		min-height: 36px !important;
		max-height: 36px !important;
		font-size: 24px !important;
	}
}

@media (max-width: 767px) {
	.crafma-shelf,
	.crafma-tiles,
	.crafma-regions,
	.crafma-vendors { padding: 18px 0 24px; }

	.crafma-section-heading { align-items: flex-end; margin-bottom: 13px; }
	.crafma-section-heading__actions { gap: 7px; }
	.crafma-pill { min-height: 36px; padding: 7px 13px; font-size: 12px; }
	.crafma-pill--soft { display: none; }

	.crafma-shelf__track,
	.crafma-tiles__track,
	.crafma-vendors__track {
		gap: 10px;
		margin-right: -16px;
		padding-right: 34px;
	}

	.crafma-card { flex: 0 0 44vw; }
	.crafma-card__media { border-radius: 9px; }
	.crafma-card__title { -webkit-line-clamp: 2; font-size: 14px; }
	.crafma-card__price { font-size: 15px; }
	.crafma-card__vendor { display: none; }
	.crafma-shelf .crafma-shelf__viewport > button.crafma-shelf__arrow { display: none !important; }

	.crafma-editorial {
		grid-template-columns: 1fr;
		gap: 14px;
		padding: 22px 0 28px;
	}

	.crafma-editorial__main,
	.crafma-editorial__side { min-height: 330px; border-radius: 13px; }

	.crafma-editorial__copy {
		justify-content: flex-end;
		padding: 28px 24px;
		background: linear-gradient(90deg, rgba(234, 215, 198, .96), rgba(234, 215, 198, .62));
	}

	.crafma-editorial__copy h2 { font-size: 34px; }
	.crafma-editorial__copy p { font-size: 15px; }

	.crafma-tile { flex: 0 0 72vw; }
	.crafma-regions__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.crafma-region-card { min-height: 112px; }

	.crafma-region-archive__intro {
		align-items: flex-start;
		padding: 14px;
	}

	.crafma-region-archive__intro a {
		padding: 8px 11px;
		font-size: 12px;
	}

	.crafma-trust {
		margin-top: 24px;
		padding: 24px 18px;
		border-radius: 13px;
	}
	.crafma-trust__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.crafma-trust__items div { flex-direction: column; font-size: 12px; }
}

@media (max-width: 370px) {
	.crafma-card { flex-basis: 46vw; }
	.crafma-section-heading__actions .crafma-pill { padding-inline: 10px; }
}

/* Neutralize common Motta/WooCommerce product button layers inside this custom homepage. */
.crafma-shelf .button,
.crafma-shelf .add_to_cart_button,
.crafma-shelf [class*="quick-view"],
.crafma-shelf [class*="quickview"],
.crafma-shelf [class*="compare"] {
	display: none !important;
}


/* =========================================================
   CRAFMA DYNAMIC EDITORIAL CAMPAIGNS — v1.3.0
========================================================= */
.crafma-editorial .crafma-campaign-card {
	isolation: isolate;
	background: linear-gradient(135deg, #d9bba5, #4b3447);
}

.crafma-campaign-media {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.crafma-campaign-media img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	object-fit: cover;
}

.crafma-campaign-card--layout-split.crafma-editorial__main {
	background: var(--crafma-panel-color, #e8d6c6);
}

.crafma-campaign-card--layout-split .crafma-editorial__copy {
	position: relative;
	z-index: 3;
	background: var(--crafma-panel-color, #e8d6c6);
}

.crafma-campaign-card--layout-split .crafma-editorial__visual {
	position: relative;
	min-width: 0;
	background: linear-gradient(135deg, #b58a74, #3d2939);
}

.crafma-campaign-card--layout-full.crafma-editorial__main {
	display: flex;
	align-items: flex-end;
}

.crafma-campaign-card--layout-full .crafma-editorial__copy {
	position: relative;
	z-index: 4;
	max-width: 680px;
	color: #fff;
}

.crafma-campaign-card--layout-full .crafma-editorial__copy p,
.crafma-campaign-card--layout-full .crafma-editorial__copy h2 {
	color: inherit !important;
}

.crafma-campaign-overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
}

.crafma-campaign-card--overlay-none .crafma-campaign-overlay { background: transparent; }
.crafma-campaign-card--overlay-light .crafma-campaign-overlay { background: linear-gradient(180deg, rgba(20,14,23,.02), rgba(20,14,23,.45)); }
.crafma-campaign-card--overlay-medium .crafma-campaign-overlay { background: linear-gradient(180deg, rgba(20,14,23,.05), rgba(20,14,23,.68)); }
.crafma-campaign-card--overlay-strong .crafma-campaign-overlay { background: linear-gradient(180deg, rgba(20,14,23,.08) 15%, rgba(20,14,23,.32) 52%, rgba(20,14,23,.92) 100%); }

.crafma-campaign-card--theme-light,
.crafma-campaign-card--theme-light h1,
.crafma-campaign-card--theme-light h2,
.crafma-campaign-card--theme-light h3,
.crafma-campaign-card--theme-light p,
.crafma-campaign-card--theme-light span {
	color: #fff !important;
}

.crafma-campaign-card--theme-dark,
.crafma-campaign-card--theme-dark h1,
.crafma-campaign-card--theme-dark h2,
.crafma-campaign-card--theme-dark h3,
.crafma-campaign-card--theme-dark p {
	color: var(--crafma-ink) !important;
}

.crafma-campaign-card--theme-light h2,
.crafma-campaign-card--theme-light p {
	text-shadow: 0 2px 12px rgba(0,0,0,.42);
}

.crafma-campaign-card .crafma-editorial__button,
.crafma-campaign-side-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 10px 18px;
	border-radius: 999px;
	font-weight: 650;
}

.crafma-campaign-card--theme-light .crafma-editorial__button,
.crafma-campaign-card--theme-light .crafma-campaign-side-cta {
	border: 1px solid rgba(255,255,255,.5);
	background: rgba(31,22,35,.52);
	color: #fff !important;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.crafma-campaign-card--theme-dark .crafma-editorial__button {
	background: var(--crafma-plum);
	color: #fff !important;
}

.crafma-editorial__side-copy {
	z-index: 4;
}

.crafma-editorial__side-copy h2,
.crafma-editorial__side-copy span {
	color: #fff !important;
}

.crafma-campaign-card--no-image::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 75% 20%, rgba(255,255,255,.22), transparent 32%), linear-gradient(135deg, #b78477, #3b293f);
}

@media (max-width: 1024px) {
	.crafma-campaign-card--layout-split .crafma-editorial__visual {
		position: absolute;
		inset: 0;
		opacity: .3;
	}
	.crafma-campaign-card--layout-split .crafma-editorial__copy {
		background: linear-gradient(90deg, color-mix(in srgb, var(--crafma-panel-color, #e8d6c6) 96%, transparent), color-mix(in srgb, var(--crafma-panel-color, #e8d6c6) 65%, transparent));
	}
}

@media (max-width: 1024px) and (min-width: 768px) {
	.crafma-shelf .crafma-shelf__viewport > button.crafma-shelf__arrow {
		flex-basis: 36px !important;
		inline-size: 36px !important;
		block-size: 36px !important;
		width: 36px !important;
		height: 36px !important;
		min-width: 36px !important;
		max-width: 36px !important;
		min-height: 36px !important;
		max-height: 36px !important;
		font-size: 24px !important;
	}
}

@media (max-width: 767px) {
	.crafma-campaign-card--layout-split .crafma-editorial__visual {
		opacity: .42;
	}
	.crafma-campaign-card--layout-split .crafma-editorial__copy {
		background: linear-gradient(90deg, rgba(232,214,198,.97), rgba(232,214,198,.68));
	}
	.crafma-campaign-card--layout-full .crafma-editorial__copy {
		padding: 28px 24px;
	}
}
