/**
 * Knotiva Rugs — homepage storytelling
 */

/* -------------------------------------------------------------------------
   Header on homepage — always solid burgundy (never white-on-white)
   ------------------------------------------------------------------------- */

body.home #masthead.site-header,
body.home #masthead.site-header.fixed,
body.home #masthead.site-header.ast-header-sticked,
body.home #masthead.site-header.ast-sticky-active,
body.home #masthead.site-header.knotiva-scrolled,
body.home.ast-primary-sticky-header-active #masthead.site-header,
body.home.ast-theme-transparent-header #masthead.site-header,
body.home.ast-header-break-point #masthead.site-header,
body.home #masthead .ast-primary-header-bar,
body.home #masthead .main-header-bar,
body.home #masthead .ast-mobile-header-wrap,
body.home #masthead .ast-main-header-wrap {
	background: var(--k-burgundy) !important;
	background-image: none !important;
	background-color: var(--k-burgundy) !important;
}

body.home #masthead .menu-link,
body.home #masthead .ast-builder-menu .menu-link,
body.home #masthead .main-header-menu .menu-link,
body.home #masthead .ast-header-button-1 a,
body.home #masthead .ast-mobile-menu-buttons,
body.home #masthead .menu-toggle,
body.home #masthead .ast-button-toggle,
body.home #masthead .k-header-search-toggle {
	color: #fff !important;
	filter: none !important;
}

body.home #masthead .menu-link::after {
	background: #fff !important;
}

body.home #masthead .site-logo-img img,
body.home #masthead .custom-logo {
	filter: brightness(0) invert(1) !important;
	opacity: 1 !important;
}

body.home #masthead .ast-header-woo-cart .ast-site-header-cart,
body.home #masthead .ast-header-woo-cart a,
body.home #masthead .ast-icon svg,
body.home #masthead .ast-icon {
	color: #fff !important;
	fill: #fff !important;
	stroke: #fff !important;
}

body.home .site-content,
body.home #page {
	overflow-x: clip;
	padding-top: 0;
}

/* -------------------------------------------------------------------------
   Hero
   ------------------------------------------------------------------------- */

body.home .elementor-element-8f520ed,
body.home .elementor-background-slideshow {
	min-height: 88vh;
}

body.home .elementor-element-8f520ed {
	position: relative;
}

body.home .elementor-element-8f520ed::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 55%;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.62), rgba(0, 0, 0, 0.15) 55%, transparent);
	pointer-events: none;
	z-index: 1;
}

body.home .elementor-element-8f520ed > .elementor-container,
body.home .elementor-element-8f520ed > .e-con-inner,
body.home .elementor-element-8f520ed > .elementor-widget-container {
	position: relative;
	z-index: 2;
}

body.home .elementor-element-8f520ed .e-con-inner,
body.home .elementor-element-8f520ed > .elementor-container {
	padding-top: clamp(5.5rem, 14vh, 8rem) !important;
	padding-bottom: clamp(3.5rem, 10vh, 6rem) !important;
	box-sizing: border-box;
}

body.home .elementor-element-8f520ed h1.elementor-heading-title,
body.home .elementor-element-8f520ed .elementor-element-6b6c785 h1.elementor-heading-title,
body.home .elementor-element-8f520ed .elementor-widget-heading h1,
body.home .elementor-element-8f520ed .hfe-infocard-title,
body.home .elementor-element-6b6c785 .hfe-infocard-title,
body.home h1.hfe-infocard-title {
	font-family: var(--k-font-display) !important;
	font-size: clamp(2.75rem, 5vw, 4rem) !important;
	font-weight: 600 !important;
	line-height: 1.12 !important;
	font-style: italic;
	text-transform: none !important;
	color: var(--k-white) !important;
}

body.home .elementor-element-8f520ed h6.elementor-heading-title {
	font-family: var(--k-font-ui) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: rgba(255, 255, 255, 0.85) !important;
}

