.aisp-showcase {
	--aisp-hover-duration: 550ms;
	--aisp-hover-scale: 1.03;
	--aisp-theme-accent: var(--wd-primary-color, var(--e-global-color-primary, #171717));
	--aisp-theme-text: var(--wd-text-color, var(--e-global-color-text, #666));
	--aisp-theme-body-color: #171717;
	--aisp-theme-font: inherit;
	--aisp-card-shadow: 0 8px 28px rgba(18, 18, 18, .08);
	--aisp-card-shadow-hover: 0 16px 42px rgba(18, 18, 18, .13);
	position: relative;
	width: 100%;
	min-width: 0;
	font-family: var(--aisp-theme-font);
}

.aisp-showcase *,
.aisp-showcase *::before,
.aisp-showcase *::after {
	box-sizing: border-box;
}

.aisp-swiper {
	width: 100%;
	min-width: 0;
	overflow: hidden;
	padding-block: 8px 16px;
}

.aisp-showcase:not(.aisp-is-carousel) .aisp-swiper {
	overflow: visible !important;
	padding-block: 0;
}

.aisp-showcase:not(.aisp-is-carousel) .aisp-wrapper {
	display: grid;
	grid-template-columns: repeat(var(--aisp-grid-columns-desktop, 4), minmax(0, 1fr));
	align-items: stretch;
	column-gap: var(--aisp-grid-column-gap-desktop, 24px);
	row-gap: var(--aisp-grid-row-gap-desktop, 24px);
	transform: none !important;
}

.aisp-showcase:not(.aisp-is-carousel) .aisp-slide {
	display: flex;
	width: auto !important;
	height: auto;
	min-width: 0;
	margin: 0 !important;
}

.aisp-showcase.aisp-is-carousel .aisp-wrapper {
	display: flex;
	align-items: stretch;
	gap: 0 !important;
}

.aisp-showcase.aisp-is-carousel .aisp-slide {
	display: flex;
	height: auto;
	min-width: 0;
}

.aisp-slide > .aisp-card {
	width: 100%;
}

.aisp-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: auto;
	min-width: 0;
	overflow: hidden;
	border: 1px solid rgba(18, 18, 18, .055);
	border-radius: 20px;
	background: #fff;
	box-shadow: var(--aisp-card-shadow);
	color: var(--aisp-theme-body-color);
	transition: transform .3s cubic-bezier(.2,.65,.25,1), box-shadow .3s ease, border-color .3s ease;
}

@media (hover: hover) and (pointer: fine) {
	.aisp-card:hover {
		border-color: rgba(18, 18, 18, .09);
		box-shadow: var(--aisp-card-shadow-hover);
	}
}

.aisp-card__media {
	position: relative;
	display: block;
	isolation: isolate;
	overflow: hidden;
	width: 100%;
	background: #f5f5f4;
	color: inherit;
	text-decoration: none !important;
}

.aisp-height-ratio .aisp-card__media {
	aspect-ratio: 4 / 5;
}

.aisp-height-fixed .aisp-card__media {
	height: 440px;
}

.aisp-showcase .aisp-card__image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition:
		opacity var(--aisp-hover-duration) cubic-bezier(.2,.65,.25,1),
		transform var(--aisp-hover-duration) cubic-bezier(.2,.65,.25,1),
		filter var(--aisp-hover-duration) ease;
	will-change: opacity, transform;
}

.aisp-card__image--primary {
	z-index: 1;
	opacity: 1;
	transform: scale(1) translateZ(0);
}

.aisp-card__image--hover {
	z-index: 2;
	opacity: 0;
	pointer-events: none;
}

.aisp-hover-crossfade_zoom .aisp-card__image--hover {
	transform: scale(1.07) translateZ(0);
}

.aisp-hover-crossfade .aisp-card__image--hover,
.aisp-hover-none .aisp-card__image--hover {
	transform: scale(1) translateZ(0);
}

.aisp-hover-slide_up .aisp-card__image--hover {
	transform: translateY(8%) scale(1.02) translateZ(0);
}

.aisp-hover-slide_side .aisp-card__image--hover {
	transform: translateX(8%) scale(1.02) translateZ(0);
}

.aisp-card--swatch-active .aisp-card__image--hover,
.aisp-card--swatch-preview .aisp-card__image--hover {
	opacity: 0 !important;
	pointer-events: none !important;
}

.aisp-card--swatch-active .aisp-card__image--primary,
.aisp-card--swatch-preview .aisp-card__image--primary {
	opacity: 1 !important;
	transform: scale(1.015) translateZ(0) !important;
}

.aisp-card__badge {
	--aisp-badge-x: 14px;
	--aisp-badge-y: 14px;
	position: absolute;
	z-index: 5;
	top: var(--aisp-badge-y);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 7px 11px;
	border-radius: 999px;
	background: var(--aisp-theme-accent);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	box-shadow: 0 6px 18px rgba(0,0,0,.12);
}

.aisp-badge-start .aisp-card__badge { inset-inline-start: var(--aisp-badge-x); }
.aisp-badge-end .aisp-card__badge { inset-inline-end: var(--aisp-badge-x); }

.aisp-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: stretch;
	min-height: 0;
	padding: 16px;
}

.aisp-card__category {
	margin-bottom: 6px;
	color: var(--aisp-theme-text);
	font-size: 12px;
	line-height: 1.5;
	opacity: .8;
}

.aisp-card__title-link {
	display: block;
	color: inherit;
	text-decoration: none !important;
}

.aisp-card__title {
	display: -webkit-box;
	overflow: hidden;
	min-height: calc(1.65em * 2);
	margin: 0;
	color: var(--aisp-theme-body-color);
	font-size: 15px;
	font-weight: 650;
	line-height: 1.65;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	transition: color .25s ease;
}

.aisp-card__title-link:hover .aisp-card__title {
	color: var(--aisp-theme-accent);
}

.aisp-card__rating {
	margin-top: 8px;
	line-height: 1;
}

.aisp-card__rating .star-rating {
	float: none;
	margin: 0;
}

.aisp-card__swatches {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	min-height: 32px;
	margin-top: 11px;
}

.aisp-swatch {
	--aisp-swatch-color: #ddd;
	--aisp-swatch-ring: var(--aisp-theme-accent);
	--aisp-swatch-image: none;
	position: relative;
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 2px solid #fff;
	border-radius: 50%;
	outline: 1px solid rgba(18, 18, 18, .14);
	background-color: var(--aisp-swatch-color);
	background-image: var(--aisp-swatch-image);
	background-position: center;
	background-size: cover;
	box-shadow: 0 1px 5px rgba(0,0,0,.08);
	cursor: pointer;
	transition: transform .2s ease, outline-color .2s ease, box-shadow .2s ease;
}

.aisp-swatch::after {
	content: '';
	position: absolute;
	inset: -5px;
	border: 1.5px solid transparent;
	border-radius: 50%;
	pointer-events: none;
	transition: border-color .2s ease, transform .2s ease;
}

.aisp-swatch:hover,
.aisp-swatch:focus-visible,
.aisp-swatch[aria-pressed="true"] {
	outline-color: transparent;
	transform: scale(1.05);
	box-shadow: 0 2px 8px rgba(0,0,0,.12);
}

.aisp-swatch:hover::after,
.aisp-swatch:focus-visible::after,
.aisp-swatch[aria-pressed="true"]::after {
	border-color: var(--aisp-swatch-ring);
}

.aisp-swatch--unknown {
	background:
		linear-gradient(45deg, #ddd 25%, transparent 25%) 0 0/8px 8px,
		linear-gradient(45deg, transparent 75%, #ddd 75%) 0 0/8px 8px,
		linear-gradient(45deg, transparent 75%, #eee 75%) 4px -4px/8px 8px,
		linear-gradient(45deg, #eee 25%, #fff 25%) 4px -4px/8px 8px;
}

.aisp-card__footer {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	margin-top: auto;
	padding-top: 14px;
}

.aisp-card__price-panel {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 54px;
	padding: 10px 12px;
	border: 1px solid rgba(18, 18, 18, .045);
	border-radius: 13px;
	background: #f8f8f8;
	box-shadow: 0 5px 16px rgba(18, 18, 18, .045);
}

.aisp-card__price-label {
	flex: 0 0 auto;
	color: var(--aisp-theme-text);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	opacity: .85;
}

.aisp-card__price {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 3px 7px;
	margin: 0;
	color: var(--aisp-theme-body-color);
	font-size: 15px;
	font-weight: 750;
	line-height: 1.55;
	text-align: end;
}

.aisp-card__price .amount {
	font-weight: inherit;
}

.aisp-card__price del {
	margin: 0;
	color: #a0a0a0;
	font-size: .82em;
	font-weight: 450;
	opacity: 1;
}

.aisp-card__price ins {
	color: inherit;
	font-weight: inherit;
	text-decoration: none;
}

.aisp-showcase .aisp-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	gap: 8px;
	min-height: 46px;
	margin: 0;
	padding: 11px 17px;
	border: 0;
	border-radius: 12px;
	background: var(--aisp-theme-accent);
	color: #fff;
	font-family: inherit;
	font-size: 13px;
	font-weight: 650;
	line-height: 1;
	text-decoration: none !important;
	box-shadow: 0 8px 20px rgba(18, 18, 18, .13);
	transition: color .25s ease, background-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.aisp-showcase .aisp-card__button--full,
.aisp-card--button-full .aisp-card__button {
	align-self: stretch;
	width: 100%;
}

.aisp-card__button-icon {
	width: 17px;
	height: 17px;
	flex: 0 0 auto;
	transition: transform .25s ease;
}

.aisp-card__button:hover,
.aisp-card__button:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(18, 18, 18, .18);
}

.aisp-card__button:hover .aisp-card__button-icon {
	transform: translateX(2px);
}

[dir="rtl"] .aisp-card__button-icon {
	transform: scaleX(-1);
}

[dir="rtl"] .aisp-card__button:hover .aisp-card__button-icon {
	transform: scaleX(-1) translateX(2px);
}

@media (hover: hover) and (pointer: fine) {
	.aisp-card--has-hover-image:hover .aisp-card__image--hover,
	.aisp-card--has-hover-image:focus-within .aisp-card__image--hover {
		opacity: 1;
		transform: translate(0,0) scale(1) translateZ(0);
	}

	.aisp-hover-crossfade_zoom .aisp-card--has-hover-image:hover .aisp-card__image--primary,
	.aisp-hover-crossfade_zoom .aisp-card--has-hover-image:focus-within .aisp-card__image--primary {
		transform: scale(var(--aisp-hover-scale)) translateZ(0);
	}

	.aisp-hover-crossfade .aisp-card--has-hover-image:hover .aisp-card__image--primary,
	.aisp-hover-slide_up .aisp-card--has-hover-image:hover .aisp-card__image--primary,
	.aisp-hover-slide_side .aisp-card--has-hover-image:hover .aisp-card__image--primary,
	.aisp-hover-crossfade .aisp-card--has-hover-image:focus-within .aisp-card__image--primary,
	.aisp-hover-slide_up .aisp-card--has-hover-image:focus-within .aisp-card__image--primary,
	.aisp-hover-slide_side .aisp-card--has-hover-image:focus-within .aisp-card__image--primary {
		opacity: .1;
	}

	.aisp-hover-none .aisp-card--has-hover-image:hover .aisp-card__image--hover,
	.aisp-hover-none .aisp-card--has-hover-image:focus-within .aisp-card__image--hover {
		opacity: 1;
		transition-duration: .01ms;
	}

	.aisp-card--swatch-active:hover .aisp-card__image--hover,
	.aisp-card--swatch-preview:hover .aisp-card__image--hover,
	.aisp-card--swatch-active:focus-within .aisp-card__image--hover,
	.aisp-card--swatch-preview:focus-within .aisp-card__image--hover {
		opacity: 0 !important;
	}
}

.aisp-card__media:focus-visible,
.aisp-card__title-link:focus-visible,
.aisp-card__button:focus-visible,
.aisp-nav:focus-visible,
.aisp-archive-pagination a:focus-visible {
	outline: 2px solid var(--aisp-theme-accent);
	outline-offset: 3px;
}

.aisp-nav,
.aisp-pagination {
	display: none;
}

.aisp-is-carousel .aisp-nav {
	position: absolute;
	z-index: 20;
	top: 40%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 1px solid rgba(18,18,18,.07);
	border-radius: 999px;
	background: rgba(255,255,255,.96);
	color: var(--aisp-theme-body-color);
	box-shadow: 0 8px 26px rgba(0,0,0,.11);
	cursor: pointer;
	transform: translateY(-50%);
	transition: opacity .25s ease, box-shadow .25s ease, transform .25s ease;
	backdrop-filter: blur(8px);
}

.aisp-is-carousel .aisp-nav:hover {
	box-shadow: 0 10px 30px rgba(0,0,0,.16);
}

.aisp-is-carousel .aisp-nav.swiper-button-disabled {
	opacity: .28;
	cursor: default;
}

.aisp-is-carousel .aisp-prev { inset-inline-start: 8px; }
.aisp-is-carousel .aisp-next { inset-inline-end: 8px; }

.aisp-nav svg {
	display: block;
	width: 18px;
	height: 18px;
}

[dir="rtl"] .aisp-nav svg {
	transform: scaleX(-1);
}

.aisp-is-carousel .aisp-pagination {
	position: relative;
	inset: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 4px;
	gap: 7px;
	transform: none;
}

.aisp-pagination .swiper-pagination-bullet {
	width: 7px;
	height: 7px;
	margin: 0 !important;
	background: #d6d6d6;
	opacity: 1;
	transition: width .25s ease, border-radius .25s ease, background-color .25s ease;
}

.aisp-pagination .swiper-pagination-bullet-active {
	width: 20px;
	border-radius: 999px;
	background: var(--aisp-theme-accent);
}

.aisp-showcase:not(.aisp-has-navigation) .aisp-nav { display: none !important; }
.aisp-showcase:not(.aisp-has-pagination) .aisp-pagination { display: none !important; }

.aisp-archive-pagination {
	width: 100%;
	margin-top: 34px;
}

.aisp-archive-pagination ul {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.aisp-archive-pagination li {
	margin: 0;
	padding: 0;
}

.aisp-archive-pagination a,
.aisp-archive-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 10px;
	border: 1px solid rgba(0,0,0,.1);
	border-radius: 10px;
	background: #fff;
	color: var(--aisp-theme-body-color);
	font-size: 13px;
	line-height: 1;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.aisp-archive-pagination .current {
	border-color: var(--aisp-theme-accent);
	background: var(--aisp-theme-accent);
	color: #fff;
}

.aisp-empty {
	padding: 28px 20px;
	border: 1px dashed rgba(0,0,0,.14);
	border-radius: 12px;
	color: var(--aisp-theme-text);
	font-size: 14px;
	text-align: center;
}

.aisp-editor-notice {
	padding: 16px 18px;
	border: 1px solid #e3e3e3;
	border-radius: 10px;
	background: #fff;
	color: #555;
	font-size: 13px;
}

.aisp-showcase .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

@media (max-width: 1024px) {
	.aisp-showcase:not(.aisp-is-carousel) .aisp-wrapper {
		grid-template-columns: repeat(var(--aisp-grid-columns-tablet, 3), minmax(0, 1fr));
		column-gap: var(--aisp-grid-column-gap-tablet, 18px);
		row-gap: var(--aisp-grid-row-gap-tablet, 18px);
	}
}

@media (max-width: 767px) {
	.aisp-showcase:not(.aisp-is-carousel) .aisp-wrapper {
		grid-template-columns: repeat(var(--aisp-grid-columns-mobile, 2), minmax(0, 1fr));
		column-gap: var(--aisp-grid-column-gap-mobile, 14px);
		row-gap: var(--aisp-grid-row-gap-mobile, 14px);
	}

	.aisp-swiper {
		padding-block: 5px 12px;
	}

	.aisp-card {
		border-radius: 16px;
	}

	.aisp-card__body {
		padding: 12px 11px 13px;
	}

	.aisp-card__title {
		font-size: 13.5px;
		line-height: 1.6;
	}

	.aisp-card__swatches {
		margin-top: 8px;
	}

	.aisp-card__footer {
		gap: 8px;
		padding-top: 11px;
	}

	.aisp-card__price-panel {
		min-height: 50px;
		padding: 9px 10px;
	}

	.aisp-card__price {
		font-size: 13px;
	}

	.aisp-card__price-label {
		font-size: 11px;
	}

	.aisp-showcase .aisp-card__button {
		min-height: 43px;
		padding: 10px 12px;
		font-size: 12px;
	}

	.aisp-is-carousel .aisp-nav {
		display: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.aisp-showcase *,
	.aisp-showcase *::before,
	.aisp-showcase *::after {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
	}
}

/* ===== AIS Product Showcase v1.4 compact commerce card ===== */
.aisp-showcase {
	--aisp-button-bg: var(--aisp-theme-accent);
	--aisp-button-color: #fff;
	--aisp-button-radius: 12px;
	--aisp-card-compact-gap: 8px;
}

.aisp-showcase .aisp-swiper {
	padding-block: 0;
}

.aisp-showcase.aisp-has-pagination .aisp-swiper {
	padding-bottom: 26px;
}

.aisp-card__media-wrap {
	position: relative;
	isolation: isolate;
	width: 100%;
	min-width: 0;
}

.aisp-card__media-wrap > .aisp-card__media {
	width: 100%;
}

.aisp-card__body {
	padding: 13px 14px 14px;
}

.aisp-card__category {
	margin: 0 0 4px;
	font-size: 11px;
	line-height: 1.35;
}

.aisp-category-chip .aisp-card__category {
	align-self: flex-start;
	max-width: 100%;
	padding: 4px 8px;
	border-radius: 999px;
	background: rgba(18, 18, 18, .055);
	font-size: 10px;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.aisp-card__title {
	min-height: 0;
	font-size: 14px;
	line-height: 1.55;
}

.aisp-title-lines-1 .aisp-card__title {
	-webkit-line-clamp: 1;
	white-space: normal;
}

.aisp-title-lines-2 .aisp-card__title { -webkit-line-clamp: 2; }
.aisp-title-lines-3 .aisp-card__title { -webkit-line-clamp: 3; }

.aisp-card__rating {
	margin-top: 5px;
}

.aisp-card__swatches {
	min-height: 24px;
	margin-top: 7px;
}

.aisp-card__footer {
	gap: 8px;
	padding-top: 10px;
}

.aisp-footer-inline .aisp-card__footer {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	min-width: 0;
}

.aisp-footer-inline .aisp-card__price-panel {
	flex: 1 1 auto;
	min-width: 0;
}

.aisp-button-pos-start.aisp-footer-inline .aisp-card__button {
	order: -1;
}

.aisp-button-pos-end.aisp-footer-inline .aisp-card__button {
	order: 2;
}

.aisp-card__price-panel {
	min-height: 40px;
	padding: 7px 9px;
	gap: 6px;
}

.aisp-price-minimal .aisp-card__price-panel {
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent !important;
	box-shadow: none !important;
}

.aisp-price-pill .aisp-card__price-panel {
	min-height: 38px;
	padding: 6px 10px;
	border: 1px solid rgba(18, 18, 18, .05);
	border-radius: 999px;
	background: #f7f7f6;
	box-shadow: 0 4px 13px rgba(18, 18, 18, .045);
}

.aisp-price-box .aisp-card__price-panel {
	min-height: 42px;
	padding: 8px 10px;
	border: 1px solid rgba(18, 18, 18, .045);
	background: #f8f8f8;
	box-shadow: 0 5px 16px rgba(18, 18, 18, .055);
}

.aisp-card__price-label {
	font-size: 11px;
	font-weight: 500;
	white-space: nowrap;
}

.aisp-card__price {
	flex: 0 1 auto;
	justify-content: flex-start;
	font-size: 14px;
	line-height: 1.35;
	white-space: normal;
}

.aisp-footer-inline .aisp-card__price {
	justify-content: flex-end;
	text-align: end;
}

.aisp-showcase .aisp-card__button {
	flex: 0 0 auto;
	min-height: 42px;
	padding: 9px 13px;
	border-radius: var(--aisp-button-radius);
	background: var(--aisp-button-bg);
	color: var(--aisp-button-color);
	font-size: 12px;
	box-shadow: 0 7px 18px rgba(18,18,18,.12);
}

.aisp-card__button--text {
	padding-inline: 14px;
}

.aisp-showcase .aisp-card__button--icon,
.aisp-showcase .aisp-card__button--media_icon {
	width: 42px;
	height: 42px;
	min-width: 42px;
	min-height: 42px;
	padding: 0;
	border-radius: 50%;
}

.aisp-card__button--icon .aisp-card__button-icon,
.aisp-card__button--media_icon .aisp-card__button-icon {
	width: 18px;
	height: 18px;
}

.aisp-card__media-action {
	position: absolute;
	z-index: 8;
	inset-inline-end: 12px;
	bottom: 12px;
	pointer-events: none;
}

.aisp-card__media-action .aisp-card__button {
	pointer-events: auto;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

@media (hover: hover) and (pointer: fine) {
	.aisp-button-mode-media_icon .aisp-card__media-action {
		opacity: 0;
		transform: translateY(8px) scale(.94);
		transition: opacity .25s ease, transform .25s cubic-bezier(.2,.65,.25,1);
	}

	.aisp-button-mode-media_icon .aisp-card:hover .aisp-card__media-action,
	.aisp-button-mode-media_icon .aisp-card:focus-within .aisp-card__media-action {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.aisp-footer-inline.aisp-button-mode-icon .aisp-card__footer,
.aisp-footer-inline.aisp-button-mode-icon_text .aisp-card__footer,
.aisp-footer-inline.aisp-button-mode-text .aisp-card__footer {
	min-height: 42px;
}

.aisp-button-mode-media_icon .aisp-card__footer {
	min-height: 0;
}

.aisp-footer-inline .aisp-card__button--full,
.aisp-footer-inline .aisp-card--button-full .aisp-card__button {
	width: auto;
	align-self: center;
}

.aisp-footer-stacked .aisp-card__button--full,
.aisp-footer-stacked .aisp-card--button-full .aisp-card__button {
	width: 100%;
	align-self: stretch;
}

/* Keep cards equal without creating dead vertical area. */
.aisp-showcase.aisp-is-carousel .aisp-slide {
	height: auto !important;
}

.aisp-showcase.aisp-is-carousel .aisp-card {
	height: 100%;
}

.aisp-showcase.aisp-is-carousel .swiper-wrapper {
	align-items: stretch;
}

@media (max-width: 767px) {
	.aisp-card__body {
		padding: 11px 12px 12px;
	}

	.aisp-card__footer {
		padding-top: 8px;
	}

	.aisp-card__title {
		font-size: 13px;
	}

	.aisp-card__price {
		font-size: 13px;
	}

	.aisp-showcase .aisp-card__button {
		min-height: 38px;
		padding: 8px 11px;
	}

	.aisp-showcase .aisp-card__button--icon,
	.aisp-showcase .aisp-card__button--media_icon {
		width: 38px;
		height: 38px;
		min-width: 38px;
		min-height: 38px;
	}
}

/* Price label stays visually attached to the amount instead of drifting to the opposite edge. */
.aisp-showcase .aisp-card__price-panel {
	justify-content: flex-start;
}

.aisp-footer-inline .aisp-card__price {
	justify-content: flex-start;
	text-align: start;
}

/* === Dynamic WooCommerce catalog filters === */
.aisp-catalog {
	--aisp-filter-width: 285px;
	--aisp-filter-accent: var(--aisp-theme-accent, #171717);
	--aisp-filter-text: #1a1a1a;
	--aisp-filter-muted: #777;
	--aisp-filter-border: rgba(18,18,18,.09);
	--aisp-filter-soft: rgba(18,18,18,.045);
	--aisp-filter-font: inherit;
	position: relative;
	width: 100%;
	min-width: 0;
	font-family: var(--aisp-filter-font);
	color: var(--aisp-filter-text);
}

.aisp-catalog *,
.aisp-catalog *::before,
.aisp-catalog *::after { box-sizing: border-box; }

.aisp-catalog__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	gap: 24px;
	min-width: 0;
}

.aisp-catalog--filters.aisp-filter-layout-sidebar .aisp-catalog__layout {
	grid-template-columns: var(--aisp-filter-width) minmax(0, 1fr);
}

[dir="rtl"] .aisp-catalog--filters.aisp-filter-layout-sidebar.aisp-filter-position-right .aisp-filters,
.aisp-catalog--filters.aisp-filter-layout-sidebar.aisp-filter-position-right .aisp-filters { grid-column: 1; }

[dir="rtl"] .aisp-catalog--filters.aisp-filter-layout-sidebar.aisp-filter-position-right .aisp-results,
.aisp-catalog--filters.aisp-filter-layout-sidebar.aisp-filter-position-right .aisp-results { grid-column: 2; }

.aisp-catalog--filters.aisp-filter-layout-sidebar.aisp-filter-position-left .aisp-filters { grid-column: 2; }
.aisp-catalog--filters.aisp-filter-layout-sidebar.aisp-filter-position-left .aisp-results { grid-column: 1; grid-row: 1; }

.aisp-filter-layout-horizontal .aisp-catalog__layout { display: block; }
.aisp-filter-layout-horizontal .aisp-filters { margin-bottom: 18px; }
.aisp-filter-layout-horizontal .aisp-filters__panel { position: static; }
.aisp-filter-layout-horizontal .aisp-filter-form {
	display: grid;
	grid-template-columns: repeat(4, minmax(150px, 1fr));
	gap: 0 18px;
}
.aisp-filter-layout-horizontal .aisp-filters__head { display: none; }
.aisp-filter-layout-horizontal .aisp-filter-group { border-bottom: 0; }
.aisp-filter-layout-horizontal .aisp-filter-actions { grid-column: 1 / -1; }

.aisp-results { position: relative; min-width: 0; }

.aisp-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 16px;
	min-width: 0;
}

.aisp-toolbar__start { display: flex; align-items: center; gap: 12px; min-width: 0; }
.aisp-toolbar__count { color: var(--aisp-filter-muted); font-size: 13px; white-space: nowrap; }

.aisp-filter-toggle {
	display: none;
	align-items: center;
	gap: 7px;
	min-height: 42px;
	padding: 8px 13px;
	border: 1px solid var(--aisp-filter-border);
	border-radius: 12px;
	background: #fff;
	color: var(--aisp-filter-text);
	font: inherit;
	font-size: 13px;
	font-weight: 650;
	cursor: pointer;
}
.aisp-filter-toggle__icon { display: inline-flex; width: 18px; height: 18px; }
.aisp-filter-toggle__icon svg { width: 100%; height: 100%; }
.aisp-filter-toggle__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--aisp-filter-accent);
	color: #fff;
	font-size: 11px;
	line-height: 1;
}

.aisp-sort { display: flex; align-items: center; min-width: 180px; }
.aisp-sort__select {
	width: 100%;
	min-height: 42px;
	padding: 8px 12px;
	border: 1px solid var(--aisp-filter-border);
	border-radius: 12px;
	outline: 0;
	background: #fff;
	color: var(--aisp-filter-text);
	font: inherit;
	font-size: 13px;
	cursor: pointer;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.aisp-sort__select:focus { border-color: var(--aisp-filter-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--aisp-filter-accent) 12%, transparent); }

.aisp-active-filters {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: -4px 0 16px;
}
.aisp-active-filter,
.aisp-active-filters__clear {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 31px;
	padding: 5px 9px;
	border: 1px solid var(--aisp-filter-border);
	border-radius: 999px;
	background: #fff;
	color: var(--aisp-filter-text);
	font: inherit;
	font-size: 11px;
	cursor: pointer;
	transition: border-color .2s ease, background .2s ease, color .2s ease;
}
.aisp-active-filter svg { width: 14px; height: 14px; }
.aisp-active-filter:hover { border-color: var(--aisp-filter-accent); }
.aisp-active-filters__clear { border-color: transparent; background: transparent; color: var(--aisp-filter-muted); }

.aisp-filters { min-width: 0; }
.aisp-filters__panel {
	position: sticky;
	top: 20px;
	overflow: hidden;
	border: 1px solid var(--aisp-filter-border);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 28px rgba(18,18,18,.055);
}
.aisp-filters__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 17px 13px;
	border-bottom: 1px solid var(--aisp-filter-border);
	font-size: 14px;
}
.aisp-filter-close {
	display: none;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--aisp-filter-soft);
	color: inherit;
	cursor: pointer;
}
.aisp-filter-close svg { width: 19px; height: 19px; }

.aisp-filter-form { margin: 0; }
.aisp-filter-group { margin: 0; padding: 0 16px; border-bottom: 1px solid var(--aisp-filter-border); }
.aisp-filter-group:last-of-type { border-bottom: 0; }
.aisp-filter-group__title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 52px;
	padding: 13px 0;
	list-style: none;
	color: var(--aisp-filter-text);
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	user-select: none;
}
.aisp-filter-group__title::-webkit-details-marker { display: none; }
.aisp-filter-group__title svg { width: 18px; height: 18px; transition: transform .2s ease; }
.aisp-filter-group[open] > .aisp-filter-group__title svg { transform: rotate(180deg); }
.aisp-filter-group__body { display: flex; flex-direction: column; gap: 9px; padding: 0 0 15px; }
.aisp-filter-group__body--dropdown { display: block; }
.aisp-filter-select {
	width: 100%;
	min-height: 42px;
	padding: 8px 11px;
	border: 1px solid rgba(18,18,18,.13);
	border-radius: 10px;
	background: #fff;
	color: var(--aisp-filter-text);
	font: inherit;
	cursor: pointer;
}
.aisp-filter-select:focus { outline: 2px solid var(--aisp-filter-accent); outline-offset: 1px; border-color: var(--aisp-filter-accent); }

.aisp-filter-option {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
	min-height: 27px;
	margin: 0;
	color: var(--aisp-filter-text);
	font-size: 12px;
	line-height: 1.45;
	cursor: pointer;
}
.aisp-filter-option input { position: absolute; opacity: 0; pointer-events: none; }
.aisp-filter-option__check {
	position: relative;
	width: 18px;
	height: 18px;
	border: 1px solid rgba(18,18,18,.2);
	border-radius: 5px;
	background: #fff;
	transition: background .18s ease, border-color .18s ease;
}
.aisp-filter-option__check::after {
	content: '';
	position: absolute;
	left: 5px;
	top: 2px;
	width: 5px;
	height: 9px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg) scale(.6);
	opacity: 0;
	transition: opacity .18s ease, transform .18s ease;
}
.aisp-filter-option input:checked + .aisp-filter-option__check { background: var(--aisp-filter-accent); border-color: var(--aisp-filter-accent); }
.aisp-filter-option input:checked + .aisp-filter-option__check::after { opacity: 1; transform: rotate(45deg) scale(1); }
.aisp-filter-option input:focus-visible + .aisp-filter-option__check { outline: 2px solid var(--aisp-filter-accent); outline-offset: 2px; }
.aisp-filter-option__count { margin-inline-start: auto; color: var(--aisp-filter-muted); font-size: 10px; }

.aisp-filter-group__body--chips { flex-direction: row; flex-wrap: wrap; gap: 8px; }
.aisp-filter-chip { position: relative; display: inline-flex; align-items: center; margin: 0; cursor: pointer; }
.aisp-filter-chip input { position: absolute; opacity: 0; pointer-events: none; }
.aisp-filter-chip > span:first-of-type {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 39px;
	min-height: 34px;
	padding: 6px 10px;
	border: 1px solid var(--aisp-filter-border);
	border-radius: 9px;
	background: #fff;
	color: var(--aisp-filter-text);
	font-size: 11px;
	font-weight: 600;
	transition: border-color .18s ease, background .18s ease, color .18s ease;
}
.aisp-filter-chip input:checked + span:first-of-type { border-color: var(--aisp-filter-accent); background: var(--aisp-filter-accent); color: #fff; }
.aisp-filter-chip .aisp-filter-option__count { margin-inline-start: 4px; }

.aisp-filter-group__body--color { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px 8px; }
.aisp-filter-color {
	display: grid;
	grid-template-columns: 24px minmax(0,1fr) auto;
	align-items: center;
	gap: 8px;
	min-width: 0;
	margin: 0;
	font-size: 11px;
	cursor: pointer;
}
.aisp-filter-color input { position: absolute; opacity: 0; pointer-events: none; }
.aisp-filter-color__dot {
	--aisp-filter-swatch: #ddd;
	position: relative;
	display: inline-block;
	width: 22px;
	height: 22px;
	border: 2px solid #fff;
	border-radius: 50%;
	outline: 1px solid rgba(18,18,18,.17);
	background: var(--aisp-filter-swatch);
	box-shadow: 0 1px 5px rgba(0,0,0,.08);
}
.aisp-filter-color__dot::after {
	content: '';
	position: absolute;
	inset: -5px;
	border: 1.5px solid transparent;
	border-radius: 50%;
}
.aisp-filter-color input:checked + .aisp-filter-color__dot::after { border-color: var(--aisp-filter-accent); }
.aisp-filter-color input:focus-visible + .aisp-filter-color__dot { outline: 2px solid var(--aisp-filter-accent); outline-offset: 2px; }
.aisp-filter-color__label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.aisp-filter-group__body--status { gap: 12px; }
.aisp-filter-switch { display: flex; align-items: center; gap: 9px; margin: 0; font-size: 12px; cursor: pointer; }
.aisp-filter-switch input { position: absolute; opacity: 0; pointer-events: none; }
.aisp-filter-switch__control {
	position: relative;
	width: 36px;
	height: 20px;
	flex: 0 0 auto;
	border-radius: 999px;
	background: #d9d9d9;
	transition: background .2s ease;
}
.aisp-filter-switch__control::after {
	content: '';
	position: absolute;
	top: 3px;
	inset-inline-start: 3px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 4px rgba(0,0,0,.16);
	transition: transform .2s ease;
}
.aisp-filter-switch input:checked + .aisp-filter-switch__control { background: var(--aisp-filter-accent); }
.aisp-filter-switch input:checked + .aisp-filter-switch__control::after { transform: translateX(16px); }
[dir="rtl"] .aisp-filter-switch input:checked + .aisp-filter-switch__control::after { transform: translateX(-16px); }

.aisp-price-range { position: relative; padding-top: 2px; }
.aisp-price-range__labels { display: flex; align-items: center; justify-content: space-between; gap: 6px; color: var(--aisp-filter-text); font-size: 11px; font-weight: 600; }
.aisp-price-range__dash { color: var(--aisp-filter-muted); }
.aisp-price-range__track { position: relative; height: 4px; margin: 16px 3px 15px; border-radius: 999px; background: #e8e8e8; }
.aisp-price-range__fill { position: absolute; inset-block: 0; border-radius: inherit; background: var(--aisp-filter-accent); }
.aisp-price-range__slider {
	position: absolute;
	left: 3px;
	right: 3px;
	top: 46px;
	width: calc(100% - 6px);
	height: 4px;
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	background: transparent;
	pointer-events: none;
	-webkit-appearance: none;
	appearance: none;
}
.aisp-price-range__slider::-webkit-slider-thumb {
	width: 16px;
	height: 16px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--aisp-filter-accent);
	box-shadow: 0 0 0 1px rgba(18,18,18,.12), 0 2px 6px rgba(0,0,0,.14);
	pointer-events: auto;
	cursor: grab;
	-webkit-appearance: none;
}
.aisp-price-range__slider::-moz-range-thumb {
	width: 16px;
	height: 16px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--aisp-filter-accent);
	box-shadow: 0 0 0 1px rgba(18,18,18,.12), 0 2px 6px rgba(0,0,0,.14);
	pointer-events: auto;
	cursor: grab;
}
.aisp-price-range__inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.aisp-price-range__inputs label { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 6px; min-width: 0; color: var(--aisp-filter-muted); font-size: 10px; }
.aisp-price-range__inputs input {
	width: 100%;
	min-width: 0;
	height: 34px;
	padding: 5px 7px;
	border: 1px solid var(--aisp-filter-border);
	border-radius: 8px;
	outline: 0;
	background: #fff;
	color: var(--aisp-filter-text);
	font: inherit;
	font-size: 11px;
	text-align: center;
}
.aisp-price-range__inputs input:focus { border-color: var(--aisp-filter-accent); }

.aisp-filter-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 13px 16px; }
.aisp-filter-clear,
.aisp-filter-submit {
	min-height: 36px;
	padding: 7px 11px;
	border: 0;
	border-radius: 9px;
	font: inherit;
	font-size: 11px;
	font-weight: 600;
	cursor: pointer;
}
.aisp-filter-clear { background: transparent; color: var(--aisp-filter-muted); }
.aisp-filter-submit { background: var(--aisp-filter-accent); color: #fff; }

.aisp-filter-overlay { display: none; }

.aisp-catalog.aisp-is-filtering .aisp-results { min-height: 180px; }
.aisp-catalog.aisp-is-filtering .aisp-results::before {
	content: '';
	position: absolute;
	z-index: 30;
	inset: 0;
	border-radius: 16px;
	background: rgba(255,255,255,.66);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}
.aisp-catalog.aisp-is-filtering .aisp-results::after {
	content: '';
	position: absolute;
	z-index: 31;
	top: 80px;
	left: 50%;
	width: 28px;
	height: 28px;
	margin-left: -14px;
	border: 3px solid rgba(18,18,18,.13);
	border-top-color: var(--aisp-filter-accent);
	border-radius: 50%;
	animation: aisp-filter-spin .7s linear infinite;
}
@keyframes aisp-filter-spin { to { transform: rotate(360deg); } }

.aisp-empty {
	margin: 8px 0 20px;
	padding: 28px 18px;
	border: 1px dashed var(--aisp-filter-border);
	border-radius: 14px;
	background: #fafafa;
	color: var(--aisp-filter-muted);
	text-align: center;
	font-size: 13px;
}

@media (max-width: 1024px) {
	.aisp-filter-layout-horizontal .aisp-filter-form { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
	.aisp-catalog--filters.aisp-filter-layout-sidebar .aisp-catalog__layout { grid-template-columns: minmax(220px, 250px) minmax(0,1fr); gap: 18px; }
}

@media (max-width: 767px) {
	html.aisp-filter-lock { overflow: hidden; }
	.aisp-catalog--filters .aisp-catalog__layout,
	.aisp-catalog--filters.aisp-filter-layout-sidebar .aisp-catalog__layout { display: block; }
	.aisp-catalog--filters .aisp-results { width: 100%; }
	.aisp-toolbar { margin-bottom: 12px; }
	.aisp-toolbar__count { font-size: 11px; }
	.aisp-filter-toggle { display: inline-flex; }
	.aisp-sort { min-width: 142px; max-width: 52%; }
	.aisp-sort__select { min-height: 40px; padding-inline: 9px; font-size: 11px; }
	.aisp-active-filters { flex-wrap: nowrap; overflow-x: auto; margin-bottom: 12px; padding-bottom: 3px; scrollbar-width: none; }
	.aisp-active-filters::-webkit-scrollbar { display: none; }
	.aisp-active-filter, .aisp-active-filters__clear { flex: 0 0 auto; }

	.aisp-filters {
		position: fixed;
		z-index: 99992;
		top: 0;
		right: 0;
		bottom: 0;
		width: min(88vw, 360px);
		max-width: 100%;
		margin: 0 !important;
		transform: translateX(105%);
		visibility: hidden;
		transition: transform .3s cubic-bezier(.2,.65,.25,1), visibility .3s;
	}
	.aisp-filters__panel {
		position: static;
		display: flex;
		flex-direction: column;
		height: 100%;
		border-radius: 0;
		border-block: 0;
		border-inline-end: 0;
		box-shadow: -18px 0 45px rgba(0,0,0,.12);
	}
	.aisp-filters__head { flex: 0 0 auto; padding: 14px 16px; }
	.aisp-filter-close { display: inline-flex; }
	.aisp-filter-form { overflow-y: auto; overscroll-behavior: contain; padding-bottom: 16px; }
	.aisp-filter-layout-horizontal .aisp-filter-form { display: block; }
	.aisp-filter-layout-horizontal .aisp-filters__head { display: flex; }
	.aisp-filter-group { padding-inline: 16px; }
	.aisp-filter-group__title { min-height: 50px; }
	.aisp-filter-actions { position: sticky; bottom: 0; z-index: 2; background: #fff; border-top: 1px solid var(--aisp-filter-border); }

	.aisp-filter-overlay {
		position: fixed;
		z-index: 99991;
		inset: 0;
		display: block;
		width: 100%;
		height: 100%;
		padding: 0;
		border: 0;
		background: rgba(0,0,0,.28);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity .25s ease, visibility .25s;
	}
	.aisp-catalog.aisp-filters-open .aisp-filters { transform: translateX(0); visibility: visible; }
	.aisp-catalog.aisp-filters-open .aisp-filter-overlay { opacity: 1; visibility: visible; pointer-events: auto; }
}

@media (prefers-reduced-motion: reduce) {
	.aisp-filters,
	.aisp-filter-overlay,
	.aisp-filter-group__title svg,
	.aisp-filter-option__check,
	.aisp-filter-switch__control,
	.aisp-filter-switch__control::after { transition: none !important; }
	.aisp-catalog.aisp-is-filtering .aisp-results::after { animation-duration: 1.5s; }
}


/* Archive heading, WooCommerce breadcrumb and SEO content */
.aisp-archive-header {
	width: 100%;
	margin-bottom: 26px;
}

.aisp-breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	margin: 0;
	color: #7b7b7b;
	font-size: 12px;
	line-height: 1.8;
}

.aisp-breadcrumb a {
	color: #5e5e5e;
	text-decoration: none !important;
	transition: color .2s ease;
}

.aisp-breadcrumb a:hover { color: var(--aisp-theme-accent, #171717); }
.aisp-breadcrumb__sep { opacity: .45; }
.aisp-breadcrumb__current { color: inherit; }

.aisp-archive-title {
	margin: 10px 0 0;
	color: #171717;
	font-family: var(--aisp-theme-font, inherit);
	font-size: clamp(24px, 2.5vw, 38px);
	font-weight: 750;
	line-height: 1.35;
}

.aisp-seo-content {
	position: relative;
	width: 100%;
	margin-top: 28px;
	padding: 22px 24px;
	border: 1px solid rgba(18,18,18,.07);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 7px 24px rgba(18,18,18,.045);
	font-family: var(--aisp-theme-font, inherit);
}

.aisp-archive-header + .aisp-seo-content { margin-top: 0; margin-bottom: 28px; }

.aisp-seo-content__text {
	position: relative;
	overflow: hidden;
	color: #545454;
	font-size: 14px;
	line-height: 2;
	transition: max-height .45s cubic-bezier(.2,.65,.25,1);
}

.aisp-seo-content__text > :first-child { margin-top: 0; }
.aisp-seo-content__text > :last-child { margin-bottom: 0; }
.aisp-seo-content__text h2,
.aisp-seo-content__text h3,
.aisp-seo-content__text h4 { color: var(--aisp-theme-body-color, #171717); line-height: 1.6; }
.aisp-seo-content__text a { color: var(--aisp-theme-accent, #171717); text-decoration: underline; text-underline-offset: 3px; }

.aisp-seo-content.is-collapsed .aisp-seo-content__text { max-height: 150px; }
.aisp-seo-content.is-expanded .aisp-seo-content__text { max-height: none; }

.aisp-seo-content.is-collapsed::after {
	content: '';
	position: absolute;
	z-index: 1;
	inset-inline: 1px;
	bottom: 54px;
	height: 72px;
	border-radius: 0 0 14px 14px;
	background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.98) 82%);
	pointer-events: none;
}

.aisp-seo-content__toggle {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 38px;
	margin-top: 12px;
	padding: 7px 13px;
	border: 0;
	border-radius: 10px;
	background: #f3f3f3;
	color: #171717;
	font: inherit;
	font-size: 12px;
	font-weight: 650;
	line-height: 1;
	cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}

.aisp-seo-content__toggle:hover { transform: translateY(-1px); }
.aisp-seo-content__toggle svg { width: 16px; height: 16px; transition: transform .25s ease; }
.aisp-seo-content.is-expanded .aisp-seo-content__toggle svg { transform: rotate(180deg); }

@media (max-width: 767px) {
	.aisp-archive-header { margin-bottom: 18px; }
	.aisp-breadcrumb { gap: 5px; font-size: 11px; }
	.aisp-archive-title { margin-top: 8px; font-size: clamp(22px, 7vw, 30px); }
	.aisp-seo-content { margin-top: 20px; padding: 17px 16px; border-radius: 13px; }
	.aisp-archive-header + .aisp-seo-content { margin-bottom: 20px; }
	.aisp-seo-content__text { font-size: 13px; line-height: 1.95; }
	.aisp-seo-content.is-collapsed .aisp-seo-content__text { max-height: 125px; }
}

@media (prefers-reduced-motion: reduce) {
	.aisp-seo-content__text,
	.aisp-seo-content__toggle,
	.aisp-seo-content__toggle svg { transition: none !important; }
}

/* === Product card refinements (v1.8) === */
.aisp-showcase{
	--aisp-swatch-size:16px;
}

/* Color swatches float exactly on the image/body seam. */
.aisp-card__media-wrap > .aisp-card__swatches{
	position:absolute;
	z-index:10;
	left:50%;
	bottom:-10px;
	transform:translateX(-50%);
	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:nowrap;
	gap:5px;
	width:max-content;
	max-width:calc(100% - 28px);
	min-height:0;
	margin:0;
	padding:4px 6px;
	border:1px solid rgba(18,18,18,.055);
	border-radius:999px;
	background:rgba(255,255,255,.94);
	box-shadow:0 5px 14px rgba(18,18,18,.10);
	backdrop-filter:blur(7px);
	-webkit-backdrop-filter:blur(7px);
	overflow-x:auto;
	overflow-y:hidden;
	scrollbar-width:none;
	white-space:nowrap;
}
.aisp-card__media-wrap > .aisp-card__swatches::-webkit-scrollbar{display:none}
.aisp-card--has-swatches .aisp-card__body{padding-top:21px}

/* Defensive reset against theme button CSS. A color dot must remain a circle, civilization permitting. */
.aisp-showcase button.aisp-swatch,
.aisp-showcase .aisp-swatch{
	position:relative!important;
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	flex:0 0 var(--aisp-swatch-size)!important;
	inline-size:var(--aisp-swatch-size)!important;
	block-size:var(--aisp-swatch-size)!important;
	width:var(--aisp-swatch-size)!important;
	height:var(--aisp-swatch-size)!important;
	min-width:var(--aisp-swatch-size)!important;
	min-height:var(--aisp-swatch-size)!important;
	max-width:var(--aisp-swatch-size)!important;
	max-height:var(--aisp-swatch-size)!important;
	aspect-ratio:1/1!important;
	margin:0!important;
	padding:0!important;
	border:1px solid #fff!important;
	border-radius:50%!important;
	outline:1px solid rgba(18,18,18,.16)!important;
	line-height:0!important;
	font-size:0!important;
	box-shadow:0 1px 4px rgba(0,0,0,.09)!important;
	appearance:none!important;
	-webkit-appearance:none!important;
}
.aisp-showcase .aisp-swatch::after{
	inset:-3px;
	border-width:1px;
	border-radius:50%!important;
}
.aisp-showcase .aisp-swatch:hover,
.aisp-showcase .aisp-swatch:focus-visible,
.aisp-showcase .aisp-swatch[aria-pressed="true"]{
	transform:scale(1.08);
	outline-color:transparent!important;
}

/* Variable products deliberately show one current amount, never WooCommerce's range. */
.aisp-showcase .aisp-card__price-panel{
	flex-wrap:nowrap;
	min-width:0;
}
.aisp-showcase .aisp-card__price{
	min-width:0;
	white-space:nowrap;
	line-height:1.3;
}
.aisp-showcase .aisp-card__price .woocommerce-Price-amount,
.aisp-showcase .aisp-card__price .woocommerce-Price-currencySymbol{
	white-space:nowrap;
}

@media(max-width:767px){
	.aisp-showcase{--aisp-swatch-size:15px}
	.aisp-card__media-wrap > .aisp-card__swatches{padding:3px 5px;gap:4px;max-width:calc(100% - 20px)}
	.aisp-card--has-swatches .aisp-card__body{padding-top:19px}
}
.aisp-showcase button.aisp-swatch{
	background-color:var(--aisp-swatch-color)!important;
	background-image:var(--aisp-swatch-image)!important;
	background-position:center!important;
	background-repeat:no-repeat!important;
	background-size:cover!important;
}

/* v1.10: unavailable variation colors remain visible but cannot be selected. */
.aisp-showcase .aisp-swatch.aisp-swatch--out,
.aisp-showcase .aisp-swatch:disabled{
	opacity:.38!important;
	cursor:not-allowed!important;
	filter:saturate(.45)!important;
	transform:none!important;
}
.aisp-showcase .aisp-swatch.aisp-swatch--out::before,
.aisp-showcase .aisp-swatch:disabled::before{
	content:"";
	position:absolute;
	z-index:3;
	left:-1px;
	right:-1px;
	top:50%;
	height:1.25px;
	border-radius:2px;
	background:#c33131;
	transform:rotate(-42deg);
	transform-origin:center;
	pointer-events:none;
}
.aisp-showcase .aisp-swatch.aisp-swatch--out::after,
.aisp-showcase .aisp-swatch:disabled::after{
	border-color:transparent!important;
}

/* Dynamic filter enhancements — v1.15.0 */
.aisp-filter-search { display:block; margin:0 0 8px; }
.aisp-filter-search__input {
	width:100%; min-height:38px; padding:8px 11px; border:1px solid var(--aisp-filter-border, #e3e3e3);
	border-radius:8px; background:#fff; color:inherit; font:inherit; outline:none;
}
.aisp-filter-search__input:focus { border-color:var(--aisp-filter-accent, #111); box-shadow:0 0 0 2px rgba(17,17,17,.08); }
.aisp-filter-search__empty { margin:4px 0 0; color:var(--aisp-filter-muted, #777); font-size:12px; }
.aisp-filter-group__body--radio .aisp-filter-option__check { border-radius:50%; }
.aisp-filter-group__body--radio .aisp-filter-option__check::after {
	width:8px; height:8px; border:0; border-radius:50%; background:#fff; transform:scale(.4); top:50%; left:50%; margin:-4px 0 0 -4px;
}
.aisp-filter-group__body--radio .aisp-filter-option input:checked + .aisp-filter-option__check::after { opacity:1; transform:scale(1); }


/* Advanced grid/mobile/card alignment fixes */
.aisp-showcase:not(.aisp-is-carousel) .aisp-wrapper{align-items:stretch;}
.aisp-showcase:not(.aisp-is-carousel) .aisp-slide{min-width:0;}
.aisp-card__body{display:flex;flex-direction:column;min-width:0;}
.aisp-card__title-link{display:block;}
.aisp-card__footer{margin-top:auto;}
.aisp-card__price-panel{flex-wrap:wrap;}
@media(max-width:767px){
 .aisp-card{border-radius:14px;}
 .aisp-card__price-panel{min-height:48px;padding:8px;gap:6px;}
 .aisp-card__price{font-size:13px;}
 .aisp-showcase .aisp-card__button{min-height:40px;padding:9px 10px;font-size:12px;}
}

/* v2.3 product builder enhancements */
.aisp-showcase .aisp-card{display:flex;flex-direction:column;}
.aisp-showcase .aisp-card__body{flex:1;display:flex;flex-direction:column;}
.aisp-showcase .aisp-card__title{overflow:hidden;}
.aisp-showcase .aisp-card__price-panel{align-items:center;justify-content:space-between;flex-wrap:nowrap;}
.aisp-showcase .aisp-card__footer{display:flex;align-items:center;gap:12px;}
.aisp-showcase.aisp-card-align-center .aisp-card__title,.aisp-showcase.aisp-card-align-center .aisp-card__price-panel{justify-content:center;text-align:center;}
.aisp-showcase.aisp-card-align-left .aisp-card__title,.aisp-showcase.aisp-card-align-left .aisp-card__price-panel{justify-content:flex-start;text-align:left;}
@media(max-width:767px){
 .aisp-showcase .aisp-card__price-panel{flex-wrap:wrap;}
 .aisp-showcase .aisp-card__button{width:100%;}
 .aisp-showcase:not(.aisp-is-carousel) .aisp-wrapper{align-items:stretch;}
}

.aisp-showcase.aisp-grid-auto-height:not(.aisp-is-carousel) .aisp-wrapper{align-items:start;}
.aisp-showcase.aisp-grid-auto-height:not(.aisp-is-carousel) .aisp-card{height:auto;}

/* v2.3 Product Builder Responsive Upgrade */
.aisp-showcase .aisp-products,.ais-product-grid{display:grid;grid-template-columns:repeat(var(--ais-columns,4),minmax(0,1fr));gap:var(--ais-gap,20px)}
.aisp-product-card,.ais-product-card{height:100%;display:flex;flex-direction:column;overflow:hidden}
.aisp-product-card .aisp-product-content,.ais-product-card .product-content{display:flex;flex-direction:column;flex:1}
.aisp-product-card .aisp-title,.ais-product-card .product-title{ text-align:var(--ais-title-align,center);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ais-price-action{display:flex;align-items:center;justify-content:var(--ais-price-align,space-between);gap:12px;flex-wrap:wrap;margin-top:auto}
.ais-price-action .price{order:var(--ais-price-order,1)}
.ais-price-action .button{order:2}
.ais-product-image img{aspect-ratio:var(--ais-image-ratio,1/1);object-fit:cover}
.ais-product-card:hover{transform:translateY(-2px)}
.ais-ajax-product-tabs__nav{display:flex;gap:10px;flex-wrap:wrap}
.ais-ajax-product-tabs__nav button{cursor:pointer}
.ais-ajax-product-tabs__content{min-height:100px}
@media(max-width:1024px){.aisp-showcase .aisp-products,.ais-product-grid{--ais-columns:2}}
@media(max-width:767px){.aisp-showcase .aisp-products,.ais-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ais-price-action{flex-direction:column;align-items:stretch}.ais-price-action .button{width:100%}}

/* v2.6 Product Builder layout */
.aisp-price-full-row .aisp-card__price-panel{width:100%;grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;}
.aisp-card__category.aisp-category-chip{display:inline-flex;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media(max-width:767px){.aisp-price-full-row .aisp-card__price-panel{flex-wrap:wrap;gap:8px;}}

/* v2.7.2 — authoritative archive/card output. Values are written by the widget
 * itself so Elementor CSS regeneration and WooCommerce theme rules cannot
 * silently disable editor controls. */
.aisp-showcase .aisp-card {
	container-type: inline-size;
	border-radius: var(--aisp-card-radius-desktop, 20px);
	background-color: var(--aisp-card-background, #fff);
}

.aisp-showcase .aisp-card__media-wrap,
.aisp-showcase .aisp-card__media {
	overflow: hidden;
}

.aisp-showcase .aisp-card__media {
	background-color: var(--aisp-image-background, #f4f4f4);
}

.aisp-showcase.aisp-height-ratio .aisp-card__media {
	aspect-ratio: var(--aisp-image-ratio, 4 / 5) !important;
}

.aisp-showcase.aisp-height-fixed .aisp-card__media {
	height: var(--aisp-image-height-desktop, 440px) !important;
}

.aisp-showcase .aisp-card__image {
	object-fit: var(--aisp-image-fit, cover) !important;
	object-position: var(--aisp-image-position, center center) !important;
	transform-origin: var(--aisp-image-position, center center);
	scale: var(--aisp-image-crop-scale, 1);
}

.aisp-showcase .aisp-card__body {
	min-width: 0;
	text-align: var(--aisp-content-align, center);
}

.aisp-showcase .aisp-card__title-link,
.aisp-showcase .aisp-card__title {
	max-width: 100%;
}

.aisp-showcase .aisp-card__title {
	margin: 0 !important;
	color: var(--aisp-title-color, #171717) !important;
}

.aisp-showcase .aisp-card__title-link:hover .aisp-card__title,
.aisp-showcase .aisp-card__title-link:focus-visible .aisp-card__title {
	color: var(--aisp-title-hover-color, #b18a53) !important;
}

.aisp-showcase.aisp-title-lines-1 .aisp-card__title { min-height: 1.55em; }
.aisp-showcase.aisp-title-lines-2 .aisp-card__title { min-height: 3.1em; }
.aisp-showcase.aisp-title-lines-3 .aisp-card__title { min-height: 4.65em; }

.aisp-showcase .aisp-card__category {
	color: var(--aisp-category-color, #8a8a8a) !important;
}

.aisp-showcase .aisp-card__footer {
	width: 100%;
	min-width: 0;
}

.aisp-showcase .aisp-card__price-panel {
	width: 100%;
	min-width: 0;
	justify-content: var(--aisp-price-align, space-between);
	border-radius: var(--aisp-price-radius-desktop, 13px);
}

.aisp-showcase.aisp-price-pill .aisp-card__price-panel,
.aisp-showcase.aisp-price-box .aisp-card__price-panel {
	background-color: var(--aisp-price-panel-background, #f8f8f8) !important;
}

.aisp-showcase .aisp-card__price-label {
	color: var(--aisp-price-label-color, #777) !important;
}

.aisp-showcase .aisp-card__price,
.aisp-showcase .aisp-card__price ins,
.aisp-showcase .aisp-card__price ins .woocommerce-Price-amount,
.aisp-showcase .aisp-card__price > .woocommerce-Price-amount,
.aisp-showcase .aisp-card__price .woocommerce-Price-currencySymbol,
.aisp-showcase .aisp-card__price bdi {
	color: var(--aisp-price-color, #171717) !important;
}

.aisp-showcase .aisp-card__price del,
.aisp-showcase .aisp-card__price del .woocommerce-Price-amount,
.aisp-showcase .aisp-card__price del .woocommerce-Price-currencySymbol,
.aisp-showcase .aisp-card__price del bdi {
	color: var(--aisp-old-price-color, #a0a0a0) !important;
}

@container (max-width: 210px) {
	.aisp-showcase.aisp-footer-inline .aisp-card__footer {
		flex-direction: column;
		align-items: stretch;
	}

	.aisp-showcase .aisp-card__price-panel {
		flex-direction: column;
		align-items: stretch;
		gap: 3px;
	}

	.aisp-showcase .aisp-card__price {
		width: 100%;
		justify-content: inherit;
		white-space: normal;
	}

	.aisp-showcase .aisp-card__button {
		width: 100%;
		align-self: stretch;
	}
}

@media (max-width: 1024px) {
	.aisp-showcase .aisp-card { border-radius: var(--aisp-card-radius-tablet, var(--aisp-card-radius-desktop, 20px)); }
	.aisp-showcase .aisp-card__price-panel { border-radius: var(--aisp-price-radius-tablet, var(--aisp-price-radius-desktop, 13px)); }
	.aisp-showcase.aisp-height-fixed .aisp-card__media { height: var(--aisp-image-height-tablet, 380px) !important; }
}

@media (max-width: 767px) {
	.aisp-showcase .aisp-card { border-radius: var(--aisp-card-radius-mobile, var(--aisp-card-radius-tablet, 14px)); }
	.aisp-showcase .aisp-card__price-panel { border-radius: var(--aisp-price-radius-mobile, var(--aisp-price-radius-tablet, 13px)); }
	.aisp-showcase.aisp-height-fixed .aisp-card__media { height: var(--aisp-image-height-mobile, 300px) !important; }

	.aisp-catalog .aisp-toolbar {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: stretch;
		gap: 10px;
	}

	.aisp-catalog .aisp-toolbar__start,
	.aisp-catalog .aisp-filter-toggle,
	.aisp-catalog .aisp-sort,
	.aisp-catalog .aisp-sort__select {
		width: 100%;
		max-width: none;
		min-width: 0;
	}

	.aisp-catalog .aisp-filter-toggle { justify-content: center; }
	.aisp-catalog .aisp-toolbar__count { display: none; }
}

/* v2.7.4 — completely detach Grid mode from Swiper's 100% height model. */
.aisp-showcase:not(.aisp-is-carousel),
.aisp-showcase:not(.aisp-is-carousel) .aisp-swiper,
.aisp-showcase:not(.aisp-is-carousel) .aisp-wrapper {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
}

.aisp-showcase:not(.aisp-is-carousel) .aisp-swiper {
	display: block !important;
	position: relative;
	overflow: visible !important;
}

.aisp-showcase:not(.aisp-is-carousel) .aisp-wrapper {
	position: relative !important;
	inset: auto !important;
	align-content: start;
	transform: none !important;
	transition: none !important;
	overflow: visible !important;
}

.aisp-showcase:not(.aisp-is-carousel) .aisp-slide {
	position: relative !important;
	inset: auto !important;
	align-self: stretch;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	transform: none !important;
	overflow: visible;
}

.aisp-showcase:not(.aisp-is-carousel) .aisp-card {
	position: relative;
	flex: 1 1 auto;
	align-self: stretch;
	height: auto !important;
	min-height: 0;
	max-height: none;
}

.aisp-showcase.aisp-grid-auto-height:not(.aisp-is-carousel) .aisp-slide {
	align-self: start;
}

@media (max-width: 767px) {
	.aisp-showcase:not(.aisp-is-carousel) .aisp-wrapper {
		grid-auto-flow: row;
		grid-auto-rows: auto;
	}

	.aisp-showcase:not(.aisp-is-carousel) .aisp-card__body,
	.aisp-showcase:not(.aisp-is-carousel) .aisp-card__footer {
		position: relative;
		inset: auto;
	}
}

/* v2.7.6 — keep every Grid row and its full card content inside the widget. */
.aisp-results,
.aisp-showcase:not(.aisp-is-carousel),
.aisp-showcase:not(.aisp-is-carousel) .aisp-swiper,
.aisp-showcase:not(.aisp-is-carousel) .aisp-grid-boundary {
	display: flow-root;
	width: 100%;
	min-width: 0;
	height: auto !important;
	min-height: 0 !important;
}

.aisp-showcase:not(.aisp-is-carousel) {
	contain: layout;
	min-height: var(--aisp-grid-content-height, 0) !important;
}

.aisp-grid-boundary {
	display: flow-root;
	position: relative;
	width: 100%;
	min-width: 0;
	height: auto !important;
	min-height: 0;
	overflow: visible;
}

.aisp-showcase:not(.aisp-is-carousel) .aisp-wrapper {
	display: grid !important;
	grid-auto-flow: row !important;
	grid-auto-rows: max-content !important;
	align-items: stretch !important;
	width: 100%;
	min-width: 0;
	height: auto !important;
}

.aisp-showcase:not(.aisp-is-carousel) .aisp-slide {
	display: flex !important;
	align-items: stretch;
	width: auto !important;
	min-width: 0;
	height: auto !important;
	min-height: min-content !important;
	contain: layout;
}

.aisp-showcase:not(.aisp-is-carousel) .aisp-card {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	height: auto !important;
	min-height: min-content !important;
	overflow: hidden;
}

.aisp-showcase:not(.aisp-is-carousel) .aisp-card__media-wrap,
.aisp-showcase:not(.aisp-is-carousel) .aisp-card__footer,
.aisp-showcase:not(.aisp-is-carousel) .aisp-card__button {
	flex-shrink: 0;
}

.aisp-showcase:not(.aisp-is-carousel) .aisp-card__body {
	flex: 1 0 auto;
	width: 100%;
	min-width: 0;
	height: auto;
}

.aisp-showcase:not(.aisp-is-carousel) .aisp-card__price-panel,
.aisp-showcase:not(.aisp-is-carousel) .aisp-card__price,
.aisp-showcase:not(.aisp-is-carousel) .aisp-card__button {
	max-width: 100%;
	min-width: 0;
}

@media (max-width: 767px) {
	.aisp-showcase:not(.aisp-is-carousel) .aisp-wrapper {
		grid-auto-rows: max-content !important;
	}

	.aisp-showcase:not(.aisp-is-carousel) .aisp-card__price,
	.aisp-showcase:not(.aisp-is-carousel) .aisp-card__price .amount,
	.aisp-showcase:not(.aisp-is-carousel) .aisp-card__price .woocommerce-Price-amount {
		max-width: 100%;
		overflow-wrap: anywhere;
	}
}
