/**
 * Knotiva Rugs — design system
 * Tokens, type, spacing, buttons, forms, motion, focus.
 */

:root {
	--k-burgundy: #7b1d1d;
	--k-burgundy-dark: #5e1616;
	--k-burgundy-soft: rgba(123, 29, 29, 0.08);
	--k-ink: #1c1c1c;
	--k-muted: #888888;
	--k-line: rgba(0, 0, 0, 0.08);
	--k-surface: #faf8f5;
	--k-surface-2: #f0ebe4;
	--k-brass: #b08a4a;
	--k-white: #ffffff;
	--k-container: 1240px;
	--k-gutter: clamp(1rem, 4vw, 2.5rem);
	--k-s1: 0.5rem;
	--k-s2: 1rem;
	--k-s3: 1.5rem;
	--k-s4: 2.5rem;
	--k-s5: 4rem;
	--k-s6: 6rem;
	--k-btn-h: 48px;
	--k-header-h: 80px;
	--k-radius: 0;
	--k-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--k-font-display: "Cormorant Garamond", Georgia, serif;
	--k-font-ui: Inter, "DM Sans", system-ui, sans-serif;

	/* Redesign tokens — canonical names for the 2026 homepage layer */
	--color-primary: var(--k-burgundy);
	--color-bg: #faf8f5;
	--color-text: #1c1c1c;
	--color-muted: #888888;
	--color-border: rgba(0, 0, 0, 0.08);
	--color-dark: #111111;
	--font-serif: var(--k-font-display);
	--font-sans: var(--k-font-ui);
	--section-padding: 100px;
	--section-padding-desktop: 100px;
	--section-padding-tablet: 72px;
	--section-padding-mobile: 52px;

	/* Back-compat aliases used by older polish selectors */
	--knotiva-burgundy: var(--k-burgundy);
	--knotiva-ink: var(--k-ink);
	--knotiva-muted: var(--k-muted);
	--knotiva-border: var(--k-ink);
	--knotiva-surface: var(--k-surface);
	--knotiva-header-h: var(--k-header-h);
	--knotiva-btn-h: var(--k-btn-h);
	--knotiva-radius: var(--k-radius);
	--knotiva-font-display: var(--k-font-display);
	--knotiva-font-ui: var(--k-font-ui);
}

/* -------------------------------------------------------------------------
   Base
   ------------------------------------------------------------------------- */

html {
	scroll-padding-top: calc(var(--k-header-h) + 16px);
}

body,
button,
input,
select,
textarea {
	font-family: var(--k-font-ui);
	color: var(--k-ink);
}

body {
	font-size: 16px;
	line-height: 1.65;
	font-weight: 400;
	background: var(--k-white);
	-webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
.elementor-heading-title {
	font-family: var(--k-font-display);
	font-weight: 600;
	text-transform: none !important;
	color: var(--k-ink);
	line-height: 1.2;
}

h1,
.k-h1 {
	font-size: clamp(2.75rem, 5vw, 4rem);
}

h2,
.k-h2 {
	font-size: clamp(2rem, 4vw, 2.75rem);
}

h3,
.k-h3 {
	font-size: clamp(1.5rem, 3vw, 2rem);
}

h4,
.k-h4 {
	font-size: clamp(1.25rem, 2.2vw, 1.75rem);
}

.k-eyebrow,
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: var(--k-brass);
	line-height: 1.4 !important;
}

p {
	font-family: var(--k-font-ui);
	font-size: 16px;
	line-height: 1.65;
	color: var(--k-ink);
}

/* Body copy and small labels use the product-description face (Inter).
   Headings h1–h5 stay on the display serif. */
p:not(.elementor-heading-title):not(.product_title),
li,
blockquote,
h6,
.elementor-widget-text-editor,
.elementor-widget-text-editor p:not(.elementor-heading-title),
.elementor-image-box-description,
.elementor-icon-box-description,
.elementor-widget-theme-post-content,
.elementor-widget-theme-post-content p:not(.elementor-heading-title),
.elementor-testimonial-content,
.woocommerce-product-details__short-description,
.woocommerce-product-details__short-description p,
.woocommerce-Tabs-panel,
.woocommerce-Tabs-panel p,
.entry-content p:not(.elementor-heading-title),
.entry-content li {
	font-family: var(--k-font-ui) !important;
}