/* Hero CTAs — rank primary / outline / text */
body.home .elementor-element-8f520ed .elementor-button {
	font-family: var(--k-font-ui) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em !important;
	min-height: var(--k-btn-h) !important;
	line-height: 1 !important;
	padding: 0 1.5rem !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: var(--k-radius) !important;
}

body.home .elementor-element-8f520ed .elementor-button-wrapper:first-child .elementor-button,
body.home .elementor-element-8f520ed a.elementor-button[href*="/shop"] {
	background: var(--k-white) !important;
	color: var(--k-ink) !important;
	border: 1px solid var(--k-white) !important;
}

body.home .elementor-element-8f520ed .elementor-button-wrapper:first-child .elementor-button:hover,
body.home .elementor-element-8f520ed a.elementor-button[href*="/shop"]:hover {
	background: transparent !important;
	color: var(--k-white) !important;
}

body.home .elementor-element-8f520ed a.elementor-button[href*="custom"] {
	background: transparent !important;
	color: var(--k-white) !important;
	border: 1px solid rgba(255, 255, 255, 0.85) !important;
	box-shadow: none !important;
}

body.home .elementor-element-8f520ed a.elementor-button[href*="whatsapp"],
body.home .elementor-element-8f520ed a.elementor-button[href*="api.whatsapp"] {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	color: var(--k-white) !important;
	text-decoration: underline !important;
	text-underline-offset: 4px;
	padding-left: 0.5rem !important;
	padding-right: 0.5rem !important;
}

body.home .elementor-element-8f520ed::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 1.5rem;
	width: 1px;
	height: 36px;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0.7), transparent);
	transform: translateX(-50%);
	z-index: 3;
	pointer-events: none;
	animation: k-scroll-cue 1.8s var(--k-ease) infinite;
}

@keyframes k-scroll-cue {
	0%,
	100% {
		opacity: 0.35;
		transform: translateX(-50%) translateY(0);
	}
	50% {
		opacity: 1;
		transform: translateX(-50%) translateY(6px);
	}
}

@media (prefers-reduced-motion: reduce) {
	body.home .elementor-element-8f520ed::before {
		animation: none;
	}
}

/* -------------------------------------------------------------------------
   Category chips — compact row under the collection
   ------------------------------------------------------------------------- */

body.home .elementor-element-598d49a,
body.home .elementor-element-c3e52b3 {
	display: none !important;
}

body.home .knotiva-home-chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.65rem;
	width: 100%;
	margin: 0;
	box-sizing: border-box;
	background: var(--k-surface);
	padding: 1.25rem var(--k-gutter) 1.75rem;
}

body.home .knotiva-home-chips a {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	padding: 0.55rem 1.1rem;
	font-family: var(--k-font-ui);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--k-ink);
	text-decoration: none;
	border: 1px solid var(--k-ink);
	background: transparent;
	white-space: nowrap;
	transition: background-color 0.25s var(--k-ease), border-color 0.25s var(--k-ease), color 0.25s var(--k-ease);
}

body.home .knotiva-home-chips a:hover,
body.home .knotiva-home-chips a:focus-visible {
	background: var(--k-burgundy);
	border-color: var(--k-burgundy);
	color: var(--k-white);
}

/* Elementor overlap on the Sustainability inner container */
body.home .elementor-element-739c81f {
	margin-top: 0 !important;
}

/* -------------------------------------------------------------------------
   Product cards
   ------------------------------------------------------------------------- */

/* Cap loop-grid cards so they read at the same scale as the carousel cards.
   Breakpoints are set where the capped tracks stop fitting (3 x 300 + 2 x 30
   gap needs a 960px row), not at Elementor's device breakpoints. */
@media (min-width: 1008px) {
	body.home .elementor-widget-loop-grid .elementor-loop-container {
		grid-template-columns: repeat(3, minmax(0, 300px)) !important;
		justify-content: center !important;
	}
}

