/**
 * Blocksy builder widgets and professional footer layer.
 */

.csx-widget-area,
.csx-builder-widget,
.csx-builder-action {
	min-inline-size: 0;
}

.ct-header .csx-builder-widget,
.site-header .csx-builder-widget,
.ct-header .widget_csx_account_button,
.ct-header .widget_csx_cart_button,
.site-header .widget_csx_account_button,
.site-header .widget_csx_cart_button {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.csx-builder-action {
	display: flex;
	align-items: center;
}

.csx-builder-action .csx-el {
	inline-size: max-content;
}

.site-footer,
.ct-footer {
	--csx-footer-gap: 18px;
	--csx-footer-radius: 16px;
	--csx-footer-title-size: 17px;
}

.site-footer .csx-builder-widget,
.ct-footer .csx-builder-widget {
	display: grid;
	gap: var(--csx-footer-gap);
	min-inline-size: 0;
}

.site-footer .csx-builder-widget + .csx-builder-widget,
.ct-footer .csx-builder-widget + .csx-builder-widget {
	margin-block-start: var(--csx-footer-gap);
}

.csx-footer-widgets-card :is(.site-footer, .ct-footer) .csx-builder-widget {
	padding: clamp(16px, 2vw, 24px);
	border: 1px solid color-mix(in srgb, currentColor 13%, transparent);
	border-radius: var(--csx-footer-radius);
	background: color-mix(in srgb, var(--csx-surface, #fff) 88%, transparent);
	box-shadow: 0 12px 32px rgba(15, 42, 70, .06);
}

.csx-footer-widgets-outline :is(.site-footer, .ct-footer) .csx-builder-widget {
	padding-block: 16px;
	border-block: 1px solid color-mix(in srgb, currentColor 14%, transparent);
}

.csx-footer-widgets-clean :is(.site-footer, .ct-footer) .csx-builder-widget {
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

:is(.site-footer, .ct-footer) .csx-widget-title,
:is(.site-footer, .ct-footer) .csx-footer-callout__title,
:is(.site-footer, .ct-footer) .csx-footer-store__title {
	position: relative;
	margin: 0;
	font-family: var(--csx-heading-font, inherit);
	font-size: var(--csx-footer-title-size);
	font-weight: var(--csx-heading-weight, 800);
	line-height: 1.35;
	color: inherit;
}

.csx-footer-title-line :is(.site-footer, .ct-footer) .csx-widget-title {
	padding-block-end: 12px;
}

.csx-footer-title-line :is(.site-footer, .ct-footer) .csx-widget-title::after {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	inset-block-end: 0;
	inline-size: 42px;
	block-size: 3px;
	border-radius: 999px;
	background: var(--csx-primary, currentColor);
}

.csx-footer-title-pill :is(.site-footer, .ct-footer) .csx-widget-title {
	inline-size: max-content;
	max-inline-size: 100%;
	padding: 7px 11px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--csx-primary, currentColor) 12%, transparent);
	color: var(--csx-primary, currentColor);
}

.csx-footer-store {
	display: grid;
	gap: 14px;
}

.csx-footer-store__logo .custom-logo-link {
	display: inline-flex;
}

.csx-footer-store__logo img {
	inline-size: auto;
	max-inline-size: min(190px, 100%);
	max-block-size: 72px;
	object-fit: contain;
}

.csx-footer-store__title a {
	color: inherit;
	text-decoration: none;
}

.csx-footer-store__description,
.csx-footer-callout__text,
.csx-payment-note {
	color: color-mix(in srgb, currentColor 74%, transparent);
}

.csx-footer-store__description :is(p:last-child),
.csx-footer-callout__text,
.csx-payment-note {
	margin-block-end: 0;
}

.csx-contact-list {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.csx-contact-list__item {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
}

.csx-contact-list__icon {
	display: inline-grid;
	place-items: center;
	inline-size: 34px;
	block-size: 34px;
	border-radius: 10px;
	color: var(--csx-primary, currentColor);
}

.csx-footer-icons-soft .csx-contact-list__icon {
	background: color-mix(in srgb, var(--csx-primary, currentColor) 12%, transparent);
}

.csx-footer-icons-circle .csx-contact-list__icon {
	border: 1px solid color-mix(in srgb, var(--csx-primary, currentColor) 25%, transparent);
	border-radius: 50%;
	background: color-mix(in srgb, var(--csx-primary, currentColor) 8%, transparent);
}

.csx-footer-icons-plain .csx-contact-list__icon {
	inline-size: 24px;
	block-size: 24px;
	background: transparent;
}

.csx-contact-list__content,
.csx-contact-list__content a {
	min-inline-size: 0;
	color: inherit;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.csx-contact-list__content a:hover {
	color: var(--csx-primary, currentColor);
}

.csx-payment-methods {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.csx-payment-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-block-size: 34px;
	padding-inline: 12px;
	border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
	border-radius: 9px;
	background: color-mix(in srgb, var(--csx-surface, #fff) 92%, transparent);
	color: var(--csx-text, currentColor);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .01em;
}

.csx-payment-note {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
}

.csx-footer-callout {
	display: grid;
	gap: 13px;
}

.csx-footer-callout__form :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
	inline-size: 100%;
}

.csx-footer-callout__button {
	inline-size: max-content;
	max-inline-size: 100%;
}

@media (max-width: 689px) {
	.csx-footer-mobile-center :is(.site-footer, .ct-footer) .csx-builder-widget,
	.csx-footer-mobile-center :is(.site-footer, .ct-footer) .csx-footer-store,
	.csx-footer-mobile-center :is(.site-footer, .ct-footer) .csx-footer-callout {
		justify-items: center;
		text-align: center;
	}

	.csx-footer-mobile-center .csx-footer-title-line :is(.site-footer, .ct-footer) .csx-widget-title::after {
		inset-inline-start: 50%;
		transform: translateX(-50%);
	}

	.csx-footer-mobile-center .csx-contact-list__item {
		grid-template-columns: 34px minmax(0, auto);
	}

	.csx-footer-mobile-center .csx-payment-methods,
	.csx-footer-mobile-center .csx-payment-note {
		justify-content: center;
	}
}

@media (forced-colors: active) {
	.csx-payment-pill,
	.csx-contact-list__icon,
	.csx-footer-widgets-card :is(.site-footer, .ct-footer) .csx-builder-widget {
		border: 1px solid CanvasText;
	}
}