a {
	color: var(--k-burgundy);
	transition: color 0.2s var(--k-ease);
}

a:hover {
	color: var(--k-burgundy-dark);
}

:focus-visible {
	outline: 2px solid var(--k-burgundy);
	outline-offset: 3px;
}

/* -------------------------------------------------------------------------
   Section rhythm
   ------------------------------------------------------------------------- */

.k-section,
body .elementor-top-section,
body .e-con.e-parent {
	--padding-block: var(--k-s6);
}

@media (max-width: 767px) {
	.k-section,
	body .elementor-top-section,
	body .e-con.e-parent {
		--padding-block: var(--k-s5);
	}
}

.elementor-section.elementor-section-boxed > .elementor-container,
.k-container {
	max-width: var(--k-container);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--k-gutter);
	padding-right: var(--k-gutter);
}

/* -------------------------------------------------------------------------
   Buttons
   ------------------------------------------------------------------------- */

.single_add_to_cart_button,
.add_to_cart_button,
.k-btn:not(.k-btn--ghost):not(.k-btn--outline):not(.k-btn--whatsapp) {
	min-width: 160px;
}

.k-btn,
body .elementor-button,
body a.elementor-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.single_add_to_cart_button,
.add_to_cart_button {
	font-family: var(--k-font-ui) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	min-height: var(--k-btn-h) !important;
	height: auto !important;
	padding: 0 1.75rem !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
	border-radius: var(--k-radius) !important;
	border: 1px solid var(--k-burgundy) !important;
	background: var(--k-burgundy) !important;
	color: var(--k-white) !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08) !important;
	text-decoration: none !important;
	cursor: pointer;
	transition: background-color 0.25s var(--k-ease), border-color 0.25s var(--k-ease), color 0.25s var(--k-ease), transform 0.25s var(--k-ease);
}

.k-btn:hover,
body .elementor-button:hover,
body a.elementor-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.single_add_to_cart_button:hover,
.add_to_cart_button:hover {
	background: var(--k-burgundy-dark) !important;
	border-color: var(--k-burgundy-dark) !important;
	color: var(--k-white) !important;
}

.k-btn--outline,
.k-btn-secondary {
	background: transparent !important;
	color: var(--k-ink) !important;
	border-color: var(--k-ink) !important;
	box-shadow: none !important;
}

.k-btn--outline:hover,
.k-btn-secondary:hover {
	background: var(--k-ink) !important;
	color: var(--k-white) !important;
}

.k-btn--ghost {
	background: transparent !important;
	color: var(--k-white) !important;
	border-color: var(--k-white) !important;
	box-shadow: none !important;
}

.k-btn--ghost:hover {
	background: var(--k-white) !important;
	color: var(--k-ink) !important;
}

.k-btn--text,
.k-link {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	color: var(--k-burgundy) !important;
	min-height: auto !important;
	padding: 0 !important;
	letter-spacing: 0.1em !important;
	text-decoration: underline !important;
	text-underline-offset: 4px;
}

.k-btn--whatsapp,
a.k-btn--whatsapp {
	background: #25d366 !important;
	border-color: #25d366 !important;
	color: var(--k-white) !important;
}

.k-btn--whatsapp:hover {
	background: #1ebe57 !important;
	border-color: #1ebe57 !important;
}

/* -------------------------------------------------------------------------
   Forms / controls
   ------------------------------------------------------------------------- */

input[type="text"],
input[type="email"],
input[type="search"],
input[type="tel"],
input[type="number"],
input[type="url"],
textarea,
select,
.woocommerce-ordering select,
.wpforms-field input,
.wpforms-field textarea,
.wpforms-field select {
	font-family: var(--k-font-ui) !important;
	font-size: 14px !important;
	color: var(--k-ink) !important;
	border: 1px solid var(--k-line) !important;
	border-radius: var(--k-radius) !important;
	background: var(--k-white) !important;
	padding: 0.75rem 1rem !important;
	min-height: var(--k-btn-h);
	transition: border-color 0.2s var(--k-ease);
}

input:focus,
textarea:focus,
select:focus {
	border-color: var(--k-burgundy) !important;
	outline: none;
	box-shadow: 0 0 0 3px var(--k-burgundy-soft);
}