@media (min-width: 680px) and (max-width: 1007px) {
	body.home .elementor-widget-loop-grid .elementor-loop-container {
		grid-template-columns: repeat(2, minmax(0, 300px)) !important;
		justify-content: center !important;
	}
}

/* Phones (incl. ~420–440 CSS px devices): fluid full-width cards.
   A fixed 340px cap looks fine near 400px but leaves empty side gaps on
   slightly wider phones. */
@media (max-width: 679px) {
	body.home .elementor-widget-loop-grid .elementor-loop-container {
		grid-template-columns: minmax(0, 1fr) !important;
		justify-content: stretch !important;
		width: 100% !important;
	}

	body.home .elementor-widget-loop-grid .e-loop-item {
		max-width: none !important;
		width: 100% !important;
	}
}

/* Keep the former capped card only on larger phones / small tablets
   where a full-bleed single column feels too wide. */
@media (min-width: 481px) and (max-width: 679px) {
	body.home .elementor-widget-loop-grid .elementor-loop-container {
		grid-template-columns: minmax(0, 400px) !important;
		justify-content: center !important;
	}
}

.e-loop-item,
.elementor-widget-loop-carousel .swiper-slide.e-loop-item,
.elementor-widget-loop-grid .e-loop-item,
ul.products li.product {
	height: auto;
	display: flex;
	flex-direction: column;
	border: 1px solid var(--k-line);
	background: var(--k-white);
	transition: box-shadow 0.3s var(--k-ease), transform 0.3s var(--k-ease);
	opacity: 1 !important;
}

.e-loop-item:hover,
ul.products li.product:hover {
	box-shadow: 0 16px 40px rgba(20, 17, 15, 0.1);
	transform: translateY(-2px);
}

.elementor-widget-loop-carousel .swiper-slide.e-loop-item > .e-con,
.elementor-widget-loop-grid .e-loop-item > .e-con {
	width: 100%;
	display: flex;
	flex-direction: column;
	height: auto;
	padding: 0 0 0.85rem;
	opacity: 1 !important;
	transform: none !important;
}

.elementor-widget-loop-carousel .e-loop-item .elementor-widget-theme-post-featured-image .elementor-widget-container,
.elementor-widget-loop-grid .e-loop-item .elementor-widget-theme-post-featured-image .elementor-widget-container,
.elementor-element-333cdd1 .e-loop-item .elementor-widget-theme-post-featured-image .elementor-widget-container,
.elementor-element-c967b22 .e-loop-item .elementor-widget-theme-post-featured-image .elementor-widget-container,
ul.products li.product .astra-shop-thumbnail-wrap,
ul.products li.product a.woocommerce-LoopProduct-link img {
	aspect-ratio: 1 / 1;
	height: auto !important;
	min-height: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--k-surface);
	overflow: hidden;
}

.elementor-widget-loop-carousel .e-loop-item .elementor-widget-theme-post-featured-image a,
.elementor-widget-loop-grid .e-loop-item .elementor-widget-theme-post-featured-image a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.elementor-widget-loop-carousel .e-loop-item .elementor-widget-theme-post-featured-image img,
.elementor-widget-loop-grid .e-loop-item .elementor-widget-theme-post-featured-image img,
.elementor-element-333cdd1 .e-loop-item img,
.elementor-element-c967b22 .e-loop-item img,
ul.products li.product img {
	width: 100% !important;
	height: 100% !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center center !important;
	transition: transform 0.45s var(--k-ease);
}

.e-loop-item:hover .elementor-widget-theme-post-featured-image img,
ul.products li.product:hover img {
	transform: scale(1.03);
}

.e-loop-item .elementor-widget-woocommerce-product-add-to-cart,
.elementor-widget-loop-carousel .e-loop-item .elementor-widget-woocommerce-product-add-to-cart,
.elementor-widget-loop-grid .e-loop-item .elementor-widget-woocommerce-product-add-to-cart {
	margin-top: 0.5rem;
	width: 100%;
	padding: 0 1rem;
}