/* -------------------------------------------------------------------------
   Header / nav
   ------------------------------------------------------------------------- */

/* Sticky header. !important beats the Customizer's `header#masthead.fixed`
   rule, which would otherwise pull the header out of flow past 50px of
   scroll and jump the page content up by the header height. */
#masthead.site-header,
.site-header {
	position: sticky !important;
	top: 0 !important;
	z-index: 999;
}

body.admin-bar #masthead.site-header {
	top: 32px !important;
}

@media screen and (max-width: 782px) {
	body.admin-bar #masthead.site-header {
		top: 46px !important;
	}
}

.ast-primary-header-bar.main-header-bar,
.main-header-bar {
	min-height: var(--k-header-h) !important;
}

.ast-primary-header-bar .site-primary-header-wrap,
.main-header-bar .ast-builder-grid-row {
	min-height: var(--k-header-h) !important;
	align-items: center;
}

.site-header-primary-section-right,
.ast-header-header-right {
	min-width: 96px;
}

.ast-primary-header-bar .site-logo-img img,
.site-header .custom-logo {
	max-height: 64px !important;
	width: auto !important;
}

/* Header search + cart */
.k-header-tools {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-left: 0.75rem;
}

.k-header-search-toggle,
.k-header-cart,
.k-header-cart-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: none;
	background: transparent;
	color: inherit;
	cursor: pointer;
	position: relative;
	padding: 0;
}

/* Hide legacy duplicate cart inject if still present in cached HTML/JS */
.k-header-cart {
	display: none !important;
}

.k-header-search-toggle svg,
.k-header-cart svg,
.k-header-cart-link svg {
	width: 18px;
	height: 18px;
	stroke: currentColor;
	fill: none;
	stroke-width: 1.5;
}

.k-header-cart-count {
	position: absolute;
	top: 4px;
	right: 2px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 999px;
	background: var(--k-brass);
	color: var(--k-white);
	font-family: var(--k-font-ui);
	font-size: 10px;
	font-weight: 600;
	line-height: 16px;
	text-align: center;
}

.k-header-search {
	display: none;
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	background: var(--k-white);
	border-bottom: 1px solid var(--k-line);
	padding: 1rem var(--k-gutter);
	z-index: 120;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}

.k-header-search.is-open {
	display: block;
}

.k-header-search form {
	display: flex;
	max-width: 640px;
	margin: 0 auto;
	gap: 0.5rem;
}

.k-header-search input[type="search"] {
	flex: 1;
}

/* Mobile header layout and drawer look live in chrome.css. */

@media (min-width: 768px) and (max-width: 1279px) {
	:root {
		--k-header-h: 72px;
	}
}

body.ast-header-break-point {
	--k-header-h: 64px;
}

/* -------------------------------------------------------------------------
   Floating Call / WhatsApp
   ------------------------------------------------------------------------- */

#callnowbutton.call-now-button,
a.call-now-button {
	transform: scale(0.85);
	transform-origin: left center;
	bottom: 24px !important;
	top: auto !important;
	z-index: 90 !important;
	filter: drop-shadow(0 6px 16px rgba(107, 28, 28, 0.35));
}

@media (max-width: 767px) {
	#callnowbutton.call-now-button,
	a.call-now-button {
		bottom: 18px !important;
		left: 12px !important;
		transform: scale(0.75);
	}

	#ast-scroll-top.ast-scroll-to-top-right {
		right: 16px !important;
		bottom: 146px !important;
		z-index: 91 !important;
	}
}

/* -------------------------------------------------------------------------
   Quantity controls
   ------------------------------------------------------------------------- */

.quantity {
	display: inline-flex !important;
	align-items: stretch !important;
	height: var(--k-btn-h);
}

.quantity .ast-qty-placeholder.minus,
.quantity .ast-qty-placeholder.plus,
.quantity a.minus,
.quantity a.plus,
.quantity .minus,
.quantity .plus {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: var(--k-btn-h) !important;
	min-width: var(--k-btn-h) !important;
	height: var(--k-btn-h) !important;
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--k-font-ui) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	border: 1px solid var(--k-burgundy) !important;
	border-radius: var(--k-radius) !important;
	background: var(--k-white) !important;
	color: var(--k-burgundy) !important;
	box-sizing: border-box;
	text-decoration: none !important;
	transition: background-color 0.2s var(--k-ease), color 0.2s var(--k-ease);
}

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