.e-loop-item .elementor-widget-spacer,
.elementor-widget-loop-carousel .e-loop-item .elementor-widget-spacer,
.elementor-widget-loop-grid .e-loop-item .elementor-widget-spacer {
	display: none !important;
}

.e-loop-item .elementor-widget-woocommerce-product-title,
.e-loop-item .elementor-widget-woocommerce-product-price,
.e-loop-item .knotiva-craft-meta {
	padding-left: 1rem;
	padding-right: 1rem;
}

.e-loop-item .elementor-widget-woocommerce-product-title .elementor-widget-container,
.e-loop-item .elementor-widget-woocommerce-product-price .elementor-widget-container,
.e-loop-item .elementor-widget-woocommerce-product-add-to-cart .elementor-widget-container {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin: 0 !important;
}

.e-loop-item .elementor-widget-woocommerce-product-title,
.e-loop-item .elementor-widget-woocommerce-product-price,
.e-loop-item .elementor-widget-woocommerce-product-add-to-cart {
	margin: 0 !important;
}

.e-loop-item h1.elementor-heading-title,
.e-loop-item h2.elementor-heading-title,
.e-loop-item .elementor-heading-title,
.e-loop-item .woocommerce-loop-product__title,
.e-loop-item .product_title,
.e-loop-item h1.product_title,
.e-loop-item .elementor-widget-woocommerce-product-title .product_title,
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .ast-loop-product__link {
	font-family: var(--k-font-display) !important;
	font-size: 1.25rem !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	text-transform: none !important;
	font-style: normal !important;
	margin: 0.5rem 0 0.2rem !important;
	color: var(--k-ink) !important;
}

.e-loop-item .price,
.e-loop-item .woocommerce-Price-amount,
.e-loop-item .elementor-widget-woocommerce-product-price,
ul.products li.product .price {
	font-family: var(--k-font-ui) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: var(--k-muted) !important;
	margin: 0 0 0.35rem !important;
}

.knotiva-craft-meta {
	font-family: var(--k-font-ui) !important;
	font-size: 10px !important;
	font-weight: 500 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: var(--k-muted) !important;
	margin: 0.15rem 0 0.25rem !important;
	padding: 0 !important;
	line-height: 1.35 !important;
}

/* -------------------------------------------------------------------------
   Cart-aware ATC / qty
   ------------------------------------------------------------------------- */

.e-loop-item .elementor-widget-woocommerce-product-add-to-cart form.cart,
.e-loop-item .elementor-add-to-cart form.cart {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	gap: 0.5rem !important;
	width: 100% !important;
	margin: 0;
}

.e-loop-item:not(.knotiva-in-cart) .quantity,
body.home .e-loop-item:not(.knotiva-in-cart) .quantity,
body.home .e-loop-item:not(.knotiva-in-cart) .e-add-to-cart--show-quantity-yes .quantity,
.elementor-widget-loop-carousel .e-loop-item:not(.knotiva-in-cart) .quantity,
.elementor-widget-loop-grid .e-loop-item:not(.knotiva-in-cart) .quantity {
	display: none !important;
}

.e-loop-item.knotiva-in-cart .quantity,
body.home .e-loop-item.knotiva-in-cart .quantity {
	display: flex !important;
	width: 100% !important;
	max-width: 100% !important;
	justify-content: center !important;
	align-items: stretch !important;
	height: var(--k-btn-h) !important;
	border: 1px solid var(--k-burgundy) !important;
	box-sizing: border-box;
	overflow: hidden;
	background: var(--k-white);
}

.e-loop-item.knotiva-in-cart .quantity .minus,
.e-loop-item.knotiva-in-cart .quantity .plus,
.e-loop-item.knotiva-in-cart .quantity a.minus,
.e-loop-item.knotiva-in-cart .quantity a.plus,
.e-loop-item.knotiva-in-cart .quantity .ast-qty-placeholder.minus,
.e-loop-item.knotiva-in-cart .quantity .ast-qty-placeholder.plus {
	flex: 1 1 0 !important;
	width: auto !important;
	min-width: 0 !important;
	height: 100% !important;
	border: none !important;
	border-radius: 0 !important;
	background: var(--k-white) !important;
	color: var(--k-burgundy) !important;
}

.e-loop-item.knotiva-in-cart .quantity .minus:hover,
.e-loop-item.knotiva-in-cart .quantity .plus:hover,
.e-loop-item.knotiva-in-cart .quantity a.minus:hover,
.e-loop-item.knotiva-in-cart .quantity a.plus:hover,
.e-loop-item.knotiva-in-cart .quantity .ast-qty-placeholder.minus:hover,
.e-loop-item.knotiva-in-cart .quantity .ast-qty-placeholder.plus:hover {
	background: var(--k-burgundy-soft) !important;
}

.e-loop-item.knotiva-in-cart .quantity input.qty,
.e-loop-item.knotiva-in-cart .quantity .qty {
	flex: 1 1 0 !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 100% !important;
	margin: 0 !important;
	border: none !important;
	border-left: 1px solid var(--k-burgundy) !important;
	border-right: 1px solid var(--k-burgundy) !important;
	border-radius: 0 !important;
	background: var(--k-white) !important;
}

.e-loop-item.knotiva-in-cart .add_to_cart_button,
.e-loop-item.knotiva-in-cart .single_add_to_cart_button,
body.home .e-loop-item.knotiva-in-cart .add_to_cart_button,
body.home .e-loop-item.knotiva-in-cart .single_add_to_cart_button {
	display: none !important;
}

.e-loop-item .single_add_to_cart_button,
.e-loop-item .add_to_cart_button,
.elementor-widget-loop-carousel .e-loop-item .add_to_cart_button,
.elementor-widget-loop-grid .e-loop-item .add_to_cart_button,
.e-loop-item button.single_add_to_cart_button {
	flex: 1 1 auto;
	width: 100% !important;
	min-height: var(--k-btn-h) !important;
	height: var(--k-btn-h) !important;
	margin: 0 !important;
	padding: 0 1rem !important;
	background: var(--k-burgundy) !important;
	color: var(--k-white) !important;
	border: 1px solid var(--k-burgundy) !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08) !important;
}

.e-loop-item .single_add_to_cart_button:hover,
.e-loop-item .add_to_cart_button:hover {
	background: var(--k-burgundy-dark) !important;
	border-color: var(--k-burgundy-dark) !important;
	color: var(--k-white) !important;
}

.knotiva-view-cart {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box;
	text-align: center !important;
	font-family: var(--k-font-ui);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--k-burgundy);
	text-decoration: none;
	margin: 0.15rem 0 0 !important;
	padding: 0 !important;
}

.knotiva-view-cart:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 767px) {
	.elementor-widget-loop-carousel .e-loop-item .elementor-widget-theme-post-featured-image .elementor-widget-container,
	.elementor-widget-loop-grid .e-loop-item .elementor-widget-theme-post-featured-image .elementor-widget-container {
		min-height: 0;
	}
}