.quantity .qty,
.quantity input.qty {
	display: block !important;
	visibility: visible !important;
	width: var(--k-btn-h) !important;
	min-width: var(--k-btn-h) !important;
	height: var(--k-btn-h) !important;
	margin: 0 -1px !important;
	padding: 0 !important;
	font-family: var(--k-font-ui) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	text-align: center !important;
	border: 1px solid var(--k-burgundy) !important;
	border-radius: 0 !important;
	box-sizing: border-box;
	-moz-appearance: textfield;
	background: var(--k-white) !important;
	color: var(--k-ink) !important;
}

.quantity .qty::-webkit-outer-spin-button,
.quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* -------------------------------------------------------------------------
   Carousel controls — circular chevrons
   ------------------------------------------------------------------------- */

.elementor-widget-loop-carousel .elementor-swiper-button svg,
.elementor-widget-loop-carousel .elementor-swiper-button i,
.elementor-widget-image-carousel .elementor-swiper-button svg,
.elementor-widget-image-carousel .elementor-swiper-button i,
.elementor-widget-media-carousel .elementor-swiper-button svg,
.elementor-widget-media-carousel .elementor-swiper-button i,
.elementor-element-333cdd1 .elementor-swiper-button svg,
.elementor-element-333cdd1 .elementor-swiper-button i,
.elementor-element-c967b22 .elementor-swiper-button svg,
.elementor-element-c967b22 .elementor-swiper-button i,
.elementor-element-8db1dd5 .elementor-swiper-button svg,
.elementor-element-8db1dd5 .elementor-swiper-button i {
	display: none !important;
}

.elementor-widget-loop-carousel .elementor-swiper-button,
.elementor-widget-image-carousel .elementor-swiper-button,
.elementor-widget-media-carousel .elementor-swiper-button,
.elementor-element-333cdd1 .elementor-swiper-button,
.elementor-element-c967b22 .elementor-swiper-button,
.elementor-element-8db1dd5 .elementor-swiper-button {
	width: 44px !important;
	height: 44px !important;
	border-radius: 50% !important;
	background: var(--k-white) !important;
	border: 1px solid rgba(0, 0, 0, 0.08) !important;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.14) !important;
	color: transparent !important;
	opacity: 1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: background-color 0.25s var(--k-ease), transform 0.25s var(--k-ease), box-shadow 0.25s var(--k-ease);
}

.elementor-widget-loop-carousel .elementor-swiper-button::after,
.elementor-widget-image-carousel .elementor-swiper-button::after,
.elementor-widget-media-carousel .elementor-swiper-button::after,
.elementor-element-333cdd1 .elementor-swiper-button::after,
.elementor-element-c967b22 .elementor-swiper-button::after,
.elementor-element-8db1dd5 .elementor-swiper-button::after {
	content: "" !important;
	width: 9px;
	height: 9px;
	border-top: 1.5px solid var(--k-burgundy);
	border-right: 1.5px solid var(--k-burgundy);
	display: block;
	font-size: 0 !important;
	line-height: 0 !important;
}

.elementor-widget-loop-carousel .elementor-swiper-button-next::after,
.elementor-widget-image-carousel .elementor-swiper-button-next::after,
.elementor-widget-media-carousel .elementor-swiper-button-next::after,
.elementor-element-333cdd1 .elementor-swiper-button-next::after,
.elementor-element-c967b22 .elementor-swiper-button-next::after,
.elementor-element-8db1dd5 .elementor-swiper-button-next::after {
	transform: rotate(45deg);
	margin-left: -2px;
}

.elementor-widget-loop-carousel .elementor-swiper-button-prev::after,
.elementor-widget-image-carousel .elementor-swiper-button-prev::after,
.elementor-widget-media-carousel .elementor-swiper-button-prev::after,
.elementor-element-333cdd1 .elementor-swiper-button-prev::after,
.elementor-element-c967b22 .elementor-swiper-button-prev::after,
.elementor-element-8db1dd5 .elementor-swiper-button-prev::after {
	transform: rotate(-135deg);
	margin-right: -2px;
}

.elementor-widget-loop-carousel .elementor-swiper-button:hover,
.elementor-widget-image-carousel .elementor-swiper-button:hover,
.elementor-widget-media-carousel .elementor-swiper-button:hover,
.elementor-element-333cdd1 .elementor-swiper-button:hover,
.elementor-element-c967b22 .elementor-swiper-button:hover,
.elementor-element-8db1dd5 .elementor-swiper-button:hover {
	background: var(--k-burgundy) !important;
	transform: scale(1.05);
	box-shadow: 0 8px 22px rgba(107, 28, 28, 0.28) !important;
}

.elementor-widget-loop-carousel .elementor-swiper-button:hover::after,
.elementor-widget-image-carousel .elementor-swiper-button:hover::after,
.elementor-widget-media-carousel .elementor-swiper-button:hover::after,
.elementor-element-333cdd1 .elementor-swiper-button:hover::after,
.elementor-element-c967b22 .elementor-swiper-button:hover::after,
.elementor-element-8db1dd5 .elementor-swiper-button:hover::after {
	border-color: var(--k-white);
}

.elementor-widget-loop-carousel .elementor-swiper-button-prev,
.elementor-widget-image-carousel .elementor-swiper-button-prev,
.elementor-widget-media-carousel .elementor-swiper-button-prev,
.elementor-element-333cdd1 .elementor-swiper-button-prev,
.elementor-element-c967b22 .elementor-swiper-button-prev,
.elementor-element-8db1dd5 .elementor-swiper-button-prev {
	left: 12px !important;
}

.elementor-widget-loop-carousel .elementor-swiper-button-next,
.elementor-widget-image-carousel .elementor-swiper-button-next,
.elementor-widget-media-carousel .elementor-swiper-button-next,
.elementor-element-333cdd1 .elementor-swiper-button-next,
.elementor-element-c967b22 .elementor-swiper-button-next,
.elementor-element-8db1dd5 .elementor-swiper-button-next {
	right: 12px !important;
}

.elementor-swiper-button + .swiper-pagination,
.swiper-pagination-bullet {
	background: var(--k-ink) !important;
	opacity: 0.25;
}

.swiper-pagination-bullet-active {
	background: var(--k-burgundy) !important;
	opacity: 1;
}

@media (max-width: 767px) {
	.elementor-widget-loop-carousel .elementor-swiper-button,
	.elementor-widget-image-carousel .elementor-swiper-button,
	.elementor-widget-media-carousel .elementor-swiper-button,
	.elementor-element-333cdd1 .elementor-swiper-button,
	.elementor-element-c967b22 .elementor-swiper-button,
	.elementor-element-8db1dd5 .elementor-swiper-button {
		width: 38px !important;
		height: 38px !important;
	}
}

/* -------------------------------------------------------------------------
   Scroll reveal
   ------------------------------------------------------------------------- */

@media (prefers-reduced-motion: no-preference) {
	.k-reveal {
		opacity: 0;
		transform: translateY(12px);
		transition: opacity 0.55s var(--k-ease), transform 0.55s var(--k-ease);
	}

	.k-reveal.is-visible {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Never blank product cards / carousel slides via reveal */
.e-loop-item,
.e-loop-item.k-reveal,
.e-loop-item .k-reveal,
.swiper-slide.k-reveal,
.swiper-slide .k-reveal,
.elementor-widget-loop-carousel .k-reveal,
.elementor-widget-loop-grid .k-reveal {
	opacity: 1 !important;
	transform: none !important;
}

/* -------------------------------------------------------------------------
   Footer
   ------------------------------------------------------------------------- */

.site-footer,
.ast-footer-copyright {
	font-family: var(--k-font-ui);
	font-size: 13px;
	color: var(--k-muted);
}

.site-footer a {
	color: inherit;
}

.site-footer a:hover {
	color: var(--k-burgundy);
}

.site-footer .site-primary-footer-wrap .ast-builder-grid-row {
	display: grid !important;
	grid-template-columns: 1fr 1fr 1fr !important;
	gap: 1.5rem 1.25rem;
	align-items: start;
}

.site-footer .site-footer-primary-section-4 {
	grid-column: 1 / -1;
}

.site-footer-primary-section-4 .widget-title {
	display: none !important;
}

.site-footer #menu-social-media {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.35rem 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0.35rem 0 0;
}

.site-footer #menu-social-media li {
	margin: 0;
}