/* Phone band through ~440 CSS px (and up to 480): keep homepage fluid */
@media (max-width: 480px) {
	body.home,
	body.home #page,
	body.home .site-content,
	body.home .elementor-547,
	body.home .e-con,
	body.home .e-con-inner {
		max-width: 100% !important;
	}

	body.home #masthead,
	body.home #masthead .ast-primary-header-bar,
	body.home #masthead .main-header-bar,
	body.home #masthead .ast-mobile-header-wrap {
		width: 100% !important;
		max-width: 100% !important;
	}

	/* Hero CTAs: always stack cleanly on real phone widths */
	body.home .elementor-element-8bd9220 {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0.75rem !important;
	}

	body.home .elementor-element-8bd9220 .elementor-widget,
	body.home .elementor-element-8bd9220 .elementor-button-wrapper,
	body.home .elementor-element-8bd9220 .elementor-button {
		width: 100% !important;
		max-width: 100% !important;
	}

	/* Elementor mid CTA was locked to 75% — fill the phone width */
	body.home .elementor-element-5ca43bf {
		width: 100% !important;
		max-width: 100% !important;
		--width: 100% !important;
	}

	body.home .elementor-widget-loop-carousel .swiper-slide.e-loop-item {
		width: 100% !important;
	}

	body.home .astra-cart-drawer {
		width: min(100vw, 100%) !important;
		max-width: 100vw !important;
	}

	body.home .elementor-element-8f520ed h1.elementor-heading-title,
	body.home .elementor-element-8f520ed .hfe-infocard-title,
	body.home h1.hfe-infocard-title {
		font-size: clamp(2.25rem, 9vw, 2.75rem) !important;
	}
}

/* -------------------------------------------------------------------------
   Section titles + story bands
   ------------------------------------------------------------------------- */

body.home .elementor-element-28797e7,
body.home .elementor-element-28797e7 .elementor-widget-container,
body.home .elementor-element-28797e7 .elementor-heading-title,
body.home .elementor-element-adf069c,
body.home .elementor-element-adf069c .elementor-widget-container,
body.home .elementor-element-adf069c .elementor-heading-title {
	text-align: center !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.home h2.elementor-heading-title {
	font-size: clamp(2rem, 4vw, 2.75rem) !important;
	line-height: 1.2 !important;
	font-weight: 600 !important;
	font-style: normal !important;
}

body.home h3.elementor-heading-title {
	font-size: clamp(1.5rem, 3vw, 2.25rem) !important;
	line-height: 1.25 !important;
	font-weight: 600 !important;
}

body.home h4.elementor-heading-title {
	font-size: clamp(1.25rem, 2.2vw, 1.75rem) !important;
	line-height: 1.35 !important;
	font-weight: 600 !important;
}

body.home .elementor-element-be12117,
body.home .elementor-element-b150665,
body.home .elementor-element-ff4312f {
	background: var(--k-surface);
}

body.home .elementor-element-be12117 .elementor-image-box-wrapper,
body.home .elementor-element-b150665 .elementor-image-box-wrapper,
body.home .elementor-element-ff4312f .elementor-image-box-wrapper {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: center;
}

body.home .elementor-element-b150665 .elementor-image-box-wrapper {
	direction: rtl;
}

body.home .elementor-element-b150665 .elementor-image-box-wrapper > * {
	direction: ltr;
}

body.home .elementor-element-be12117 .elementor-image-box-img img,
body.home .elementor-element-b150665 .elementor-image-box-img img,
body.home .elementor-element-ff4312f .elementor-image-box-img img {
	width: 100%;
	height: clamp(280px, 42vw, 480px);
	object-fit: cover;
}

body.home .elementor-element-be12117 .elementor-image-box-title,
body.home .elementor-element-b150665 .elementor-image-box-title,
body.home .elementor-element-ff4312f .elementor-image-box-title {
	font-family: var(--k-font-display) !important;
	font-size: clamp(1.75rem, 3vw, 2.5rem) !important;
	font-weight: 600 !important;
	margin-bottom: 0.75rem !important;
}

body.home .elementor-element-be12117 .elementor-button,
body.home .elementor-element-b150665 .elementor-button,
body.home .elementor-element-ff4312f .elementor-button {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	color: var(--k-burgundy) !important;
	padding: 0 !important;
	min-height: auto !important;
	text-decoration: underline !important;
	text-underline-offset: 4px;
	letter-spacing: 0.12em !important;
}

@media (max-width: 900px) {
	body.home .elementor-element-be12117 .elementor-image-box-wrapper,
	body.home .elementor-element-b150665 .elementor-image-box-wrapper,
	body.home .elementor-element-ff4312f .elementor-image-box-wrapper {
		grid-template-columns: 1fr;
		direction: ltr;
	}
}

/* -------------------------------------------------------------------------
   Testimonial pull-quote
   ------------------------------------------------------------------------- */

body.home .elementor-element-127e66e {
	background: var(--k-surface-2) !important;
	text-align: center;
	padding-block: var(--k-s5) !important;
}

body.home .elementor-element-127e66e h4.elementor-heading-title {
	font-family: var(--k-font-display) !important;
	font-size: clamp(1.75rem, 3.5vw, 2.5rem) !important;
	font-weight: 500 !important;
	font-style: italic !important;
	line-height: 1.35 !important;
	max-width: 36ch;
	margin: 1rem auto !important;
	color: var(--k-ink) !important;
}

body.home .elementor-element-127e66e h6.elementor-heading-title {
	color: var(--k-muted) !important;
	letter-spacing: 0.16em !important;
}

body.home .elementor-element-127e66e .elementor-star-rating,
body.home .elementor-element-127e66e .elementor-widget-rating {
	justify-content: center;
	color: var(--k-brass) !important;
}

/* -------------------------------------------------------------------------
   Trust band
   ------------------------------------------------------------------------- */

body.home .elementor-element-dcd0cb0 {
	background: var(--k-white);
	border-top: 1px solid var(--k-line);
	border-bottom: 1px solid var(--k-line);
}

body.home .elementor-element-dcd0cb0 .elementor-widget-icon-box .elementor-icon-box-wrapper {
	gap: 0.75rem;
	text-align: center;
	padding: 0.5rem 1rem;
}

body.home .elementor-element-dcd0cb0 .elementor-icon {
	font-size: 1.5rem !important;
	color: var(--k-brass) !important;
}

body.home .elementor-element-dcd0cb0 .elementor-icon-box-title {
	font-family: var(--k-font-ui) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--k-ink) !important;
}