.site-footer #menu-social-media a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	overflow: hidden;
	font-size: 0 !important;
	line-height: 0;
	color: transparent !important;
	text-decoration: none;
}

.site-footer #menu-social-media a::before {
	content: "";
	width: 22px;
	height: 22px;
	background-color: var(--k-ink);
	mask: center / contain no-repeat;
	-webkit-mask: center / contain no-repeat;
}

.site-footer #menu-social-media a[href*="facebook"]::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M24 12.073C24 5.405 18.627 0 12 0S0 5.405 0 12.073C0 18.1 4.388 23.094 10.125 24v-8.437H7.078v-3.49h3.047v-2.66c0-3.025 1.792-4.697 4.533-4.697 1.312 0 2.686.236 2.686.236v2.97H15.83c-1.491 0-1.956.93-1.956 1.886v2.265h3.328l-.532 3.49h-2.796V24C19.612 23.094 24 18.1 24 12.073z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M24 12.073C24 5.405 18.627 0 12 0S0 5.405 0 12.073C0 18.1 4.388 23.094 10.125 24v-8.437H7.078v-3.49h3.047v-2.66c0-3.025 1.792-4.697 4.533-4.697 1.312 0 2.686.236 2.686.236v2.97H15.83c-1.491 0-1.956.93-1.956 1.886v2.265h3.328l-.532 3.49h-2.796V24C19.612 23.094 24 18.1 24 12.073z'/%3E%3C/svg%3E");
}

.site-footer #menu-social-media a[href*="linkedin"]::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4.7 3.2A1.8 1.8 0 1 0 4.7 6.8 1.8 1.8 0 0 0 4.7 3.2ZM3.2 8.4h3v12.4h-3V8.4Zm5.1 0h2.9v1.7h.1c.4-.8 1.4-1.6 2.9-1.6 3.1 0 3.7 2 3.7 4.7v7.6h-3v-6.7c0-1.6 0-3.6-2.2-3.6s-2.5 1.7-2.5 3.5v6.8h-3V8.4Z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4.7 3.2A1.8 1.8 0 1 0 4.7 6.8 1.8 1.8 0 0 0 4.7 3.2ZM3.2 8.4h3v12.4h-3V8.4Zm5.1 0h2.9v1.7h.1c.4-.8 1.4-1.6 2.9-1.6 3.1 0 3.7 2 3.7 4.7v7.6h-3v-6.7c0-1.6 0-3.6-2.2-3.6s-2.5 1.7-2.5 3.5v6.8h-3V8.4Z'/%3E%3C/svg%3E");
}

.site-footer #menu-social-media a[href*="instagram"]::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z'/%3E%3C/svg%3E");
}

.site-footer #menu-social-media a:hover::before {
	background-color: var(--k-burgundy);
}

@media (max-width: 767px) {
	.site-footer .site-primary-footer-wrap .ast-builder-grid-row {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 0 !important;
	}

	.site-footer .site-primary-footer-wrap .site-footer-section,
	.site-footer .widget {
		width: 100% !important;
		max-width: none !important;
		float: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.site-footer .widget-title,
	.site-footer .widget h2,
	.site-footer .widget h3 {
		margin: 0 0 0.65rem;
		font-family: var(--k-font-ui);
		font-size: 12px;
		font-weight: 600;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		color: var(--k-ink);
	}

	.site-footer .widget .menu,
	.site-footer .widget ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.site-footer .widget li {
		margin: 0;
	}

	.site-footer .widget a {
		display: block;
		padding: 0.35rem 0;
		font-size: 13px;
		line-height: 1.4;
		text-decoration: none;
		word-break: break-word;
	}

	.site-footer #menu-social-media a {
		display: flex;
		padding: 0;
		font-size: 0 !important;
		word-break: normal;
	}

	.site-footer .site-below-footer-wrap,
	.site-footer .ast-footer-copyright {
		width: 100%;
	}
}

/* -------------------------------------------------------------------------
   Utility
   ------------------------------------------------------------------------- */

.k-muted {
	color: var(--k-muted);
}

.k-brass {
	color: var(--k-brass);
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}