body.home .elementor-element-dcd0cb0 .elementor-icon-box-description {
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: var(--k-muted);
}

/* -------------------------------------------------------------------------
   Craft in numbers (injected)
   ------------------------------------------------------------------------- */

.knotiva-craft-numbers {
	background: var(--k-ink);
	color: var(--k-white);
	padding: var(--k-s5) var(--k-gutter);
}

.knotiva-craft-numbers__inner {
	max-width: var(--k-container);
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
	text-align: center;
}

.knotiva-craft-numbers__item strong {
	display: block;
	font-family: var(--k-font-display);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 600;
	margin-bottom: 0.35rem;
	color: var(--k-white);
}

.knotiva-craft-numbers__item span {
	font-family: var(--k-font-ui);
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.7);
}

@media (max-width: 900px) {
	.knotiva-craft-numbers__inner {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.75rem;
	}
}

@media (max-width: 480px) {
	.knotiva-craft-numbers__inner {
		grid-template-columns: 1fr;
	}
}

/* -------------------------------------------------------------------------
   Image carousels
   ------------------------------------------------------------------------- */

body.home .elementor-widget-image-carousel .swiper,
body.home .elementor-widget-image-carousel .elementor-image-carousel-wrapper,
body.home .elementor-widget-media-carousel .swiper {
	overflow: hidden !important;
}

body.home .elementor-widget-image-carousel .swiper-slide img,
body.home .elementor-widget-media-carousel .swiper-slide img {
	width: 100%;
	height: 420px;
	object-fit: cover;
	object-position: center;
}

@media (max-width: 767px) {
	body.home .elementor-widget-image-carousel .swiper-slide img,
	body.home .elementor-widget-media-carousel .swiper-slide img {
		height: 280px;
	}
}

body.home p,
body.home .elementor-widget-text-editor {
	font-family: var(--k-font-ui);
	font-size: 16px;
	line-height: 1.65;
	font-weight: 400;
}
