/**
 * Alituts Elementor Widgets – shared frontend styles.
 */

.aeew-categories {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.aeew-categories--empty {
	padding: 16px;
	border: 1px dashed #c3c4c7;
	border-radius: 4px;
	color: #646970;
	font-size: 14px;
	line-height: 1.5;
}

.aeew-category-item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	line-height: 1.2;
	background-color: #f3f3f3;
	color: #111111;
	transform: scale(1);
	transform-origin: center center;
	transition-property: transform, color, background, box-shadow, border-color;
	transition-timing-function: ease;
	will-change: transform;
}

.aeew-category-item__label {
	display: inline-flex;
	align-items: center;
}

.aeew-category-item__count {
	opacity: 0.7;
	font-weight: 400;
}

.aeew-category-item__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 1;
}

.aeew-category-item__icon svg {
	display: block;
}

.aeew-categories[data-hover-effect="zoom_in"] .aeew-category-item:hover,
.aeew-categories[data-hover-effect="zoom_out"] .aeew-category-item:hover {
	transform: scale(var(--aeew-hover-scale, 1.05));
}

/* Product Category List (stacked / columns) */
.aeew-category-list {
	display: grid;
	margin: 0;
	padding: 0;
	list-style: none;
}

.aeew-category-list--stacked {
	grid-template-columns: 1fr;
}

.aeew-category-list--columns {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aeew-category-list--empty {
	padding: 16px;
	border: 1px dashed #c3c4c7;
	border-radius: 4px;
	color: #646970;
	font-size: 14px;
	line-height: 1.5;
}

.aeew-category-list__item {
	margin: 0;
	padding: 0;
	list-style: none;
}

.aeew-category-list__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
	color: #111111;
	text-decoration: none;
	line-height: 1.3;
	transition-property: color, background, box-shadow, border-color;
	transition-timing-function: ease;
}

.aeew-category-list__label {
	display: inline-flex;
	align-items: center;
	min-width: 0;
}

.aeew-category-list__count {
	flex-shrink: 0;
	opacity: 0.8;
	font-weight: 400;
}

.aeew-category-list__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 1;
}

.aeew-category-list__icon svg {
	display: block;
}

/* Promo Card */
.aeew-promo-card {
	position: relative;
	display: flex;
	overflow: hidden;
	width: 100%;
	min-height: 280px;
	isolation: isolate;
}

.aeew-promo-card__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}

.aeew-promo-card__bg {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 280px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	transform: scale(1);
	transform-origin: center center;
	transition-property: transform;
	transition-timing-function: ease;
	will-change: transform;
}

.aeew-promo-card__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background-color: rgba(0, 0, 0, 0.45);
	transition: background-color 0.3s ease;
	pointer-events: none;
}

.aeew-promo-card__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: flex-end;
	width: 100%;
	min-height: 280px;
	box-sizing: border-box;
}

.aeew-promo-card__inner {
	width: 100%;
}

.aeew-promo-card__title {
	margin: 0;
	color: #ffffff;
	font-weight: 700;
	line-height: 1.2;
}

.aeew-promo-card__description {
	margin: 0;
	color: #ffffff;
	line-height: 1.5;
}

.aeew-promo-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	background-color: #ffffff;
	color: #111111;
	font-weight: 600;
	line-height: 1.2;
	transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.aeew-promo-card__button--static {
	cursor: default;
}

.aeew-promo-card[data-hover-effect="zoom_in"]:hover .aeew-promo-card__bg,
.aeew-promo-card[data-hover-effect="zoom_out"]:hover .aeew-promo-card__bg {
	transform: scale(var(--aeew-bg-hover-scale, 1.08));
}

.elementor-widget-aeew-promo-card .elementor-widget-container,
.elementor-widget-aeew-product-categories .elementor-widget-container,
.elementor-widget-aeew-category-grid .elementor-widget-container,
.elementor-widget-aeew-feature-products-swiper .elementor-widget-container {
	width: 100%;
}

/* Product Categories Grid */
.aeew-category-grid {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 16px;
	row-gap: 16px;
}

.aeew-category-grid--empty {
	padding: 16px;
	border: 1px dashed #c3c4c7;
	border-radius: 4px;
	color: #646970;
	font-size: 14px;
	line-height: 1.5;
}

.aeew-category-grid__item {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	text-decoration: none;
	color: #111111;
	overflow: hidden;
	transition: color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.aeew-category-grid__thumb {
	display: block;
	position: relative;
	width: 100%;
	height: 140px;
	overflow: hidden;
	background-color: transparent;
}

.aeew-category-grid__thumb--placeholder {
	background-color: #e5e7eb;
}

.aeew-category-grid__thumb img,
.aeew-category-grid__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.aeew-category-grid__title {
	display: block;
	margin: 0;
	font-weight: 600;
	line-height: 1.3;
}

.elementor-widget-aeew-feature-products-swiper,
.elementor-widget-aeew-feature-products-swiper .elementor-widget-container {
	overflow: visible;
}

/* Feature Products Swiper */
.aeew-feature-swiper {
	width: 100%;
	overflow: visible;
}

.aeew-feature-swiper--empty {
	padding: 16px;
	border: 1px dashed #c3c4c7;
	border-radius: 4px;
	color: #646970;
}

.aeew-feature-swiper.is-loading {
	opacity: 0.7;
	pointer-events: none;
}

.aeew-feature-swiper__filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 32px;
	margin-bottom: 24px;
}

.aeew-feature-swiper__filter {
	appearance: none;
	background: transparent;
	border: none;
	border-bottom: 3px solid transparent;
	padding: 0 0 8px;
	font-weight: 600;
	color: #888888;
	cursor: pointer;
	transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.aeew-feature-swiper__filter.is-active {
	color: #111111;
	border-bottom-color: #111111;
}

.aeew-feature-swiper__carousel {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	overflow: visible;
}

.aeew-feature-swiper__swiper {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	padding: 20px 16px;
	margin: -20px -16px;
	box-sizing: content-box;
}

.aeew-feature-swiper__swiper .swiper-wrapper {
	box-sizing: border-box;
}

.aeew-feature-swiper__slide {
	height: auto;
	box-sizing: border-box;
}

/* Grid layout */
.aeew-feature-swiper__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.aeew-feature-swiper__grid-item {
	min-width: 0;
	box-sizing: border-box;
}

.aeew-feature-swiper__empty {
	grid-column: 1 / -1;
	margin: 0;
	padding: 16px 0;
	color: #646970;
}

/* Pagination (grid layout) */
.aeew-feature-swiper__pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 24px;
}

.aeew-feature-swiper__pagination--infinite {
	min-height: 1px;
	position: relative;
}

.aeew-feature-swiper__sentinel {
	width: 100%;
	height: 1px;
}

.aeew-feature-swiper__page,
.aeew-feature-swiper__load-more,
.aeew-feature-swiper__nav {
	appearance: none;
	border: none;
	cursor: pointer;
	font: inherit;
	font-weight: 600;
	line-height: 1;
	color: #111111;
	background: #f3f3f3;
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

.aeew-feature-swiper__page {
	min-width: 40px;
	height: 40px;
	padding: 0 10px;
	border-radius: 6px;
}

.aeew-feature-swiper__page.is-active,
.aeew-feature-swiper__page:hover,
.aeew-feature-swiper__load-more:hover {
	color: #ffffff;
	background: #111111;
}

/* Numbered pagination previous / next buttons */
.aeew-feature-swiper__nav {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 16px;
	border-radius: 6px;
}

.aeew-feature-swiper__nav.is-disabled {
	cursor: default;
	opacity: 0.5;
}

.aeew-feature-swiper__nav:not(.is-disabled):hover {
	color: #ffffff;
	background: #111111;
}

.aeew-feature-swiper__load-more {
	padding: 12px 28px;
	border-radius: 6px;
}

/* Loading spinner shown during infinite scroll fetches */
.aeew-feature-swiper__spinner {
	display: none;
	width: 28px;
	height: 28px;
	margin: 12px auto 0;
	border: 3px solid rgba(0, 0, 0, 0.12);
	border-top-color: #111111;
	border-radius: 50%;
	animation: aeew-feature-swiper-spin 0.8s linear infinite;
}

.aeew-feature-swiper--layout-grid.is-loading .aeew-feature-swiper__pagination--infinite .aeew-feature-swiper__spinner {
	display: block;
}

@keyframes aeew-feature-swiper-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (max-width: 767px) {
	.aeew-feature-swiper--mobile-fullwidth .aeew-feature-swiper__carousel {
		position: relative;
		display: block;
	}

	.aeew-feature-swiper--mobile-fullwidth .aeew-feature-swiper__arrow {
		position: absolute;
		top: 50%;
		z-index: 5;
		transform: translateY(-50%);
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
	}

	.aeew-feature-swiper--mobile-fullwidth .aeew-feature-swiper__arrow--prev {
		left: 8px;
	}

	.aeew-feature-swiper--mobile-fullwidth .aeew-feature-swiper__arrow--next {
		right: 8px;
	}

	.aeew-feature-swiper--mobile-fullwidth .aeew-feature-swiper__arrow--hidden {
		display: none !important;
	}

	.aeew-feature-swiper--mobile-fullwidth .aeew-feature-swiper__swiper {
		width: 100%;
		padding: 0;
		margin: 0;
		box-sizing: border-box;
	}

	.aeew-feature-swiper--mobile-fullwidth .aeew-feature-swiper__slide {
		width: 100% !important;
		max-width: 100%;
	}

	.aeew-feature-swiper--mobile-fullwidth .aeew-product-card {
		width: 100%;
		max-width: 100%;
	}
}

.aeew-feature-swiper__arrow {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: none;
	border-radius: 50%;
	background-color: #f3f3f3;
	color: #111111;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s ease, opacity 0.2s ease, visibility 0.2s ease;
}

.aeew-feature-swiper__arrow--hidden {
	display: none;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}

.aeew-feature-swiper__arrow-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.aeew-feature-swiper__arrow-icon svg {
	display: block;
	fill: currentColor;
}

.aeew-feature-swiper__arrow:hover {
	background-color: #e8e8e8;
}

.aeew-feature-swiper__slide--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 200px;
	color: #646970;
}

/* Product Card */
.aeew-product-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background-color: #ffffff;
	box-sizing: border-box;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.aeew-product-card__media {
	margin-bottom: 12px;
}

.aeew-product-card__image-wrap {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 220px;
	padding: 16px;
	background-color: #f3f3f3;
	border-radius: 12px;
	overflow: hidden;
}

.aeew-product-card__image-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.aeew-product-card__image {
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

.aeew-product-card__badges {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
}

.aeew-product-card__badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 6px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.aeew-product-card__badge--feature {
	background-color: #ffffff;
	color: #e67e22;
}

.aeew-product-card__badge--sale {
	background-color: #cc0000;
	color: #ffffff;
}

.aeew-product-card__wishlist {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
}

.aeew-product-card__wishlist .jet-wishlist-button__container {
	margin: 0;
}

.aeew-product-card__wishlist .jet-wishlist-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	background-color: #ffffff;
	border: 1px solid transparent;
	border-radius: 50%;
	color: #888888;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.aeew-product-card__wishlist .jet-wishlist-button__plane {
	display: none;
}

.aeew-product-card__wishlist .jet-wishlist-button__label {
	display: none;
}

.aeew-product-card__wishlist .jet-wishlist-button__state {
	display: flex;
	align-items: center;
	justify-content: center;
}

.aeew-product-card__wishlist .jet-wishlist-button__state-added {
	display: none;
}

.aeew-product-card__wishlist .jet-wishlist-button__link.added-to-wishlist .jet-wishlist-button__state-normal {
	display: none;
}

.aeew-product-card__wishlist .jet-wishlist-button__link.added-to-wishlist .jet-wishlist-button__state-added {
	display: flex;
}

.aeew-product-card__packaging {
	display: flex;
	width: 100%;
	margin-bottom: 12px;
	border: 1px solid #dddddd;
	border-radius: 8px;
	overflow: hidden;
}

.aeew-product-card__packaging-tab {
	flex: 1 1 50%;
	appearance: none;
	background: #ffffff;
	border: none;
	padding: 10px 12px;
	font-size: 13px;
	font-weight: 600;
	color: #888888;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.aeew-product-card__packaging-tab.is-active {
	background-color: #f3f3f3;
	color: #111111;
}

.aeew-product-card__title {
	margin: 0 0 8px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
}

.aeew-product-card__title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.aeew-product-card__title a:hover {
	color: #e67e22;
}

.aeew-product-card__price {
	margin-bottom: 12px;
	font-size: 15px;
	font-weight: 700;
	color: #111111;
}

.aeew-product-card__price del {
	opacity: 0.55;
	font-weight: 400;
	margin-left: 6px;
}

.aeew-product-card__cart {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 44px;
	margin-top: auto;
	padding: 12px 16px;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 0.2s ease, opacity 0.2s ease;
}

.aeew-product-card__cart--add {
	background-color: #111111;
	color: #ffffff;
}

.aeew-product-card__cart--add:hover {
	opacity: 0.9;
}

.aeew-product-card__cart--disabled {
	background-color: #e8e8e8;
	color: #888888;
	cursor: not-allowed;
}

.aeew-product-card__cart.is-loading {
	pointer-events: none;
}

.aeew-product-card__cart.is-loading .aeew-product-card__cart-text {
	opacity: 0.85;
}

.aeew-product-card__cart-loading {
	display: none;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	border: 2px solid currentColor;
	border-top-color: transparent;
	border-radius: 50%;
	animation: aeew-cart-spin 0.65s linear infinite;
}

.aeew-product-card__cart.is-loading .aeew-product-card__cart-loading {
	display: block;
}

.aeew-product-card__cart-icon--success {
	display: none;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
}

.aeew-product-card__cart.is-added .aeew-product-card__cart-icon--success {
	display: inline-flex;
}

.aeew-product-card__cart-icon--success svg {
	display: block;
	width: 16px;
	height: 16px;
}

.aeew-product-card__cart--error {
	background-color: #b3261e;
}

@keyframes aeew-cart-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Auth Modal Widget */
.aeew-auth-widget {
	position: relative;
	display: inline-flex;
	align-items: center;
}

/* Embedded by Bottom Nav — no visible trigger, modal is position:fixed. */
.aeew-auth-widget--embedded {
	position: absolute;
	width: 0;
	height: 0;
	overflow: visible;
	pointer-events: none;
}

.aeew-auth-widget--embedded .aeew-auth-widget__trigger--sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.aeew-auth-widget--embedded .aeew-auth-modal {
	pointer-events: auto;
}

.aeew-auth-widget__trigger {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0;
	border: none;
	background: none;
	cursor: pointer;
	font-weight: 700;
	color: #111111;
	line-height: 1.2;
	transition: color 0.2s ease-in-out;
}

.aeew-auth-widget__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.aeew-auth-widget__icon svg {
	display: block;
	fill: currentColor;
}

.aeew-auth-widget__user-wrap {
	position: relative;
}

.aeew-auth-widget__dropdown {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	z-index: 100;
	min-width: 180px;
	padding: 8px 0;
	background: #ffffff;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.aeew-auth-widget__dropdown-item {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 10px 16px;
	border: none;
	background: none;
	color: #111111;
	text-decoration: none;
	font-size: 14px;
	text-align: left;
	cursor: pointer;
}

.aeew-auth-widget__dropdown-item--logout {
	border-top: 1px solid #eeeeee;
	margin-top: 4px;
	padding-top: 12px;
}

.aeew-auth-modal {
	position: fixed;
	inset: 0;
	z-index: 100010;
	display: flex;
	justify-content: flex-end;
	pointer-events: none;
	visibility: hidden;
}

.aeew-auth-modal:not([hidden]) {
	visibility: visible;
}

.aeew-auth-modal.is-open {
	pointer-events: auto;
}

.aeew-auth-modal[hidden] {
	display: none !important;
}

.aeew-auth-modal__overlay {
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.45);
	opacity: 0;
	transition: opacity 0.35s ease-in-out;
	will-change: opacity;
}

.aeew-auth-modal.is-open .aeew-auth-modal__overlay {
	opacity: 1;
}

.aeew-auth-modal__panel {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	width: 480px;
	max-width: 100%;
	height: 100%;
	padding: 40px;
	background: #ffffff;
	box-shadow: -8px 0 32px rgba(0, 0, 0, 0.1);
	overflow-y: auto;
	transform: translate3d(100%, 0, 0);
	transition: transform 0.35s ease-in-out;
	will-change: transform;
}

.aeew-auth-modal.is-open .aeew-auth-modal__panel {
	transform: translate3d(0, 0, 0);
}

.aeew-auth-modal__close {
	position: absolute;
	top: 20px;
	right: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: none;
	background: none;
	color: #111111;
	font-size: 24px;
	cursor: pointer;
	line-height: 1;
}

.aeew-auth-modal__close svg {
	display: block;
	fill: currentColor;
}

.aeew-auth-modal__title {
	margin: 0 0 24px;
	font-size: 28px;
	font-weight: 700;
	text-align: center;
	color: #111111;
}

.aeew-auth-modal__tabs {
	position: relative;
	display: flex;
	justify-content: center;
	gap: 0;
	margin-bottom: 24px;
	padding: 4px;
	background: #f5f5f5;
	border-radius: 999px;
	isolation: isolate;
}

.aeew-auth-modal__tab-indicator {
	position: absolute;
	z-index: 0;
	top: 4px;
	left: 4px;
	width: 0;
	height: 0;
	background: #ffffff;
	border-radius: 999px;
	transition: left 0.3s ease-in-out, width 0.3s ease-in-out, height 0.3s ease-in-out, top 0.3s ease-in-out;
	pointer-events: none;
}

.aeew-auth-modal__tab {
	position: relative;
	z-index: 1;
	flex: 1 1 auto;
	padding: 10px 20px;
	border: none;
	border-radius: 999px;
	background: transparent;
	color: #111111;
	font-weight: 600;
	cursor: pointer;
	transition: color 0.2s ease-in-out;
	overflow: hidden;
}

.aeew-auth-modal__tab.is-active {
	background: transparent;
}

.aeew-auth-modal__message {
	margin-bottom: 16px;
	padding: 12px 16px;
	border-radius: 8px;
	font-size: 14px;
	line-height: 1.4;
}

.aeew-auth-modal__message.is-error {
	background: #fdecea;
	color: #b42318;
}

.aeew-auth-modal__message.is-success {
	background: #ecfdf3;
	color: #027a48;
}

.aeew-auth-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.aeew-auth-form__field {
	position: relative;
}

.aeew-auth-form__field--password {
	display: flex;
	align-items: center;
}

.aeew-auth-form__input,
.aeew-auth-form .input-text,
.aeew-auth-form select,
.aeew-auth-form .select2-container--default .select2-selection--single {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid transparent;
	border-radius: 12px;
	background: #f5f5f5;
	color: #111111;
	font-size: 15px;
	line-height: 1.4;
	box-sizing: border-box;
	outline: none;
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, border-width 0.2s ease;
}

/* Email/username fields: force LTR so @ stays visible on RTL sites and after autofill. */
.aeew-auth-form__field--ltr {
	direction: ltr;
	text-align: left;
}

.aeew-auth-form__input--ltr,
.aeew-auth-form__field--ltr .aeew-auth-form__input,
.aeew-auth-form__input[name="email"],
.aeew-auth-form__input[name="user_login"],
.aeew-auth-form__input[type="email"] {
	direction: ltr !important;
	text-align: left !important;
	unicode-bidi: bidi-override;
}

.aeew-auth-form__input--ltr::placeholder,
.aeew-auth-form__field--ltr .aeew-auth-form__input::placeholder {
	text-align: left;
	direction: ltr;
}

@keyframes aeew-autofill-start {
	from {
		opacity: 1;
	}
	to {
		opacity: 1;
	}
}

.aeew-auth-form__input--ltr:-webkit-autofill,
.aeew-auth-form__field--ltr .aeew-auth-form__input:-webkit-autofill,
.aeew-auth-form__input[name="email"]:-webkit-autofill,
.aeew-auth-form__input[name="user_login"]:-webkit-autofill {
	-webkit-text-fill-color: #111111 !important;
	caret-color: #111111 !important;
	animation-name: aeew-autofill-start;
}

.aeew-auth-form__input:-webkit-autofill,
.aeew-auth-form__input:-webkit-autofill:hover,
.aeew-auth-form__input:-webkit-autofill:focus,
.aeew-auth-form .input-text:-webkit-autofill,
.aeew-auth-form .input-text:-webkit-autofill:focus {
	-webkit-text-fill-color: #111111;
	caret-color: #111111;
}

.aeew-auth-form .select2-container {
	width: 100% !important;
}

.aeew-auth-form .select2-container--default .select2-selection--single {
	height: auto;
	min-height: 48px;
	display: flex;
	align-items: center;
}

.aeew-auth-form .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0;
	line-height: 1.4;
}

.aeew-auth-form .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
}

.aeew-auth-form__field--password .aeew-auth-form__input,
.aeew-auth-form__field--password .input-text {
	padding-right: calc(16px + 32px);
}

.aeew-auth-form__toggle-pass {
	position: absolute;
	right: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: none;
	background: none;
	color: #888888;
	cursor: pointer;
}

.aeew-auth-form__toggle-pass svg {
	display: block;
	fill: currentColor;
	width: 18px;
	height: 18px;
}

.aeew-auth-form__forgot,
.aeew-auth-form__back {
	margin: 0;
	text-align: right;
}

.aeew-auth-form__link {
	padding: 0;
	border: none;
	background: none;
	color: #888888;
	font-size: 13px;
	text-decoration: none;
	cursor: pointer;
}

.aeew-auth-form__hint {
	margin: 0 0 8px;
	color: #646970;
	font-size: 14px;
	line-height: 1.5;
}

.aeew-auth-form__section-title {
	margin: 8px 0 4px;
	font-size: 14px;
	font-weight: 600;
	color: #111111;
}

.aeew-auth-form__checkbox-label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: #111111;
	cursor: pointer;
}

.aeew-auth-form__submit {
	width: 100%;
	margin-top: 8px;
	padding: 14px 24px;
	border: none;
	border-radius: 12px;
	background: #111111;
	color: #ffffff;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

.aeew-auth-form__submit:hover {
	opacity: 1;
}

.aeew-auth-form__submit.is-loading {
	opacity: 0.7;
	pointer-events: none;
}

.aeew-auth-form .form-row {
	margin: 0 0 12px;
	padding: 0;
}

.aeew-auth-form .form-row label {
	display: none;
}

body.aeew-auth-modal-open {
	overflow: hidden;
	overscroll-behavior: none;
}

/* Testimonials Carousel */
.elementor-widget-aeew-testimonials-carousel .elementor-widget-container {
	width: 100%;
}

.aeew-testimonials {
	position: relative;
	overflow: hidden;
	width: 100%;
	min-height: 320px;
	isolation: isolate;
}

.aeew-testimonials--empty {
	padding: 16px;
	border: 1px dashed #c3c4c7;
	border-radius: 4px;
	color: #646970;
}

.aeew-testimonials__background,
.aeew-testimonials__overlay {
	position: absolute;
	inset: 0;
}

.aeew-testimonials__background {
	z-index: 0;
	background-color: #161616;
}

.aeew-testimonials__overlay {
	z-index: 1;
	background-color: rgba(0, 0, 0, 0.4);
	pointer-events: none;
}

.aeew-testimonials__inner {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: inherit;
	box-sizing: border-box;
}

.aeew-testimonials__swiper {
	width: 100%;
}

.aeew-testimonials__slide {
	height: auto;
}

.aeew-testimonials__item {
	position: relative;
	overflow: hidden;
	min-height: 120px;
	isolation: isolate;
}

.aeew-testimonials__item-bg,
.aeew-testimonials__item-overlay {
	position: absolute;
	inset: 0;
}

.aeew-testimonials__item-bg {
	z-index: 0;
	background: transparent;
}

.aeew-testimonials__item-overlay {
	z-index: 1;
	pointer-events: none;
}

.aeew-testimonials__item-content {
	position: relative;
	z-index: 2;
}

.aeew-testimonials__quote {
	margin: 0 0 20px;
	color: #ffffff;
	font-size: 28px;
	font-style: italic;
	font-weight: 600;
	line-height: 1.5;
}

.aeew-testimonials__quote p {
	margin: 0;
}

.aeew-testimonials__author {
	color: #f0c24d;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.aeew-testimonials__role {
	margin-top: 6px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 14px;
	line-height: 1.4;
}

.aeew-testimonials__pagination {
	position: static;
	margin-top: 20px;
	text-align: center;
}

.aeew-testimonials__pagination .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background: rgba(255, 255, 255, 0.42);
	opacity: 1;
}

.aeew-testimonials__pagination .swiper-pagination-bullet-active {
	background: #f0c24d;
}

@media (max-width: 767px) {
	.aeew-testimonials {
		min-height: 260px;
	}

	.aeew-testimonials__quote {
		font-size: 20px;
	}
}

@media (max-width: 767px) {
	.aeew-auth-modal__panel {
		width: 100%;
		padding: 32px 24px;
	}
}

/* Cart Modal */
.aeew-cart-widget {
	position: relative;
	display: inline-flex;
}

.aeew-cart-widget--empty {
	padding: 16px;
	border: 1px dashed #c3c4c7;
	border-radius: 4px;
	color: #646970;
}

.aeew-cart-widget__trigger {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	background: none;
	color: #111111;
	cursor: pointer;
	line-height: 1;
}

.aeew-cart-widget__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.aeew-cart-widget__icon svg {
	display: block;
	fill: currentColor;
}

.aeew-cart-widget__count {
	position: absolute;
	top: -8px;
	right: -10px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 999px;
	background: #111111;
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
}

.aeew-cart-widget__count--empty {
	display: none;
}

.aeew-cart-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	pointer-events: none;
	visibility: hidden;
}

.aeew-cart-modal--share {
	z-index: 100000;
	justify-content: flex-end;
}

.aeew-cart-modal--shared {
	z-index: 99998;
	justify-content: flex-end;
}

.aeew-cart-modal--main {
	justify-content: flex-end;
}

.aeew-cart-modal:not([hidden]) {
	visibility: visible;
}

.aeew-cart-modal.is-open {
	pointer-events: auto;
}

.aeew-cart-modal[hidden] {
	display: none !important;
}

.aeew-cart-modal__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background-color: rgba(0, 0, 0, 0.45);
	opacity: 0;
	transition: opacity 0.35s ease-in-out;
	will-change: opacity;
}

.aeew-cart-modal.is-open .aeew-cart-modal__overlay {
	opacity: 1;
}

.aeew-cart-modal__panel {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	width: 480px;
	max-width: 100%;
	height: 100%;
	min-height: 0;
	padding: 36px 32px 28px;
	background: #ffffff;
	box-shadow: -8px 0 32px rgba(0, 0, 0, 0.1);
	overflow: hidden;
	transform: translate3d(100%, 0, 0);
	transition: transform 0.35s ease-in-out;
	will-change: transform;
}

.aeew-cart-modal--main.is-open .aeew-cart-modal__panel,
.aeew-cart-modal--share.is-open .aeew-cart-modal__panel,
.aeew-cart-modal--shared.is-open .aeew-cart-modal__panel {
	transform: translate3d(0, 0, 0);
}

.aeew-cart-modal__panel--legacy-centered {
	width: min(420px, calc(100% - 32px));
	height: auto;
	max-height: 90vh;
	padding: 32px 24px 24px;
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.18);
}

.aeew-cart-modal__close {
	position: absolute;
	top: 20px;
	right: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: none;
	background: none;
	color: #111111;
	font-size: 24px;
	cursor: pointer;
	line-height: 1;
}

.aeew-cart-modal__close svg {
	display: block;
	fill: currentColor;
}

.aeew-cart-modal__title {
	margin: 0;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.1;
	color: #111111;
}

.aeew-cart-modal__title--centered {
	margin-bottom: 20px;
	text-align: center;
}

.aeew-cart-modal__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

.aeew-cart-modal__heading {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
	min-width: 0;
}

.aeew-cart-modal__items-count {
	color: #8a8a8a;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.2;
}

.aeew-cart-modal__header-actions {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: 14px;
}

.aeew-cart-modal__icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: none;
	background: none;
	color: #111111;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}

.aeew-cart-modal__icon-btn svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.aeew-cart-modal__icon-btn:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.aeew-cart-modal__notice {
	margin: 0 0 24px;
	color: #111111;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
}

.aeew-cart-modal__message {
	margin-bottom: 16px;
	padding: 12px 14px;
	border-radius: 8px;
	font-size: 14px;
	line-height: 1.4;
}

.aeew-cart-modal__message.is-error {
	background: #fdecec;
	color: #b42318;
}

.aeew-cart-modal__message.is-success {
	background: #ecfdf3;
	color: #027a48;
}

.aeew-cart-modal__body {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}

.aeew-cart-modal__items {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.aeew-cart-modal__empty {
	padding: 32px 0;
	text-align: left;
	color: #646970;
	font-size: 15px;
	line-height: 1.5;
}

.aeew-cart-item {
	display: grid;
	grid-template-columns: 104px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
}

.aeew-cart-item__media {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 132px;
	padding: 10px;
	border: 1px solid #e3e3e3;
	border-radius: 12px;
	background: #ffffff;
}

.aeew-cart-item__media img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 112px;
	object-fit: contain;
}

.aeew-cart-item__image-link {
	display: block;
	width: 100%;
}

.aeew-cart-item__content {
	min-width: 0;
}

.aeew-cart-item__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.aeew-cart-item__title {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	color: #111111;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: none;
}

.aeew-cart-item__remove {
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	font-size: 14px;
}

.aeew-cart-item__qty-control {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 12px;
}

.aeew-cart-qty__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 1px solid #d8d8d8;
	border-radius: 50%;
	background: #ffffff;
	color: #111111;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
}

.aeew-cart-qty__btn:hover:not(:disabled) {
	background: #f7f7f7;
}

.aeew-cart-qty__btn:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.aeew-cart-qty__value {
	min-width: 12px;
	color: #111111;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	text-align: center;
}

.aeew-cart-item__qty-readonly {
	margin-bottom: 12px;
	color: #666666;
	font-size: 14px;
	line-height: 1.4;
}

.aeew-cart-item__price {
	margin-bottom: 6px;
	color: #111111;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
}

.aeew-cart-item__subtitle {
	color: #8a8a8a;
	font-size: 13px;
	line-height: 1.35;
}

.aeew-cart-modal__footer {
	position: relative;
	z-index: 3;
	flex-shrink: 0;
	margin-top: auto;
	padding-top: 28px;
	padding-bottom: env(safe-area-inset-bottom, 0);
	background: #ffffff;
}

.aeew-cart-modal__total-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
	color: #111111;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

/* Pickup location selector (Place Order action) */
.aeew-cart-modal__locations {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 16px;
}

.aeew-cart-modal__locations-label {
	font-size: 13px;
	font-weight: 600;
	color: #111111;
}

.aeew-cart-modal__locations-select {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #dddddd;
	border-radius: 6px;
	background: #ffffff;
	color: #111111;
	font-size: 15px;
	font-family: inherit;
	line-height: 1.3;
}

.aeew-cart-modal__locations-select:focus {
	outline: none;
	border-color: #111111;
}

.aeew-cart-modal__locations-select--error {
	border-color: #d63638;
}

.aeew-cart-modal__checkout {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	padding: 14px 20px;
	border: none;
	border-radius: 14px;
	background: #111111;
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
	transition: background-color 0.2s ease, opacity 0.2s ease;
}

.aeew-cart-modal__checkout:hover,
.aeew-cart-modal__checkout:focus {
	background: #000000;
	color: #ffffff;
	text-decoration: none;
}

.aeew-cart-modal__checkout--button {
	font-family: inherit;
}

.aeew-cart-modal__checkout.is-loading {
	opacity: 0.85;
	pointer-events: none;
}

.aeew-cart-modal__checkout.is-loading::after {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-left: 10px;
	border: 2px solid currentColor;
	border-top-color: transparent;
	border-radius: 50%;
	animation: aeew-cart-spin 0.65s linear infinite;
}

.aeew-cart-modal__checkout:disabled,
.aeew-cart-modal__checkout[aria-disabled="true"] {
	opacity: 0.45;
	pointer-events: none;
	cursor: not-allowed;
}

.aeew-cart-modal__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 46px;
	padding: 12px 16px;
	border: 1px solid #dddddd;
	border-radius: 12px;
	background: #ffffff;
	color: #111111;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

.aeew-cart-modal__btn:hover:not(:disabled) {
	background: #f5f5f5;
}

.aeew-cart-modal__btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.aeew-cart-modal__btn--primary {
	border-color: #111111;
	background: #111111;
	color: #ffffff;
}

.aeew-cart-modal__btn--primary:hover:not(:disabled) {
	background: #000000;
}

/* Order success modal (Place Order flow) */
.aeew-order-success {
	position: fixed;
	inset: 0;
	z-index: 100005;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	pointer-events: none;
	visibility: hidden;
}

.aeew-order-success:not([hidden]) {
	visibility: visible;
}

.aeew-order-success.is-open {
	pointer-events: auto;
}

.aeew-order-success[hidden] {
	display: none !important;
}

.aeew-order-success__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background-color: rgba(0, 0, 0, 0.35);
	-webkit-backdrop-filter: blur(8px) brightness(0.7);
	backdrop-filter: blur(8px) brightness(0.7);
	opacity: 0;
	transition: opacity 0.35s ease-in-out;
}

.aeew-order-success.is-open .aeew-order-success__overlay {
	opacity: 1;
}

.aeew-order-success__panel {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 520px;
	padding: 40px 32px 32px;
	border-radius: 16px;
	background: #ffffff;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.18);
	opacity: 0;
	transform: translate3d(0, 12px, 0);
	transition: opacity 0.35s ease-in-out, transform 0.35s ease-in-out;
}

.aeew-order-success.is-open .aeew-order-success__panel {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

.aeew-order-success__close {
	position: absolute;
	top: 16px;
	right: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #111111;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

.aeew-order-success__title {
	margin: 0 0 24px;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.25;
	color: #111111;
	text-align: center;
}

.aeew-order-success__pickup {
	margin-bottom: 28px;
}

.aeew-order-success__pickup-title {
	margin: 0 0 12px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
	color: #111111;
}

.aeew-order-success__pickup-text {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: #333333;
}

.aeew-order-success__actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.aeew-order-success__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 12px 20px;
	border: 1px solid #111111;
	border-radius: 999px;
	background: #111111;
	color: #ffffff;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.aeew-order-success__btn:hover,
.aeew-order-success__btn:focus {
	background: #000000;
	border-color: #000000;
	color: #ffffff;
	text-decoration: none;
}

.aeew-order-success__btn--secondary {
	background: #111111;
}

.aeew-order-pickup {
	margin-top: 2em;
}

.aeew-order-pickup__hours {
	margin: 0.5em 0 0;
}

.aeew-cart-share-options {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.aeew-cart-share-option {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 12px 16px;
	border: 1px solid #dddddd;
	border-radius: 12px;
	background: #ffffff;
	color: #111111;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}

.aeew-cart-share-option:hover {
	background: #f5f5f5;
}

body.aeew-cart-modal-open {
	overflow: hidden;
	overscroll-behavior: none;
}

/* Cart Page Widget */
.aeew-cart-page {
	width: 100%;
}

.aeew-cart-page__layout {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.aeew-cart-page__main {
	margin-bottom: 0;
	min-width: 0;
}

.aeew-cart-page .aeew-cart-page__body {
	overflow: visible;
	min-height: 0;
}

.aeew-cart-page__woocommerce {
	margin-top: 0;
	padding-top: 32px;
	border-top: 1px solid #e8e8e8;
	min-width: 0;
}

/* Override WooCommerce layout (48% float) inside the cart page widget column. */
.aeew-cart-page .aeew-cart-page__woocommerce.woocommerce .cart-collaterals,
.woocommerce-page .aeew-cart-page .aeew-cart-page__woocommerce .cart-collaterals,
.aeew-cart-page .aeew-cart-page__woocommerce.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .aeew-cart-page .aeew-cart-page__woocommerce .cart-collaterals .cart_totals,
.aeew-cart-page .aeew-cart-page__woocommerce.woocommerce .cart-collaterals .cross-sells,
.woocommerce-page .aeew-cart-page .aeew-cart-page__woocommerce .cart-collaterals .cross-sells {
	width: 100%;
	max-width: 100%;
	float: none;
	clear: both;
}

.aeew-cart-page__woocommerce .wc-proceed-to-checkout {
	padding: 1em 0 0;
}

.aeew-cart-page__checkout-wrap {
	display: block;
	width: 100%;
}

.aeew-cart-page__checkout-wrap .aeew-cart-modal__checkout {
	display: flex;
	width: 100%;
}

/* Hide any default WooCommerce checkout link/button inside our cart page column. */
.aeew-cart-page__woocommerce .wc-proceed-to-checkout .checkout-button,
.aeew-cart-page__woocommerce .wc-proceed-to-checkout a.button.checkout {
	display: none !important;
}

.aeew-cart-page__coupon-form {
	margin-bottom: 24px;
}

.aeew-cart-page__coupon-form .coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.aeew-cart-page__coupon-form .input-text {
	min-width: 200px;
	padding: 10px 14px;
	border: 1px solid #dddddd;
	border-radius: 8px;
}

.aeew-cart-page--empty {
	padding: 16px;
	border: 1px dashed #cccccc;
	border-radius: 8px;
	color: #646970;
}

@media (min-width: 768px) {
	.aeew-cart-page__layout {
		flex-direction: row;
		align-items: flex-start;
		gap: 40px;
	}

	.aeew-cart-page__layout > .aeew-cart-page__main {
		flex: 1 1 62%;
	}

	.aeew-cart-page__layout > .aeew-cart-page__woocommerce {
		flex: 1 1 38%;
		padding-top: 0;
		border-top: none;
		position: sticky;
		top: 24px;
	}
}

@media (max-width: 767px) {
	.aeew-cart-modal--main .aeew-cart-modal__panel {
		padding: 28px 20px calc(20px + env(safe-area-inset-bottom, 0));
	}

	.aeew-cart-modal__footer {
		padding-top: 20px;
	}

	.aeew-cart-modal__title {
		font-size: 28px;
	}

	.aeew-cart-modal__items-count {
		font-size: 16px;
	}

	.aeew-cart-item {
		grid-template-columns: 92px minmax(0, 1fr);
		gap: 14px;
	}

	.aeew-cart-item__media {
		min-height: 116px;
	}

	.aeew-auth-modal__panel {
		width: 100%;
		padding: 32px 24px;
	}
}

/* Navigation Menu widget */
.aeew-nav-menu {
	position: relative;
	width: 100%;
	height: auto;
	align-self: flex-start;
}

.elementor-widget-aeew-nav-menu .elementor-widget-container {
	height: auto;
	overflow: visible;
}

.elementor-widget-aeew-nav-menu {
	overflow: visible;
}

.aeew-nav-menu__toggle-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.aeew-nav-menu__toggle-icon .eicon,
.aeew-nav-menu__toggle-icon i,
.aeew-nav-menu__toggle-icon svg {
	display: block;
	width: 1.35em;
	height: 1.35em;
	font-size: inherit;
}

.aeew-nav-menu__inner {
	display: flex;
	align-items: center;
	gap: 16px;
}

.aeew-nav-menu__toggle {
	display: none;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	line-height: 1;
	color: inherit;
	transition: color 0.2s ease, background-color 0.2s ease;
}

.aeew-nav-menu__toggle-icon--close {
	display: none;
}

.aeew-nav-menu__toggle.is-active .aeew-nav-menu__toggle-icon--open {
	display: none;
}

.aeew-nav-menu__toggle.is-active .aeew-nav-menu__toggle-icon--close {
	display: inline-flex;
}

.aeew-nav-menu__bars {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 22px;
}

.aeew-nav-menu__bars span {
	display: block;
	height: 2px;
	width: 100%;
	background: currentColor;
	border-radius: 1px;
}

.aeew-nav-menu__panel {
	z-index: 10080;
	flex: 1;
	min-width: 0;
	position: static;
	height: auto;
	max-height: none;
	overflow: visible;
	transform: none;
	background: transparent;
	box-shadow: none;
}

.aeew-nav-menu__panel-header {
	display: none;
	align-items: center;
	justify-content: flex-end;
	margin-bottom: 8px;
}

.aeew-nav-menu__panel-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0;
	border: none;
	background: transparent;
	color: inherit;
	cursor: pointer;
}

.aeew-nav-menu__panel-close .eicon,
.aeew-nav-menu__panel-close svg {
	display: block;
	width: 1.35em;
	height: 1.35em;
}

.aeew-nav-menu__panel-inner {
	width: 100%;
}

.aeew-nav-menu__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: var(--aeew-nav-items-gap, 8px);
}

.aeew-nav-menu--desktop-vertical .aeew-nav-menu__list {
	flex-direction: column;
	align-items: stretch;
}

.aeew-nav-menu__list > li {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
}

.aeew-nav-menu__list > li > a {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	transition: color 0.2s ease;
}

.aeew-nav-menu__list .sub-menu {
	list-style: none;
	margin: 0;
	padding: 8px 0;
	min-width: 200px;
}

.aeew-nav-menu__list .sub-menu li {
	margin: 0;
	padding: 0;
}

.aeew-nav-menu__list .sub-menu a {
	display: block;
	text-decoration: none;
	white-space: nowrap;
}

.aeew-nav-menu__submenu-toggle {
	display: none;
}

/* Desktop horizontal dropdown */
.aeew-nav-menu--desktop-horizontal .aeew-nav-menu__list > li > .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
	z-index: 20;
}

.aeew-nav-menu--desktop-horizontal .aeew-nav-menu__list > li.menu-item-has-children:hover > .sub-menu,
.aeew-nav-menu--desktop-horizontal .aeew-nav-menu__list > li.menu-item-has-children.is-expanded > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.aeew-nav-menu--desktop-horizontal[data-desktop-submenu="click"] .aeew-nav-menu__list > li.menu-item-has-children:hover > .sub-menu {
	opacity: 0;
	visibility: hidden;
}

.aeew-nav-menu--desktop-horizontal[data-desktop-submenu="click"] .aeew-nav-menu__list > li.menu-item-has-children.is-expanded > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Mega menu */
.aeew-mega-menu__panel {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 10090;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	background: #ffffff;
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.aeew-mega-menu__inner {
	width: 100%;
	box-sizing: border-box;
}

.aeew-mega-menu__placeholder {
	padding: 16px;
	color: #646970;
	font-size: 14px;
	line-height: 1.5;
}

/* Full viewport: edge-to-edge bar, centered template content */
.aeew-nav-menu--mega-full-width:not(.aeew-nav-menu--mobile-view) .aeew-mega-menu__panel {
	left: 0;
	right: 0;
	width: auto;
	max-width: none;
	transform: none;
}

.aeew-nav-menu--mega-full-width:not(.aeew-nav-menu--mobile-view) .aeew-mega-menu__panel.is-positioned {
	position: fixed;
}

.aeew-nav-menu--mega-full-width:not(.aeew-nav-menu--mobile-view) .aeew-mega-menu__inner {
	max-width: var(--aeew-mega-container-width, 1200px);
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
}

.aeew-nav-menu--mega-full-width:not(.aeew-nav-menu--mobile-view) .menu-item-has-mega:hover > .aeew-mega-menu__panel,
.aeew-nav-menu--mega-full-width:not(.aeew-nav-menu--mobile-view) .menu-item-has-mega.is-mega-open > .aeew-mega-menu__panel {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* Custom width: dropdown aligned to parent menu item top-left */
.aeew-nav-menu--mega-item-width:not(.aeew-nav-menu--mobile-view) .aeew-nav-menu__list > li.menu-item-has-mega {
	position: relative;
}

.aeew-nav-menu--mega-item-width:not(.aeew-nav-menu--mobile-view) .menu-item-has-mega > .aeew-mega-menu__panel {
	left: var(--aeew-mega-item-offset-x, -4px);
	top: 100%;
	padding-top: var(--aeew-mega-item-offset-y, 10px);
	width: var(--aeew-mega-panel-width, 480px);
	max-width: min(var(--aeew-mega-panel-width, 480px), 92vw);
	right: auto;
	transform: none;
	box-sizing: border-box;
}

.aeew-nav-menu--mega-item-width:not(.aeew-nav-menu--mobile-view) .aeew-mega-menu__inner {
	max-width: none;
	margin: 0;
	padding: 0;
}

.aeew-nav-menu--mega-item-width:not(.aeew-nav-menu--mobile-view) .menu-item-has-mega:hover > .aeew-mega-menu__panel,
.aeew-nav-menu--mega-item-width:not(.aeew-nav-menu--mobile-view) .menu-item-has-mega.is-mega-open > .aeew-mega-menu__panel {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.aeew-nav-menu--mobile-view .aeew-mega-menu__panel,
.elementor-element.aeew-nav-menu--mobile-view .aeew-mega-menu__panel {
	display: none;
	position: static;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: none;
	width: 100%;
	max-width: none;
	box-shadow: none;
	background: transparent;
	padding: 0 0 12px 16px;
}

.aeew-nav-menu--mobile-view .menu-item-has-mega.is-mega-open > .aeew-mega-menu__panel,
.elementor-element.aeew-nav-menu--mobile-view .menu-item-has-mega.is-mega-open > .aeew-mega-menu__panel {
	display: block;
}

.aeew-nav-menu--mobile-view .menu-item-has-mega,
.elementor-element.aeew-nav-menu--mobile-view .menu-item-has-mega {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
}

.aeew-nav-menu--mobile-view .menu-item-has-mega > a,
.elementor-element.aeew-nav-menu--mobile-view .menu-item-has-mega > a {
	grid-column: 1;
}

.aeew-nav-menu--mobile-view .menu-item-has-mega > .aeew-nav-menu__submenu-toggle,
.elementor-element.aeew-nav-menu--mobile-view .menu-item-has-mega > .aeew-nav-menu__submenu-toggle {
	grid-column: 2;
}

.aeew-nav-menu--mobile-view .menu-item-has-mega > .aeew-mega-menu__panel,
.elementor-element.aeew-nav-menu--mobile-view .menu-item-has-mega > .aeew-mega-menu__panel {
	grid-column: 1 / -1;
}

/* Mega menu back button (mobile header) is hidden by default; only the mobile
   overlay style reveals it. This keeps it out of the desktop mega panel. */
.aeew-mega-menu__mobile-header {
	display: none;
}

/* Mobile mega menu — Style 1: inline accordion (default) */
.aeew-nav-menu--mega-mobile-accordion.aeew-nav-menu--mobile-view .aeew-mega-menu__mobile-header,
.elementor-element.aeew-nav-menu--mega-mobile-accordion.aeew-nav-menu--mobile-view .aeew-mega-menu__mobile-header {
	display: none;
}

/* Mobile mega menu — Style 2: overlay panel with back button */
.aeew-nav-menu--mega-mobile-overlay.aeew-nav-menu--mobile-view .aeew-nav-menu__panel-inner,
.elementor-element.aeew-nav-menu--mega-mobile-overlay.aeew-nav-menu--mobile-view .aeew-nav-menu__panel-inner {
	position: relative;
	display: flex;
	flex-direction: column;
}

.aeew-nav-menu--mega-mobile-overlay.aeew-nav-menu--mobile-view .aeew-nav-menu__list,
.elementor-element.aeew-nav-menu--mega-mobile-overlay.aeew-nav-menu--mobile-view .aeew-nav-menu__list {
	position: relative;
	flex: 1 1 auto;
}

.aeew-nav-menu--mega-mobile-overlay.aeew-nav-menu--mobile-view .aeew-nav-menu__list.is-mega-overlay-open,
.elementor-element.aeew-nav-menu--mega-mobile-overlay.aeew-nav-menu--mobile-view .aeew-nav-menu__list.is-mega-overlay-open {
	min-height: 320px;
}

.aeew-nav-menu--mega-mobile-overlay.aeew-nav-menu--mobile-view .aeew-nav-menu__list.is-mega-overlay-open > li:not(.is-mega-open),
.elementor-element.aeew-nav-menu--mega-mobile-overlay.aeew-nav-menu--mobile-view .aeew-nav-menu__list.is-mega-overlay-open > li:not(.is-mega-open) {
	display: none;
}

.aeew-nav-menu--mega-mobile-overlay.aeew-nav-menu--mobile-view .aeew-nav-menu__list.is-mega-overlay-open > .menu-item-has-mega.is-mega-open,
.elementor-element.aeew-nav-menu--mega-mobile-overlay.aeew-nav-menu--mobile-view .aeew-nav-menu__list.is-mega-overlay-open > .menu-item-has-mega.is-mega-open {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	margin: 0;
	border-bottom: 0;
}

.aeew-nav-menu--mega-mobile-overlay.aeew-nav-menu--mobile-view .aeew-nav-menu__list.is-mega-overlay-open > .menu-item-has-mega.is-mega-open > a,
.elementor-element.aeew-nav-menu--mega-mobile-overlay.aeew-nav-menu--mobile-view .aeew-nav-menu__list.is-mega-overlay-open > .menu-item-has-mega.is-mega-open > a,
.aeew-nav-menu--mega-mobile-overlay.aeew-nav-menu--mobile-view .aeew-nav-menu__list.is-mega-overlay-open > .menu-item-has-mega.is-mega-open > .aeew-nav-menu__submenu-toggle,
.elementor-element.aeew-nav-menu--mega-mobile-overlay.aeew-nav-menu--mobile-view .aeew-nav-menu__list.is-mega-overlay-open > .menu-item-has-mega.is-mega-open > .aeew-nav-menu__submenu-toggle {
	display: none;
}

.aeew-nav-menu--mega-mobile-overlay.aeew-nav-menu--mobile-view .menu-item-has-mega.is-mega-open > .aeew-mega-menu__panel,
.elementor-element.aeew-nav-menu--mega-mobile-overlay.aeew-nav-menu--mobile-view .menu-item-has-mega.is-mega-open > .aeew-mega-menu__panel {
	display: flex;
	flex-direction: column;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 5;
	padding: 0;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: none;
	background: #ffffff;
	overflow: hidden;
	box-shadow: none;
}

.aeew-nav-menu--mega-mobile-overlay.aeew-nav-menu--mobile-view .aeew-mega-menu__mobile-header,
.elementor-element.aeew-nav-menu--mega-mobile-overlay.aeew-nav-menu--mobile-view .aeew-mega-menu__mobile-header {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	padding: 12px 16px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.aeew-nav-menu--mega-mobile-overlay .aeew-mega-menu__back {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	color: inherit;
	font: inherit;
	line-height: 1.4;
}

.aeew-nav-menu--mega-mobile-overlay .aeew-mega-menu__back-icon {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-left: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	flex-shrink: 0;
}

.aeew-nav-menu--mega-mobile-overlay.aeew-nav-menu--mobile-view .aeew-mega-menu__inner,
.elementor-element.aeew-nav-menu--mega-mobile-overlay.aeew-nav-menu--mobile-view .aeew-mega-menu__inner {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: 16px;
	max-width: none;
	width: 100%;
}

/* Mobile drawer */
.aeew-nav-menu__overlay {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 10075;
	background: rgba(0, 0, 0, 0.45);
}

.aeew-nav-menu.aeew-nav-menu--mobile-view.is-open .aeew-nav-menu__overlay,
.elementor-element.aeew-nav-menu--mobile-view .aeew-nav-menu.is-open .aeew-nav-menu__overlay {
	display: block;
}

.aeew-nav-menu--no-overlay.is-open .aeew-nav-menu__overlay {
	display: none !important;
}

.aeew-nav-menu.aeew-nav-menu--mobile-view.is-open .aeew-nav-menu__toggle,
.elementor-element.aeew-nav-menu--mobile-view .aeew-nav-menu.is-open .aeew-nav-menu__toggle {
	position: relative;
	z-index: 10082;
}

.aeew-nav-menu.aeew-nav-menu--mobile-view .aeew-nav-menu__panel-header,
.elementor-element.aeew-nav-menu--mobile-view .aeew-nav-menu__panel-header {
	display: flex;
}

.aeew-nav-menu.aeew-nav-menu--mobile-view.aeew-nav-menu--panel-left .aeew-nav-menu__panel,
.elementor-element.aeew-nav-menu--mobile-view .aeew-nav-menu--panel-left .aeew-nav-menu__panel {
	position: fixed;
	top: 0;
	left: 0;
	width: min(300px, 88vw);
	height: 100vh;
	height: 100dvh;
	max-height: 100dvh;
	transform: translateX(-100%);
	transition: transform 0.3s ease;
	background: #ffffff;
	box-shadow: 4px 0 24px rgba(0, 0, 0, 0.12);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	z-index: 10080;
}

.aeew-nav-menu.aeew-nav-menu--mobile-view.aeew-nav-menu--panel-right .aeew-nav-menu__panel,
.elementor-element.aeew-nav-menu--mobile-view .aeew-nav-menu--panel-right .aeew-nav-menu__panel {
	position: fixed;
	top: 0;
	right: 0;
	left: auto;
	width: min(300px, 88vw);
	height: 100vh;
	height: 100dvh;
	max-height: 100dvh;
	transform: translateX(100%);
	transition: transform 0.3s ease;
	background: #ffffff;
	box-shadow: -4px 0 24px rgba(0, 0, 0, 0.12);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	z-index: 10080;
}

.aeew-nav-menu.aeew-nav-menu--mobile-view.is-open .aeew-nav-menu__panel,
.elementor-element.aeew-nav-menu--mobile-view .aeew-nav-menu.is-open .aeew-nav-menu__panel {
	transform: translateX(0);
}

.aeew-nav-menu.aeew-nav-menu--mobile-view .aeew-nav-menu__panel-inner,
.elementor-element.aeew-nav-menu--mobile-view .aeew-nav-menu__panel-inner {
	padding: 16px 16px calc(16px + var(--aeew-bottom-nav-height, 0px) + env(safe-area-inset-bottom, 0));
}

/* Mobile account links (Login / Wishlist) — hidden on desktop via breakpoint CSS. */
.aeew-nav-menu__account {
	display: none;
	flex-direction: column;
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid #eeeeee;
}

.aeew-nav-menu.aeew-nav-menu--mobile-view .aeew-nav-menu__account,
.elementor-element.aeew-nav-menu--mobile-view .aeew-nav-menu__account {
	display: flex;
}

.aeew-nav-menu__account-link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
	color: #111111;
	text-decoration: none;
	font-weight: 600;
	line-height: 1.3;
	transition: color 0.2s ease;
}

.aeew-nav-menu__account-link + .aeew-nav-menu__account-link {
	border-top: 1px solid #eeeeee;
}

.aeew-nav-menu__account-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 0;
	color: inherit;
}

.aeew-nav-menu__account-icon svg {
	display: block;
	width: 20px;
	height: 20px;
}

.aeew-nav-menu__account-label {
	min-width: 0;
}

.aeew-nav-menu.aeew-nav-menu--mobile-view .aeew-nav-menu__list,
.elementor-element.aeew-nav-menu--mobile-view .aeew-nav-menu__list {
	flex-direction: column;
	align-items: stretch;
	width: 100%;
}

.aeew-nav-menu--mobile-view .aeew-nav-menu__list > li,
.elementor-element.aeew-nav-menu--mobile-view .aeew-nav-menu__list > li {
	border-bottom: 1px solid #eeeeee;
}

.aeew-nav-menu--mobile-view .aeew-nav-menu__list > li > a,
.elementor-element.aeew-nav-menu--mobile-view .aeew-nav-menu__list > li > a {
	display: flex;
	width: 100%;
}

.aeew-nav-menu--mobile-view .aeew-nav-menu__list > li.menu-item-has-children,
.elementor-element.aeew-nav-menu--mobile-view .aeew-nav-menu__list > li.menu-item-has-children {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
}

.aeew-nav-menu--mobile-view .aeew-nav-menu__list > li.menu-item-has-children > a,
.elementor-element.aeew-nav-menu--mobile-view .aeew-nav-menu__list > li.menu-item-has-children > a {
	grid-column: 1;
}

.aeew-nav-menu--mobile-view .aeew-nav-menu__submenu-toggle,
.elementor-element.aeew-nav-menu--mobile-view .aeew-nav-menu__submenu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	grid-column: 2;
	width: 44px;
	height: 44px;
	border: none;
	background: transparent;
	cursor: pointer;
	color: inherit;
}

.aeew-nav-menu--mobile-view .aeew-nav-menu__submenu-toggle-icon,
.elementor-element.aeew-nav-menu--mobile-view .aeew-nav-menu__submenu-toggle-icon {
	display: block;
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

.aeew-nav-menu--mobile-view .menu-item-has-children.is-expanded > .aeew-nav-menu__submenu-toggle .aeew-nav-menu__submenu-toggle-icon,
.elementor-element.aeew-nav-menu--mobile-view .menu-item-has-children.is-expanded > .aeew-nav-menu__submenu-toggle .aeew-nav-menu__submenu-toggle-icon {
	transform: rotate(-135deg);
}

.aeew-nav-menu--mobile-view .aeew-nav-menu__list .sub-menu,
.elementor-element.aeew-nav-menu--mobile-view .aeew-nav-menu__list .sub-menu {
	display: none;
	position: static;
	opacity: 1;
	visibility: visible;
	transform: none;
	box-shadow: none;
	padding: 0 0 8px 16px;
	min-width: 0;
}

.aeew-nav-menu--mobile-view .menu-item-has-children.is-expanded > .sub-menu,
.elementor-element.aeew-nav-menu--mobile-view .menu-item-has-children.is-expanded > .sub-menu {
	display: block;
}

.aeew-nav-menu__placeholder {
	padding: 16px;
	border: 1px dashed #cccccc;
	border-radius: 8px;
	color: #646970;
	font-size: 14px;
}

body.aeew-nav-menu-open {
	overflow: hidden;
}

body.aeew-nav-menu-open .aeew-bottom-nav {
	z-index: 10050;
}

/* Default mobile nav (works before JS adds mobile-view class) */
@media (max-width: 767px) {
	.aeew-nav-menu__toggle {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		min-width: 44px;
		min-height: 44px;
		color: #111111;
		position: relative;
		z-index: 2;
	}

	.aeew-nav-menu__inner {
		width: 100%;
		justify-content: flex-start;
	}

	.aeew-nav-menu--panel-left .aeew-nav-menu__panel {
		position: fixed;
		top: 0;
		left: 0;
		width: min(300px, 88vw);
		height: 100dvh;
		max-height: 100dvh;
		transform: translateX(-100%);
		transition: transform 0.3s ease;
		background: #ffffff;
		box-shadow: 4px 0 24px rgba(0, 0, 0, 0.12);
		overflow-y: auto;
		z-index: 10080;
	}

	.aeew-nav-menu--panel-right .aeew-nav-menu__panel {
		position: fixed;
		top: 0;
		right: 0;
		left: auto;
		width: min(300px, 88vw);
		height: 100dvh;
		max-height: 100dvh;
		transform: translateX(100%);
		transition: transform 0.3s ease;
		background: #ffffff;
		box-shadow: -4px 0 24px rgba(0, 0, 0, 0.12);
		overflow-y: auto;
		z-index: 10080;
	}

	.aeew-nav-menu.is-open .aeew-nav-menu__panel {
		transform: translateX(0);
	}

	.aeew-nav-menu__panel-header {
		display: flex;
	}

	.aeew-nav-menu__list {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
	}

	.aeew-nav-menu__list > li > a {
		display: flex;
		width: 100%;
	}

	.aeew-nav-menu__submenu-toggle {
		display: inline-flex;
	}
}

.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;
}

/* Bottom Navigation widget */
.aeew-bottom-nav {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	background: #ffffff;
	border-top: 1px solid #e5e7eb;
	box-shadow: 0 -4px 20px rgba(15, 23, 42, 0.08);
	z-index: 10060;
}

.aeew-bottom-nav__inner {
	display: flex;
	align-items: stretch;
	justify-content: space-around;
	gap: 4px;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0));
}

.aeew-bottom-nav__item {
	flex: 1 1 0;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	min-width: 0;
	padding: 4px 2px;
	border: none;
	background: transparent;
	color: #6b7280;
	text-decoration: none;
	cursor: pointer;
	transition: color 0.2s ease;
}

.aeew-bottom-nav__item:hover,
.aeew-bottom-nav__item:focus {
	color: #374151;
	outline: none;
}

.aeew-bottom-nav__item.is-active {
	color: #f97316;
}

.aeew-bottom-nav__icon-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.aeew-bottom-nav__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	line-height: 1;
}

.aeew-bottom-nav__icon svg {
	display: block;
	width: 1em;
	height: 1em;
}

.aeew-bottom-nav__label {
	display: block;
	max-width: 100%;
	font-size: 11px;
	line-height: 1.2;
	font-weight: 500;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.aeew-bottom-nav__badge {
	position: absolute;
	top: -6px;
	right: -10px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border-radius: 4px;
	background: #f97316;
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
}

.aeew-bottom-nav__badge--empty {
	display: none;
}

body.aeew-has-bottom-nav {
	padding-bottom: var(--aeew-bottom-nav-height, 64px);
}

/* ===================== WhatsApp Float Button ===================== */
.aeew-wa {
	--aeew-wa-side: 24px;
	position: fixed;
	bottom: 16px;
	z-index: 10070;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
}

/* Anchor the widget to the chosen side */
.aeew-wa--right {
	right: var(--aeew-wa-side, 24px);
	align-items: flex-end;
}

.aeew-wa--left {
	left: var(--aeew-wa-side, 24px);
	align-items: flex-start;
}

/* ---- Floating toggle button ---- */
.aeew-wa__toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background-color: #25d366;
	color: #ffffff;
	cursor: pointer;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	order: 2;
}

.aeew-wa__toggle:hover {
	transform: scale(1.05);
}

.aeew-wa__toggle:focus-visible {
	outline: 3px solid rgba(37, 211, 102, 0.5);
	outline-offset: 3px;
}

.aeew-wa__toggle-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.aeew-wa__toggle-icon svg {
	width: 32px;
	height: 32px;
	display: block;
}

/* Close glyph is hidden until the panel is open */
.aeew-wa__toggle-icon--close {
	position: absolute;
	font-size: 30px;
	font-weight: 400;
	opacity: 0;
	transform: scale(0.6) rotate(-90deg);
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.aeew-wa__toggle-icon--open {
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.aeew-wa.is-open .aeew-wa__toggle-icon--open {
	opacity: 0;
	transform: scale(0.6) rotate(90deg);
}

.aeew-wa.is-open .aeew-wa__toggle-icon--close {
	opacity: 1;
	transform: scale(1) rotate(0deg);
}

/* ---- Optional text label next to the button ---- */
.aeew-wa__label {
	order: 1;
	align-self: center;
	padding: 6px 12px;
	border-radius: 999px;
	background-color: #ffffff;
	color: #111827;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

/* ---- Pulse animation ---- */
.aeew-wa--pulse .aeew-wa__toggle::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background-color: inherit;
	z-index: -1;
	animation: aeew-wa-pulse 2s ease-out infinite;
}

.aeew-wa.is-open.aeew-wa--pulse .aeew-wa__toggle::before {
	animation: none;
}

@keyframes aeew-wa-pulse {
	0% {
		transform: scale(1);
		opacity: 0.6;
	}
	70% {
		transform: scale(1.6);
		opacity: 0;
	}
	100% {
		transform: scale(1.6);
		opacity: 0;
	}
}

/* ---- Contacts panel (floats above the button) ---- */
.aeew-wa__panel {
	position: absolute;
	bottom: calc(100% + 12px);
	width: 320px;
	max-width: calc(100vw - 32px);
	max-height: min(70vh, 520px);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	background-color: #ffffff;
	border-radius: 16px;
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(12px) scale(0.96);
	transform-origin: bottom right;
	transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
}

/* Keep the panel aligned to the chosen side */
.aeew-wa--right .aeew-wa__panel {
	right: 0;
	transform-origin: bottom right;
}

.aeew-wa--left .aeew-wa__panel {
	left: 0;
	transform-origin: bottom left;
}

.aeew-wa.is-open .aeew-wa__panel {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0) scale(1);
}

.aeew-wa__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 18px;
	background-color: #075e54;
	color: #ffffff;
}

.aeew-wa__header-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.aeew-wa__title {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
}

.aeew-wa__subtitle {
	font-size: 13px;
	line-height: 1.4;
	opacity: 0.9;
}

.aeew-wa__close {
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.15);
	color: inherit;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.aeew-wa__close:hover {
	background-color: rgba(255, 255, 255, 0.28);
}

.aeew-wa__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 16px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.aeew-wa__contact {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border-radius: 12px;
	background-color: #f0f2f5;
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.aeew-wa__contact:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
}

.aeew-wa__contact-icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: rgba(37, 211, 102, 0.15);
	color: #25d366;
}

.aeew-wa__contact-icon svg {
	width: 22px;
	height: 22px;
	display: block;
}

.aeew-wa__contact-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.aeew-wa__contact-name {
	font-size: 15px;
	font-weight: 600;
	color: #111827;
	line-height: 1.3;
}

.aeew-wa__contact-sub {
	font-size: 12px;
	color: #6b7280;
	line-height: 1.3;
}

.aeew-wa__empty {
	margin: 0;
	padding: 12px;
	font-size: 13px;
	color: #6b7280;
	text-align: center;
}

/* ===================== Age Verification Gate ===================== */
.aeew-age-gate {
	--aeew-age-gap-logo: 20px;
	--aeew-age-gap-brand: 8px;
	--aeew-age-gap-subtitle: 28px;
	--aeew-age-gap-verification: 12px;
	--aeew-age-gap-text: 20px;
	--aeew-age-gap-badge: 24px;
	--aeew-age-gap-buttons: 24px;
	--aeew-age-gap-footer: 16px;
	position: fixed;
	inset: 0;
	z-index: 100900;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
}

.aeew-age-gate.is-hidden {
	display: none;
}

/* Hidden until boot script confirms whether the visitor is already verified */
.aeew-age-gate.aeew-age-gate--pending {
	visibility: hidden;
	pointer-events: none;
}

.aeew-age-gate.is-ready:not(.is-hidden) {
	visibility: visible;
	pointer-events: auto;
}

.aeew-age-gate__overlay {
	position: absolute;
	inset: 0;
	background-color: #1f1710;
	opacity: 0.98;
	/* Subtle diagonal hatch like the reference design */
	background-image: repeating-linear-gradient(
		135deg,
		rgba(255, 255, 255, 0.03) 0,
		rgba(255, 255, 255, 0.03) 1px,
		transparent 1px,
		transparent 12px
	);
}

.aeew-age-gate__card {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
	padding: 40px 36px 32px;
	border: 1px solid #8a7348;
	border-radius: 20px;
	background-color: #2a2118;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
	text-align: center;
	box-sizing: border-box;
}

.aeew-age-gate__logo img {
	display: inline-block;
	width: 120px;
	height: auto;
	max-width: 100%;
}

.aeew-age-gate__block--logo {
	margin-bottom: var(--aeew-age-gap-logo);
}

.aeew-age-gate__block--brand {
	margin-bottom: var(--aeew-age-gap-brand);
}

.aeew-age-gate__block--subtitle {
	margin-bottom: var(--aeew-age-gap-subtitle);
}

.aeew-age-gate__block--verification {
	margin-bottom: var(--aeew-age-gap-verification);
}

.aeew-age-gate__block--text {
	margin-bottom: var(--aeew-age-gap-text);
}

.aeew-age-gate__block--badge {
	margin-bottom: var(--aeew-age-gap-badge);
}

.aeew-age-gate__block--buttons {
	margin-bottom: var(--aeew-age-gap-buttons);
}

.aeew-age-gate__block--footer {
	margin-bottom: var(--aeew-age-gap-footer);
}

.aeew-age-gate__brand-title {
	margin: 0;
	color: #c9a227;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(28px, 5vw, 42px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.aeew-age-gate__brand-subtitle {
	margin: 0;
	color: #c9a227;
	font-size: clamp(11px, 2.5vw, 13px);
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.28em;
	text-transform: uppercase;
}

.aeew-age-gate__verification-title {
	margin: 0;
	color: #c9a227;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(18px, 3.5vw, 22px);
	font-weight: 600;
	line-height: 1.3;
}

.aeew-age-gate__verification-text {
	margin: 0;
	color: #a89880;
	font-size: clamp(14px, 2.8vw, 16px);
	line-height: 1.6;
}

.aeew-age-gate__badge {
	display: inline-block;
	padding: 4px 16px;
	border: 1px solid #8a7348;
	border-radius: 999px;
	color: #c9a227;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.05em;
}

.aeew-age-gate__actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
}

.aeew-age-gate__confirm,
.aeew-age-gate__deny {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 52px;
	padding: 14px 20px;
	border-radius: 8px;
	font-size: clamp(12px, 2.5vw, 14px);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
	transition: opacity 0.2s ease, transform 0.15s ease;
	box-sizing: border-box;
}

.aeew-age-gate__confirm {
	border: none;
	background-color: #c9a227;
	color: #1f1710;
}

.aeew-age-gate__confirm:hover {
	opacity: 0.92;
	transform: translateY(-1px);
}

.aeew-age-gate__confirm-icon {
	font-size: 1.1em;
	line-height: 1;
}

.aeew-age-gate__deny {
	border: 1px solid #8a7348;
	background-color: transparent;
	color: #c9a227;
}

.aeew-age-gate__deny:hover {
	background-color: rgba(201, 162, 39, 0.08);
}

.aeew-age-gate__footer {
	margin: 0;
	color: #8a7d6a;
	font-size: clamp(11px, 2.2vw, 12px);
	line-height: 1.55;
}

.aeew-age-gate__location {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: #a89880;
	font-size: 13px;
}

.aeew-age-gate__flag {
	font-size: 1.2em;
	line-height: 1;
}

/* Verification vs. restriction views */
.aeew-age-gate__view--denied {
	display: none;
}

.aeew-age-gate.is-denied .aeew-age-gate__view--main {
	display: none;
}

.aeew-age-gate.is-denied .aeew-age-gate__view--denied {
	display: block;
}

.aeew-age-gate__denied-title {
	margin: 0 0 28px;
	color: #e0734f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(24px, 4.5vw, 34px);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

/* Short divider line under the denied title (matches reference) */
.aeew-age-gate__denied-title::after {
	content: "";
	display: block;
	width: 56px;
	height: 2px;
	margin: 16px auto 0;
	background-color: #e0734f;
	opacity: 0.7;
}

.aeew-age-gate__denied-text {
	margin: 0 0 20px;
	color: #d97a5a;
	font-size: clamp(15px, 3vw, 18px);
	line-height: 1.6;
}

.aeew-age-gate__denied-subtext {
	margin: 0;
	color: #8a7d6a;
	font-size: clamp(13px, 2.4vw, 15px);
	line-height: 1.55;
}

body.aeew-age-gate-open {
	overflow: hidden;
}

@media (max-width: 767px) {
	.aeew-age-gate {
		padding: 16px;
	}

	.aeew-age-gate__card {
		padding: 32px 24px 28px;
		border-radius: 16px;
	}
}

/* ===================== Page Transitions ===================== */
.aeew-pt {
	--aeew-pt-duration: 600ms;
	--aeew-pt-easing: cubic-bezier(0.65, 0, 0.35, 1);
	--aeew-pt-z: 100950;
}

.aeew-pt__overlay {
	position: fixed;
	inset: 0;
	z-index: var(--aeew-pt-z, 100950);
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #1f1710;
	/* Resting (uncovered) state. Per-effect overrides park it off-screen so the
	   exit transition starts from the correct position. */
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: none;
	will-change: opacity, transform;
}

/* Per-effect resting positions (page is visible, overlay parked) */
.aeew-pt--slide-up .aeew-pt__overlay {
	opacity: 1;
	transform: translateY(-100%);
}

.aeew-pt--slide-down .aeew-pt__overlay {
	opacity: 1;
	transform: translateY(100%);
}

.aeew-pt--slide-left .aeew-pt__overlay {
	opacity: 1;
	transform: translateX(-100%);
}

.aeew-pt--slide-right .aeew-pt__overlay {
	opacity: 1;
	transform: translateX(100%);
}

.aeew-pt--zoom .aeew-pt__overlay {
	opacity: 0;
	transform: scale(1.25);
}

/* ---- Entrance: cover at first paint, then reveal out automatically ---- */
.aeew-pt--entrance .aeew-pt__overlay {
	animation-duration: var(--aeew-pt-duration, 600ms);
	animation-timing-function: var(--aeew-pt-easing, ease);
	animation-fill-mode: both;
	animation-iteration-count: 1;
}

.aeew-pt--entrance.aeew-pt--fade .aeew-pt__overlay {
	animation-name: aeew-pt-enter-fade;
}

.aeew-pt--entrance.aeew-pt--slide-up .aeew-pt__overlay {
	animation-name: aeew-pt-enter-slide-up;
}

.aeew-pt--entrance.aeew-pt--slide-down .aeew-pt__overlay {
	animation-name: aeew-pt-enter-slide-down;
}

.aeew-pt--entrance.aeew-pt--slide-left .aeew-pt__overlay {
	animation-name: aeew-pt-enter-slide-left;
}

.aeew-pt--entrance.aeew-pt--slide-right .aeew-pt__overlay {
	animation-name: aeew-pt-enter-slide-right;
}

.aeew-pt--entrance.aeew-pt--zoom .aeew-pt__overlay {
	animation-name: aeew-pt-enter-zoom;
}

/* ---- Exit: cover the page before navigating ---- */
.aeew-pt.is-leaving .aeew-pt__overlay {
	animation: none;
	pointer-events: auto;
	visibility: visible;
	opacity: 1;
	transform: none;
	transition: opacity var(--aeew-pt-duration, 600ms) var(--aeew-pt-easing, ease),
		transform var(--aeew-pt-duration, 600ms) var(--aeew-pt-easing, ease);
}

/* Loader */
.aeew-pt__loader {
	display: flex;
	align-items: center;
	justify-content: center;
}

.aeew-pt__spinner {
	display: inline-block;
	width: 44px;
	height: 44px;
	border: 3px solid rgba(255, 255, 255, 0.18);
	border-top-color: #c9a227;
	border-radius: 50%;
	animation: aeew-pt-spin 0.8s linear infinite;
}

.aeew-pt__logo {
	display: block;
	width: 120px;
	height: auto;
	animation: aeew-pt-pulse 1.4s ease-in-out infinite;
}

/* Editor-only helper note */
.aeew-pt__editor-note {
	padding: 14px 16px;
	border: 1px dashed #c9a227;
	border-radius: 8px;
	background: #2a2118;
	color: #c9a227;
	font-size: 13px;
	line-height: 1.5;
	text-align: center;
}

@keyframes aeew-pt-spin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes aeew-pt-pulse {
	0%, 100% {
		opacity: 1;
		transform: scale(1);
	}
	50% {
		opacity: 0.6;
		transform: scale(0.94);
	}
}

@keyframes aeew-pt-enter-fade {
	0% {
		opacity: 1;
		visibility: visible;
	}
	99% {
		opacity: 0;
		visibility: visible;
	}
	100% {
		opacity: 0;
		visibility: hidden;
	}
}

@keyframes aeew-pt-enter-slide-up {
	0% {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}
	99% {
		opacity: 1;
		visibility: visible;
		transform: translateY(-100%);
	}
	100% {
		opacity: 1;
		visibility: hidden;
		transform: translateY(-100%);
	}
}

@keyframes aeew-pt-enter-slide-down {
	0% {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}
	99% {
		opacity: 1;
		visibility: visible;
		transform: translateY(100%);
	}
	100% {
		opacity: 1;
		visibility: hidden;
		transform: translateY(100%);
	}
}

@keyframes aeew-pt-enter-slide-left {
	0% {
		opacity: 1;
		visibility: visible;
		transform: translateX(0);
	}
	99% {
		opacity: 1;
		visibility: visible;
		transform: translateX(-100%);
	}
	100% {
		opacity: 1;
		visibility: hidden;
		transform: translateX(-100%);
	}
}

@keyframes aeew-pt-enter-slide-right {
	0% {
		opacity: 1;
		visibility: visible;
		transform: translateX(0);
	}
	99% {
		opacity: 1;
		visibility: visible;
		transform: translateX(100%);
	}
	100% {
		opacity: 1;
		visibility: hidden;
		transform: translateX(100%);
	}
}

@keyframes aeew-pt-enter-zoom {
	0% {
		opacity: 1;
		visibility: visible;
		transform: scale(1);
	}
	99% {
		opacity: 0;
		visibility: visible;
		transform: scale(1.25);
	}
	100% {
		opacity: 0;
		visibility: hidden;
		transform: scale(1.25);
	}
}

/* When leaving, apply the matching covering origin per effect */
.aeew-pt--slide-up.is-leaving .aeew-pt__overlay {
	transform: translateY(0);
}

.aeew-pt--slide-down.is-leaving .aeew-pt__overlay {
	transform: translateY(0);
}

.aeew-pt--slide-left.is-leaving .aeew-pt__overlay {
	transform: translateX(0);
}

.aeew-pt--slide-right.is-leaving .aeew-pt__overlay {
	transform: translateX(0);
}

.aeew-pt--zoom.is-leaving .aeew-pt__overlay {
	transform: scale(1);
}

/* ---- Animated SVG (draw paths) loader ---- */
.aeew-pt__svg {
	--aeew-pt-draw-duration: 2000ms;
	--aeew-pt-svg-stroke: #c9a227;
	--aeew-pt-svg-stroke-width: 2;
	display: inline-flex;
	width: 160px;
	max-width: 80vw;
}

.aeew-pt__svg svg {
	width: 100%;
	height: auto;
	overflow: visible;
}

/* Stroke mode forces an outline so the drawing is always visible */
.aeew-pt__svg--stroke svg path,
.aeew-pt__svg--stroke svg line,
.aeew-pt__svg--stroke svg polyline,
.aeew-pt__svg--stroke svg polygon,
.aeew-pt__svg--stroke svg rect,
.aeew-pt__svg--stroke svg circle,
.aeew-pt__svg--stroke svg ellipse {
	fill: var(--aeew-pt-svg-fill, transparent);
	fill-opacity: 0;
	stroke: var(--aeew-pt-svg-stroke, #c9a227);
	stroke-width: var(--aeew-pt-svg-stroke-width, 2);
	vector-effect: non-scaling-stroke;
}

/* Each drawable shape is normalised by JS via --aeew-pt-len */
.aeew-pt__svg.is-drawing svg path,
.aeew-pt__svg.is-drawing svg line,
.aeew-pt__svg.is-drawing svg polyline,
.aeew-pt__svg.is-drawing svg polygon,
.aeew-pt__svg.is-drawing svg rect,
.aeew-pt__svg.is-drawing svg circle,
.aeew-pt__svg.is-drawing svg ellipse {
	stroke-dasharray: var(--aeew-pt-len, 1000);
	stroke-dashoffset: var(--aeew-pt-len, 1000);
	animation-duration: var(--aeew-pt-draw-duration, 2000ms);
	animation-timing-function: ease-in-out;
	animation-fill-mode: both;
	animation-name: aeew-pt-draw-once;
}

/* Looping draw + erase for a seamless preloader */
.aeew-pt__svg--loop.is-drawing svg path,
.aeew-pt__svg--loop.is-drawing svg line,
.aeew-pt__svg--loop.is-drawing svg polyline,
.aeew-pt__svg--loop.is-drawing svg polygon,
.aeew-pt__svg--loop.is-drawing svg rect,
.aeew-pt__svg--loop.is-drawing svg circle,
.aeew-pt__svg--loop.is-drawing svg ellipse {
	animation-name: aeew-pt-draw-loop;
	animation-iteration-count: infinite;
}

@keyframes aeew-pt-draw-once {
	0% {
		stroke-dashoffset: var(--aeew-pt-len, 1000);
		fill-opacity: 0;
	}
	70% {
		stroke-dashoffset: 0;
		fill-opacity: 0;
	}
	100% {
		stroke-dashoffset: 0;
		fill-opacity: 1;
	}
}

@keyframes aeew-pt-draw-loop {
	0% {
		stroke-dashoffset: var(--aeew-pt-len, 1000);
	}
	45% {
		stroke-dashoffset: 0;
	}
	55% {
		stroke-dashoffset: 0;
	}
	100% {
		stroke-dashoffset: calc(var(--aeew-pt-len, 1000) * -1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.aeew-pt--entrance .aeew-pt__overlay {
		animation: none;
		opacity: 0;
		visibility: hidden;
	}

	.aeew-pt.is-leaving .aeew-pt__overlay {
		transition: none;
	}

	.aeew-pt__svg.is-drawing svg path,
	.aeew-pt__svg.is-drawing svg line,
	.aeew-pt__svg.is-drawing svg polyline,
	.aeew-pt__svg.is-drawing svg polygon,
	.aeew-pt__svg.is-drawing svg rect,
	.aeew-pt__svg.is-drawing svg circle,
	.aeew-pt__svg.is-drawing svg ellipse {
		animation: none;
		stroke-dashoffset: 0;
		fill-opacity: 1;
	}
}

/* =====================================================================
 * Single Product widgets
 * ===================================================================== */

/* Editor-only placeholder notice. */
.aeew-sp-notice {
	padding: 16px;
	border: 1px dashed #c9c9c9;
	border-radius: 8px;
	background: #fafafa;
	color: #777;
	font-size: 13px;
	text-align: center;
}

/* --- Breadcrumb --- */
.aeew-sp-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	line-height: 1.4;
}

.aeew-sp-breadcrumb__link {
	text-decoration: none;
	transition: color 0.2s ease;
}

.aeew-sp-breadcrumb__sep {
	opacity: 0.8;
}

/* --- Universal breadcrumbs --- */
.aeew-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	line-height: 1.4;
}

.aeew-breadcrumbs__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
	transition: color 0.2s ease;
}

.aeew-breadcrumbs__current {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.aeew-breadcrumbs__sep {
	display: inline-flex;
	align-items: center;
	opacity: 0.8;
}

.aeew-breadcrumbs__sep--icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.aeew-breadcrumbs__home-icon {
	display: inline-flex;
	align-items: center;
}

.aeew-breadcrumbs__home-icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

/* schema.org wrappers must stay inline so the trail flows naturally */
.aeew-breadcrumbs [itemprop="itemListElement"] {
	display: inline-flex;
	align-items: center;
}

.aeew-breadcrumbs meta {
	display: none;
}

/* --- Gallery --- */
.aeew-sp-gallery {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.aeew-sp-gallery__main {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.aeew-sp-gallery__image {
	max-width: 100%;
	height: auto;
	display: block;
	object-fit: contain;
}

.aeew-sp-gallery__badges {
	position: absolute;
	top: 12px;
	left: 12px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	z-index: 2;
}

.aeew-sp-gallery__badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
}

.aeew-sp-gallery__wishlist {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
}

/* JetCompareWishlist enqueues its own stylesheet after ours, so force layout here. */
.aeew-sp-gallery__wishlist .jet-wishlist-button__link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	padding: 0;
	border: 0;
	line-height: 1;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

/* Keep the wishlist glyph sized to the icon-size control (prevents oversized inline SVGs). */
.aeew-sp-gallery__wishlist .jet-wishlist-button__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.aeew-sp-gallery__wishlist .jet-wishlist-button__icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.aeew-sp-gallery__thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
}

.aeew-sp-gallery__thumb {
	padding: 4px;
	border: 2px solid transparent;
	border-radius: 8px;
	background: #f5f5f5;
	cursor: pointer;
	overflow: hidden;
	transition: border-color 0.2s ease;
}

.aeew-sp-gallery__thumb-img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px;
}

/* --- Title --- */
.aeew-sp-title {
	margin: 0;
}

.aeew-sp-title a {
	text-decoration: none;
	transition: color 0.2s ease;
}

/* --- Meta --- */
.aeew-sp-meta {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

/* Horizontal: items sit side by side and wrap when out of space. */
.aeew-sp-meta--dir-row {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: baseline;
}

/* Vertical: classic stacked list. */
.aeew-sp-meta--dir-column {
	flex-direction: column;
}

.aeew-sp-meta__row {
	display: flex;
	gap: 6px;
}

/* In horizontal mode each item only takes the space it needs. */
.aeew-sp-meta--dir-row .aeew-sp-meta__row {
	flex: 0 0 auto;
}

.aeew-sp-meta--stacked .aeew-sp-meta__row {
	flex-direction: column;
	gap: 2px;
}

.aeew-sp-meta--inline .aeew-sp-meta__row {
	flex-direction: row;
	align-items: baseline;
}

.aeew-sp-meta__label {
	font-weight: 600;
}

/* --- Price --- */
.aeew-sp-price {
	display: block;
}

.aeew-sp-price del {
	margin-right: 8px;
	opacity: 0.7;
}

/* --- Add to cart --- */
.aeew-sp-atc {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.aeew-sp-atc__packaging-label {
	display: block;
	margin-bottom: 8px;
	font-weight: 600;
}

.aeew-sp-atc__packaging {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.aeew-sp-atc__packaging-tab {
	padding: 10px 18px;
	border: 1px solid #ddd;
	background: transparent;
	cursor: pointer;
	line-height: 1.2;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.aeew-sp-atc__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
}

.aeew-sp-atc__qty {
	display: inline-flex;
	align-items: center;
	border: 1px solid #ddd;
	overflow: hidden;
}

.aeew-sp-atc__qty-btn {
	width: 40px;
	border: 0;
	background: transparent;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	color: inherit;
}

.aeew-sp-atc__qty-input {
	width: 48px;
	border: 0;
	text-align: center;
	font-size: 15px;
	background: transparent;
	color: inherit;
	-moz-appearance: textfield;
}

.aeew-sp-atc__qty-input::-webkit-outer-spin-button,
.aeew-sp-atc__qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.aeew-sp-atc__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	border: 0;
	cursor: pointer;
	font-weight: 600;
	line-height: 1.2;
	transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.aeew-sp-atc--full .aeew-sp-atc__button {
	flex: 1 1 auto;
}

.aeew-sp-atc__button--disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.aeew-sp-atc__button-icon {
	display: inline-flex;
	align-items: center;
}

.aeew-sp-atc__button-icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.aeew-sp-atc__button-spinner {
	display: none;
	width: 16px;
	height: 16px;
	border: 2px solid currentColor;
	border-top-color: transparent;
	border-radius: 50%;
	animation: aeew-sp-spin 0.7s linear infinite;
}

.aeew-sp-atc__button.is-loading .aeew-sp-atc__button-spinner {
	display: inline-block;
}

.aeew-sp-atc__button.is-loading .aeew-sp-atc__button-icon {
	display: none;
}

.aeew-sp-atc__button--error {
	background-color: #cc0000 !important;
	color: #fff !important;
}

@keyframes aeew-sp-spin {
	to {
		transform: rotate(360deg);
	}
}

/* --- Share --- */
.aeew-sp-share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.aeew-sp-share__title {
	font-weight: 600;
}

.aeew-sp-share__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	box-sizing: border-box;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	padding: 0;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
	text-decoration: none;
	overflow: hidden;
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

/* Constrain the icon glyph to the control's font-size (prevents oversized inline SVGs). */
.aeew-sp-share__link svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.aeew-sp-share__link i {
	font-size: inherit;
	line-height: 1;
}

.aeew-sp-share__link:hover {
	transform: translateY(-2px);
}

.aeew-sp-share__link--copy.is-copied {
	background-color: #2e7d32 !important;
	color: #fff !important;
}

/* --- Info / trust box --- */
.aeew-sp-infobox {
	display: flex;
	gap: 16px;
}

.aeew-sp-infobox--top {
	flex-direction: column;
	text-align: center;
	align-items: center;
}

.aeew-sp-infobox--left {
	flex-direction: row;
	align-items: flex-start;
}

/* Inline: the icon shares the heading line; description/link sit below. */
.aeew-sp-infobox--inline {
	flex-direction: column;
}

.aeew-sp-infobox__head {
	display: flex;
	align-items: center;
	gap: 8px;
}

.aeew-sp-infobox__head .aeew-sp-infobox__heading {
	margin: 0;
}

.aeew-sp-infobox__icon {
	flex-shrink: 0;
	line-height: 1;
}

.aeew-sp-infobox__heading {
	margin: 0 0 6px;
}

.aeew-sp-infobox__text {
	margin: 0;
}

.aeew-sp-infobox__link {
	display: inline-block;
	margin-top: 8px;
	font-weight: 600;
	text-decoration: underline;
}

/* Modal trigger reuses the link look but is a <button>. */
.aeew-sp-infobox__modal-trigger {
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	cursor: pointer;
}

/* --- Info / trust box: template modal (slide-in drawer, like the auth modal) --- */
.aeew-sp-modal {
	position: fixed;
	inset: 0;
	z-index: 100020;
	display: flex;
	justify-content: flex-end;
	pointer-events: none;
	visibility: hidden;
}

/* Slide-in from the left edge instead of the right. */
.aeew-sp-modal--from-left {
	justify-content: flex-start;
}

.aeew-sp-modal:not([hidden]) {
	visibility: visible;
}

.aeew-sp-modal.is-open {
	pointer-events: auto;
}

.aeew-sp-modal[hidden] {
	display: none !important;
}

.aeew-sp-modal__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background-color: rgba(0, 0, 0, 0.45);
	opacity: 0;
	transition: opacity 0.35s ease-in-out;
	will-change: opacity;
}

.aeew-sp-modal.is-open .aeew-sp-modal__overlay {
	opacity: 1;
}

.aeew-sp-modal__panel {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	width: 600px;
	max-width: 100%;
	height: 100%;
	padding: 40px;
	background: #ffffff;
	box-shadow: -8px 0 32px rgba(0, 0, 0, 0.1);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	transform: translate3d(100%, 0, 0);
	transition: transform 0.35s ease-in-out;
	will-change: transform;
}

.aeew-sp-modal--from-left .aeew-sp-modal__panel {
	box-shadow: 8px 0 32px rgba(0, 0, 0, 0.1);
	transform: translate3d(-100%, 0, 0);
}

.aeew-sp-modal.is-open .aeew-sp-modal__panel {
	transform: translate3d(0, 0, 0);
}

.aeew-sp-modal__close {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: none;
	background: none;
	color: #111111;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}

.aeew-sp-modal__close svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.aeew-sp-modal__title {
	margin: 0 0 20px;
	padding-right: 32px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
	color: #111111;
}

.aeew-sp-modal__content {
	flex: 1 1 auto;
	min-height: 0;
}

.aeew-sp-modal__empty {
	margin: 0;
	color: #c0392b;
	font-size: 14px;
}

body.aeew-sp-modal-open {
	overflow: hidden;
}

/* --- Description / tabs --- */
.aeew-sp-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	border-bottom: 1px solid #eee;
}

.aeew-sp-tabs__nav-item {
	padding: 0 0 12px;
	border: 0;
	border-bottom: 2px solid transparent;
	background: transparent;
	cursor: pointer;
	font-weight: 600;
	line-height: 1.2;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.aeew-sp-tabs__panel[hidden] {
	display: none;
}

.aeew-sp-tabs__panel table {
	width: 100%;
	border-collapse: collapse;
}

.aeew-sp-tabs__panel table th,
.aeew-sp-tabs__panel table td {
	padding: 8px 12px;
	border: 1px solid #eee;
	text-align: left;
}

/* --- Product reviews --- */
.aeew-sp-reviews {
	width: 100%;
}

.aeew-sp-reviews__summary {
	margin-bottom: 24px;
	text-align: center;
}

.aeew-sp-reviews__heading,
.aeew-sp-reviews__empty-heading {
	margin: 0 0 12px;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
}

.aeew-sp-reviews__average {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
}

.aeew-sp-reviews__count {
	font-size: 14px;
	color: #666666;
}

.aeew-sp-reviews__list {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
}

.aeew-sp-reviews__item {
	margin: 0 0 20px;
	padding: 0;
}

.aeew-sp-reviews__item-inner {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}

.aeew-sp-reviews__avatar img {
	border-radius: 50%;
	display: block;
}

.aeew-sp-reviews__body {
	flex: 1;
	min-width: 0;
}

.aeew-sp-reviews__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	align-items: center;
	margin-bottom: 6px;
}

.aeew-sp-reviews__author {
	font-weight: 600;
}

.aeew-sp-reviews__date {
	font-size: 13px;
	color: #888888;
}

.aeew-sp-reviews__stars {
	display: inline-flex;
	gap: 2px;
	line-height: 1;
}

.aeew-sp-reviews__star {
	display: inline-block;
	line-height: 1;
}

.aeew-sp-reviews__star--full {
	color: #f5a623;
}

.aeew-sp-reviews__star--empty {
	color: #dddddd;
}

.aeew-sp-reviews__item-stars {
	margin-bottom: 8px;
}

.aeew-sp-reviews__text {
	font-size: 15px;
	line-height: 1.6;
	color: #444444;
}

.aeew-sp-reviews__form-card {
	background: #f5f5f5;
	border-radius: 12px;
	padding: 24px;
	max-width: 640px;
	margin: 0 auto;
}

.aeew-sp-reviews__login-notice {
	margin: 0;
	text-align: center;
}

.aeew-sp-reviews__form {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

.aeew-sp-reviews__message {
	width: 100%;
	padding: 10px 14px;
	border-radius: 8px;
	font-size: 14px;
	text-align: center;
}

.aeew-sp-reviews__message.is-success {
	background: #e8f7ee;
	color: #1f7a3f;
}

.aeew-sp-reviews__message.is-error {
	background: #fdecec;
	color: #b42318;
}

.aeew-sp-reviews__rating-field {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	width: 100%;
}

.aeew-sp-reviews__rating-label {
	font-size: 14px;
	font-weight: 600;
}

.aeew-sp-reviews__stars-input {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
}

.aeew-sp-reviews__star-btn {
	border: 0;
	background: transparent;
	padding: 0;
	cursor: pointer;
	color: #cccccc;
	line-height: 1;
	transition: color 0.2s ease, transform 0.15s ease;
}

.aeew-sp-reviews__star-btn:hover,
.aeew-sp-reviews__star-btn:focus {
	color: #f5a623;
	outline: none;
}

.aeew-sp-reviews__star-btn.is-active {
	color: #f5a623;
}

.aeew-sp-reviews__star-btn-icon {
	font-size: 28px;
	display: block;
}

.aeew-sp-reviews__chips-row {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.aeew-sp-reviews__chips-label {
	font-size: 14px;
	font-weight: 600;
}

.aeew-sp-reviews__chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.aeew-sp-reviews__chip {
	border: 1px solid #dddddd;
	background: #ffffff;
	color: #333333;
	border-radius: 999px;
	padding: 6px 14px;
	font-size: 13px;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.aeew-sp-reviews__chip:hover {
	background: #f0f0f0;
	color: #111111;
}

.aeew-sp-reviews__guest-fields {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.aeew-sp-reviews__input {
	width: 100%;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: 10px 12px;
	font-size: 14px;
	background: #ffffff;
}

.aeew-sp-reviews__textarea-wrap {
	width: 100%;
	position: relative;
}

.aeew-sp-reviews__textarea {
	width: 100%;
	min-height: 120px;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: 12px 14px;
	font-size: 15px;
	line-height: 1.5;
	resize: vertical;
	background: #ffffff;
	color: #333333;
}

.aeew-sp-reviews__textarea::placeholder {
	color: #999999;
}

.aeew-sp-reviews__counter {
	margin-top: 8px;
	font-size: 12px;
	color: #888888;
	text-align: right;
}

.aeew-sp-reviews__submit {
	border: 0;
	background: #111111;
	color: #ffffff;
	border-radius: 999px;
	padding: 12px 32px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease, opacity 0.2s ease;
}

.aeew-sp-reviews__submit:hover {
	background: #333333;
}

.aeew-sp-reviews__submit:disabled,
.aeew-sp-reviews__submit.is-loading {
	opacity: 0.65;
	cursor: not-allowed;
}

@media (max-width: 575px) {
	.aeew-sp-reviews__guest-fields {
		grid-template-columns: 1fr;
	}

	.aeew-sp-reviews__form-card {
		padding: 18px;
	}
}

/*
 * Mobile: keep single-product details centered.
 * A common cause of "gap on the left, flush on the right" is horizontal
 * overflow (flex min-width) or asymmetric Elementor container padding.
 */
@media (max-width: 767px) {
	/* Equalize padding on the deepest Elementor container/column. */
	.e-con:has(.aeew-sp-gallery):not(:has(.e-con .aeew-sp-gallery)),
	.e-con:has(.aeew-sp-title):not(:has(.e-con .aeew-sp-title)),
	.e-con:has(.aeew-sp-price):not(:has(.e-con .aeew-sp-price)),
	.e-con:has(.aeew-sp-atc):not(:has(.e-con .aeew-sp-atc)),
	.e-con:has(.aeew-sp-share):not(:has(.e-con .aeew-sp-share)),
	.e-con:has(.aeew-sp-infobox):not(:has(.e-con .aeew-sp-infobox)),
	.e-con:has(.aeew-sp-meta):not(:has(.e-con .aeew-sp-meta)),
	.e-con:has(.aeew-sp-breadcrumb):not(:has(.e-con .aeew-sp-breadcrumb)),
	.e-con:has(.aeew-sp-reviews):not(:has(.e-con .aeew-sp-reviews)),
	.elementor-column:has(.aeew-sp-gallery):not(:has(.elementor-column .aeew-sp-gallery)),
	.elementor-column:has(.aeew-sp-title):not(:has(.elementor-column .aeew-sp-title)),
	.elementor-column:has(.aeew-sp-price):not(:has(.elementor-column .aeew-sp-price)),
	.elementor-column:has(.aeew-sp-atc):not(:has(.elementor-column .aeew-sp-atc)),
	.elementor-column:has(.aeew-sp-share):not(:has(.elementor-column .aeew-sp-share)),
	.elementor-column:has(.aeew-sp-infobox):not(:has(.elementor-column .aeew-sp-infobox)),
	.elementor-column:has(.aeew-sp-meta):not(:has(.elementor-column .aeew-sp-meta)),
	.elementor-column:has(.aeew-sp-breadcrumb):not(:has(.elementor-column .aeew-sp-breadcrumb)),
	.elementor-column:has(.aeew-sp-reviews):not(:has(.elementor-column .aeew-sp-reviews)) {
		--padding-left: 16px;
		--padding-right: 16px;
		padding-left: 16px !important;
		padding-right: 16px !important;
		box-sizing: border-box;
		max-width: 100%;
		overflow-x: clip;
	}

	.aeew-sp-gallery,
	.aeew-sp-title,
	.aeew-sp-price,
	.aeew-sp-atc,
	.aeew-sp-share,
	.aeew-sp-infobox,
	.aeew-sp-meta,
	.aeew-sp-breadcrumb,
	.aeew-sp-reviews,
	.aeew-sp-desc {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.aeew-sp-title,
	.aeew-sp-infobox__heading,
	.aeew-sp-infobox__text {
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	/* Flex children default to min-width:auto and can blow past the viewport. */
	.aeew-sp-atc__actions {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.aeew-sp-atc__qty {
		flex: 0 0 auto;
	}

	.aeew-sp-atc__button,
	.aeew-sp-atc--full .aeew-sp-atc__button {
		flex: 1 1 auto;
		min-width: 0;
	}

	.aeew-sp-infobox--left,
	.aeew-sp-infobox--inline {
		min-width: 0;
	}

	.aeew-sp-infobox__head,
	.aeew-sp-infobox__text,
	.aeew-sp-infobox__body {
		min-width: 0;
		max-width: 100%;
	}

	.aeew-sp-gallery__main,
	.aeew-sp-gallery__image {
		max-width: 100%;
	}

	/* Avoid a sparse left-aligned thumb row when only 1–2 images exist. */
	.aeew-sp-gallery__thumbs {
		grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
		max-width: 100%;
	}
}

/* --- Hero section --- */
.aeew-hero {
	position: relative;
	min-height: 520px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: #0a0705;
	font-family: 'Barlow', sans-serif;
	width: 100%;
	box-sizing: border-box;
}

.aeew-hero__texture {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 80% 60% at 50% 80%, rgba(180,110,40,0.18) 0%, transparent 70%),
		radial-gradient(ellipse 40% 40% at 20% 20%, rgba(120,70,20,0.12) 0%, transparent 60%),
		repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(255,255,255,0.012) 2px, rgba(255,255,255,0.012) 4px);
	pointer-events: none;
}

.aeew-hero__content {
	position: relative;
	z-index: 2;
	text-align: center;
	padding: 60px 32px;
	max-width: 620px;
	width: 100%;
	margin: 0 auto;
}

.aeew-hero__logo {
	font-family: 'Cormorant Garamond', serif;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.38em;
	color: rgba(210,175,110,0.7);
	text-transform: uppercase;
	margin: 0 0 4px;
}

.aeew-hero__tagline {
	font-size: 11px;
	letter-spacing: 0.32em;
	color: rgba(210,175,110,0.45);
	text-transform: uppercase;
	margin: 0 0 36px;
	font-weight: 300;
}

.aeew-hero__headline {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(30px, 5vw, 52px);
	font-weight: 300;
	color: #f5efe4;
	line-height: 1.15;
	letter-spacing: -0.01em;
	margin: 0 0 14px;
}

.aeew-hero__emphasis {
	font-style: italic;
	color: #d4a855;
	font-weight: 300;
}

.aeew-hero__subline {
	font-size: 14px;
	font-weight: 300;
	letter-spacing: 0.12em;
	color: rgba(220,200,165,0.55);
	text-transform: uppercase;
	margin: 0 0 40px;
}

.aeew-hero__divider {
	width: 40px;
	height: 1px;
	background: linear-gradient(90deg, transparent, #d4a855, transparent);
	margin: 0 auto 40px;
}

.aeew-hero__buttons {
	display: flex;
	flex-direction: column;
	gap: 14px;
	align-items: center;
	width: 100%;
	max-width: 360px;
	margin: 0 auto;
}

.aeew-hero__btn {
	display: block;
	width: 100%;
	padding: 17px 32px;
	text-decoration: none;
	font-family: 'Barlow', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	border-radius: 999px;
	border-style: solid;
	border-width: 1.5px;
	transition: all 0.3s ease;
	cursor: pointer;
	box-sizing: border-box;
	text-align: center;
}

.aeew-hero__btn--primary {
	background: transparent;
	color: #f5efe4;
	border-color: rgba(245,239,228,0.5);
}

.aeew-hero__btn--primary:hover {
	background: rgba(245,239,228,0.08);
	border-color: rgba(245,239,228,0.85);
	color: #fff;
	letter-spacing: 0.26em;
}

.aeew-hero__btn--secondary {
	background: transparent;
	color: #d4a855;
	border-color: rgba(212,168,85,0.45);
}

.aeew-hero__btn--secondary:hover {
	background: rgba(212,168,85,0.1);
	border-color: rgba(212,168,85,0.85);
	color: #e6c07a;
	letter-spacing: 0.26em;
}

.aeew-hero__footer {
	margin: 44px 0 0;
	font-size: 11px;
	letter-spacing: 0.2em;
	color: rgba(210,175,110,0.3);
	text-transform: uppercase;
}

.aeew-hero__footer span {
	display: inline-block;
	width: 20px;
	height: 1px;
	background: rgba(210,175,110,0.3);
	vertical-align: middle;
	margin: 0 10px;
}

@media (max-width: 600px) {
	.aeew-hero {
		min-height: 460px;
	}

	.aeew-hero__content {
		padding: 48px 24px;
	}

	.aeew-hero__buttons {
		max-width: 100%;
	}

	.aeew-hero__btn {
		padding: 15px 24px;
		font-size: 11px;
	}
}

/* --- Add to cart toast --- */
.aeew-toast-container {
	position: fixed;
	z-index: 99999;
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: 360px;
	pointer-events: none;
	padding: 16px;
	box-sizing: border-box;
}

.aeew-toast-container[data-position="top-right"] {
	top: 0;
	right: 0;
	align-items: flex-end;
}

.aeew-toast-container[data-position="top-left"] {
	top: 0;
	left: 0;
	align-items: flex-start;
}

.aeew-toast-container[data-position="top-center"] {
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	align-items: center;
}

.aeew-toast-container[data-position="bottom-right"] {
	bottom: 0;
	right: 0;
	align-items: flex-end;
}

.aeew-toast-container[data-position="bottom-left"] {
	bottom: 0;
	left: 0;
	align-items: flex-start;
}

.aeew-toast-container[data-position="bottom-center"] {
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	align-items: center;
}

.aeew-toast {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 220px;
	max-width: 100%;
	padding: var(--aeew-toast-padding, 14px 18px);
	background: var(--aeew-toast-bg, #18181b);
	color: var(--aeew-toast-color, #ffffff);
	border-radius: var(--aeew-toast-radius, 10px);
	border-style: solid;
	border-width: var(--aeew-toast-border-width, 0);
	border-color: var(--aeew-toast-border-color, transparent);
	box-shadow: var(--aeew-toast-shadow, 0 10px 30px rgba(0, 0, 0, 0.18));
	font-size: var(--aeew-toast-font-size, 14px);
	line-height: 1.4;
	pointer-events: auto;
	cursor: pointer;
	opacity: 0;
	transform: translateY(-12px);
	transition: opacity 0.35s ease, transform 0.35s ease;
}

.aeew-toast-container[data-position^="bottom"] .aeew-toast {
	transform: translateY(12px);
}

.aeew-toast.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.aeew-toast.is-leaving {
	opacity: 0;
	transform: translateY(-12px);
}

.aeew-toast-container[data-position^="bottom"] .aeew-toast.is-leaving {
	transform: translateY(12px);
}

.aeew-toast__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--aeew-toast-icon-bg, rgba(34, 197, 94, 0.18));
	color: var(--aeew-toast-icon-color, #22c55e);
}

.aeew-toast__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.aeew-toast__message {
	font-weight: 600;
}

.aeew-toast__product {
	font-size: 0.85em;
	opacity: 0.8;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 240px;
}

/* --- Custom Dropdown (manual language switcher) --- */
.aeew-cdd {
	position: relative;
	display: inline-flex;
}

.aeew-cdd--empty {
	padding: 12px 16px;
	border: 1px dashed #c3c4c7;
	border-radius: 4px;
	color: #646970;
	font-size: 14px;
	line-height: 1.5;
}

.aeew-cdd__trigger {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	line-height: 1.2;
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.aeew-cdd__current {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.aeew-cdd__current-label {
	white-space: nowrap;
}

.aeew-cdd__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	transition: transform 0.25s ease;
}

.aeew-cdd.is-open .aeew-cdd__arrow {
	transform: rotate(180deg);
}

.aeew-cdd__menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 999;
	margin: 0;
	list-style: none;
	min-width: 160px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.aeew-cdd.is-open .aeew-cdd__menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.aeew-cdd__item {
	margin: 0;
	padding: 0;
	list-style: none;
}

.aeew-cdd__link {
	display: flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	line-height: 1.3;
	transition: color 0.2s ease, background-color 0.2s ease;
}

.aeew-cdd__label {
	white-space: nowrap;
}

.aeew-cdd__flag {
	display: block;
	flex-shrink: 0;
	width: 20px;
	height: 14px;
	object-fit: cover;
}

/* ==========================================================================
   AJAX Search
   ========================================================================== */

.aeew-search {
	position: relative;
	width: 100%;
	max-width: 420px;
}

/* Lift the whole widget above the blur overlay while it is active so the
   field and dropdown stay sharp and clickable. */
.aeew-search.is-active {
	z-index: 10002;
}

.aeew-search__form {
	position: relative;
	margin: 0;
}

/* Pill-shaped field that wraps the icon, input and action buttons. */
.aeew-search__field {
	position: relative;
	display: flex;
	align-items: center;
	gap: 6px;
	width: 100%;
	padding: 0 6px 0 16px;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 999px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.aeew-search.is-active .aeew-search__field {
	border-color: #c9a96e;
	box-shadow: 0 0 0 3px rgba(201, 169, 110, 0.15);
}

.aeew-search__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: #888;
	line-height: 0;
}

.aeew-search__input {
	flex: 1;
	min-width: 0;
	width: 100%;
	margin: 0;
	border: none;
	outline: none;
	background: transparent;
	padding: 11px 0;
	font-size: 15px;
	line-height: 1.4;
	color: #111;
	box-shadow: none;
}

.aeew-search__input:focus {
	outline: none;
	box-shadow: none;
}

/* Hide the native search "x" so only our custom clear button shows. */
.aeew-search__input::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
}

.aeew-search__clear {
	display: none;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: transparent;
	color: #999;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	transition: color 0.2s ease, background-color 0.2s ease;
}

.aeew-search__clear:hover {
	color: #333;
	background: #f3f3f3;
}

/* Only show the clear button once there is text to clear. */
.aeew-search.has-value .aeew-search__clear {
	display: inline-flex;
}

/* Icon-only trigger button: hidden by default, used in mobile icon mode. */
.aeew-search__icon-btn {
	display: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: transparent;
	color: #333;
	cursor: pointer;
}

.aeew-search__panel {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: 0;
	z-index: 10003;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 12px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
	overflow: hidden;
	display: none;
}

.aeew-search.is-open .aeew-search__panel {
	display: block;
}

.aeew-search__heading {
	padding: 12px 16px 6px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #999;
}

.aeew-search__list {
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 360px;
	overflow-y: auto;
}

.aeew-search__item {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #f3f3f3;
}

.aeew-search__item:last-child {
	border-bottom: none;
}

.aeew-search__link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	text-decoration: none;
	color: inherit;
	transition: background-color 0.2s ease;
}

.aeew-search__link:hover,
.aeew-search__link:focus {
	background: #faf8f5;
}

.aeew-search__thumb {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	border-radius: 8px;
	overflow: hidden;
	background: #f5f5f5;
}

.aeew-search__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.aeew-search__meta {
	flex: 1;
	min-width: 0;
}

.aeew-search__title {
	display: block;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	margin: 0 0 4px;
}

.aeew-search__title mark {
	background: transparent;
	color: #c9a96e;
	font-weight: 600;
	padding: 0;
}

.aeew-search__price {
	display: block;
	font-size: 13px;
	color: #666;
}

.aeew-search__footer {
	padding: 12px 16px;
	border-top: 1px solid #eee;
	text-align: center;
}

.aeew-search__see-all {
	display: inline-block;
	font-size: 14px;
	font-weight: 500;
	color: #c9a96e;
	text-decoration: none;
}

.aeew-search__see-all:hover {
	text-decoration: underline;
}

.aeew-search__empty,
.aeew-search__loading {
	padding: 20px 16px;
	text-align: center;
	color: #888;
	font-size: 14px;
}

.aeew-search-overlay {
	position: fixed;
	inset: 0;
	z-index: var(--aeew-search-overlay-z, 10000);
	background: var(--aeew-search-overlay-bg, rgba(255, 255, 255, 0.35));
	backdrop-filter: blur(var(--aeew-search-blur, 8px));
	-webkit-backdrop-filter: blur(var(--aeew-search-blur, 8px));
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease, visibility 0.25s ease;
	pointer-events: none;
}

.aeew-search-overlay.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* ---- Mobile icon-only mode ---- */
@media (max-width: 767px) {
	.aeew-search--mobile-icon {
		width: auto;
	}

	.aeew-search--mobile-icon .aeew-search__field {
		display: none;
	}

	.aeew-search--mobile-icon .aeew-search__icon-btn {
		display: inline-flex;
	}

	.aeew-search--mobile-icon.is-expanded {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 10002;
		width: auto;
		max-width: none;
		padding: 12px 16px;
		background: #fff;
		box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	}

	.aeew-search--mobile-icon.is-expanded .aeew-search__field {
		display: flex;
	}

	.aeew-search--mobile-icon.is-expanded .aeew-search__icon-btn {
		display: none;
	}
}

/* ==========================================================================
   Product Results
   ========================================================================== */

.aeew-results {
	position: relative;
}

.aeew-results.is-loading {
	opacity: 0.6;
	pointer-events: none;
}

.aeew-results__count {
	margin: 0 0 16px;
	font-size: 14px;
	color: #666;
}

.aeew-results__empty {
	padding: 40px 20px;
	text-align: center;
	color: #888;
}

/* ==========================================================================
   Filter Widgets
   ========================================================================== */

.aeew-filter {
	margin-bottom: 24px;
}

.aeew-filter__heading {
	margin: 0 0 12px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
}

.aeew-filter__price-inputs {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
}

.aeew-filter__price-min,
.aeew-filter__price-max {
	flex: 1;
	min-width: 0;
	padding: 8px 10px;
	border: 1px solid #ddd;
	border-radius: 6px;
	font-size: 14px;
}

.aeew-filter__price-sep {
	color: #999;
	flex-shrink: 0;
}

.aeew-filter__price-range {
	display: block;
	width: 100%;
	margin-bottom: 8px;
	accent-color: #c9a96e;
}

.aeew-filter__checkbox {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	font-size: 14px;
	line-height: 1.4;
}

.aeew-filter__checkbox input {
	margin: 0;
	accent-color: #c9a96e;
}

.aeew-filter__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.aeew-filter__list-item {
	margin: 0 0 8px;
	padding: 0;
}

.aeew-filter__count {
	color: #999;
	font-size: 12px;
}

.aeew-filter__taxonomy-select,
.aeew-filter__sort-select {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #ddd;
	border-radius: 6px;
	font-size: 14px;
	background: #fff;
}

.aeew-filter--empty {
	padding: 12px;
	color: #888;
	font-size: 13px;
}

/* ==========================================================================
   Hero Slider
   ========================================================================== */

.aeew-hero-slider {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.aeew-hero-slider__swiper {
	width: 100%;
	height: 100%;
}

.aeew-hero-slider__slide {
	position: relative;
	display: flex;
	min-height: 70vh;
	overflow: hidden;
}

/* Background layers ----------------------------------------------------- */
.aeew-hero-slider__bg {
	position: absolute;
	inset: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	overflow: hidden;
}

.aeew-hero-slider__bg-image {
	position: absolute;
	inset: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	min-height: 100%;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

.aeew-hero-slider__video {
	position: absolute;
	inset: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

/* Self-hosted video covers via object-fit. */
video.aeew-hero-slider__video-el {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	object-fit: cover;
	pointer-events: none;
}

/* Embedded iframes are sized by JS (coverIframe) and centered here. */
.aeew-hero-slider__video-el--embed {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border: 0;
	pointer-events: none;
}

/* Overlay --------------------------------------------------------------- */
.aeew-hero-slider__overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
}

/* Content --------------------------------------------------------------- */
.aeew-hero-slider__inner {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}

.aeew-hero-slider__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	max-width: 720px;
	width: 100%;
}

.aeew-hero-slider__title {
	margin: 0 0 16px;
	color: #fff;
	font-size: 2.6rem;
	line-height: 1.15;
	font-weight: 700;
}

.aeew-hero-slider__subtitle {
	margin: 0 0 28px;
	color: rgba(255, 255, 255, 0.85);
	font-size: 1.1rem;
	line-height: 1.6;
}

/* Buttons --------------------------------------------------------------- */
.aeew-hero-slider__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: inherit;
}

.aeew-hero-slider__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 32px;
	border: 2px solid transparent;
	border-radius: 4px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.aeew-hero-slider__button--primary {
	background-color: #c9a96e;
	border-color: #c9a96e;
	color: #fff;
}

.aeew-hero-slider__button--primary:hover {
	background-color: #b3915a;
	border-color: #b3915a;
}

.aeew-hero-slider__button--secondary {
	background-color: #fff;
	border-color: #fff;
	color: #111;
}

.aeew-hero-slider__button--secondary:hover {
	background-color: #f0f0f0;
	border-color: #f0f0f0;
}

.aeew-hero-slider__button--outline {
	background-color: transparent;
	border-color: #fff;
	color: #fff;
}

.aeew-hero-slider__button--outline:hover {
	background-color: #fff;
	color: #111;
}

/* Arrows ---------------------------------------------------------------- */
.aeew-hero-slider__arrow {
	position: absolute;
	top: 50%;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin: 0;
	padding: 0;
	transform: translateY(-50%);
	border: none;
	border-radius: 50%;
	background-color: rgba(0, 0, 0, 0.3);
	color: #fff;
	cursor: pointer;
	transition: background-color 0.25s ease, opacity 0.25s ease;
}

.aeew-hero-slider__arrow:hover {
	background-color: rgba(0, 0, 0, 0.55);
}

.aeew-hero-slider__arrow--prev {
	left: 20px;
}

.aeew-hero-slider__arrow--next {
	right: 20px;
}

.aeew-hero-slider__arrow.swiper-button-disabled {
	opacity: 0;
	pointer-events: none;
}

/* Pagination ------------------------------------------------------------ */
.aeew-hero-slider__pagination {
	position: absolute;
	bottom: 20px;
	left: 0;
	right: 0;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.aeew-hero-slider__pagination .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	margin: 0 !important;
	background-color: rgba(255, 255, 255, 0.5);
	opacity: 1;
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.aeew-hero-slider__pagination .swiper-pagination-bullet-active {
	background-color: #c9a96e;
	transform: scale(1.25);
}

.aeew-hero-slider--empty {
	padding: 40px 20px;
	text-align: center;
	color: #888;
	border: 1px dashed #ccc;
}

@media (max-width: 767px) {
	.aeew-hero-slider__title {
		font-size: 1.9rem;
	}

	.aeew-hero-slider__subtitle {
		font-size: 1rem;
	}

	.aeew-hero-slider__arrow {
		width: 40px;
		height: 40px;
	}

	.aeew-hero-slider__arrow--prev {
		left: 10px;
	}

	.aeew-hero-slider__arrow--next {
		right: 10px;
	}
}

/* ==========================================================================
   Wishlist Grid + Variation Popup
   ========================================================================== */

.aeew-wishlist {
	position: relative;
	width: 100%;
}

.aeew-wishlist__grid {
	display: grid;
	/* Columns come from the responsive Elementor control (--aeew-wishlist-cols). */
	grid-template-columns: repeat(var(--aeew-wishlist-cols, 2), minmax(0, 1fr));
	gap: 16px;
}

.aeew-wishlist__empty {
	display: flex;
	flex-direction: column;
	align-items: var(--aeew-wishlist-empty-align, center);
	justify-content: var(--aeew-wishlist-empty-justify, center);
	margin: 0;
	padding: 40px 24px;
	min-height: var(--aeew-wishlist-empty-min-height, 320px);
	height: auto;
	text-align: var(--aeew-wishlist-empty-text-align, center);
	background-color: var(--aeew-wishlist-empty-bg, #f3f3f3);
	border-radius: var(--aeew-wishlist-empty-radius, 20px);
	box-sizing: border-box;
}

.aeew-wishlist__empty-inner {
	display: flex;
	flex-direction: column;
	align-items: inherit;
	gap: 20px;
	max-width: 100%;
}

.aeew-wishlist__empty-text {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: #111;
}

.aeew-wishlist__empty-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 28px;
	border-style: solid;
	border-width: 0;
	border-color: transparent;
	border-radius: 999px;
	background-color: #111;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	box-sizing: border-box;
	transition: opacity 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.aeew-wishlist__empty-button:hover,
.aeew-wishlist__empty-button:focus {
	color: #fff;
	opacity: 0.9;
}

.aeew-wishlist-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.aeew-wishlist-card.is-removing {
	opacity: 0.45;
	pointer-events: none;
}

.aeew-wishlist-card__media {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #f0f0f0;
	border-radius: 16px;
}

.aeew-wishlist-card__image-link {
	display: block;
	width: 100%;
	height: 100%;
}

.aeew-wishlist-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 12px;
}

.aeew-wishlist-card__remove {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: transparent;
	color: #888888;
	font-size: 16px;
	cursor: pointer;
	line-height: 0;
}

.aeew-wishlist-card__remove:hover {
	color: #111;
}

.aeew-wishlist-card__remove-icon,
.aeew-wishlist-card__remove i,
.aeew-wishlist-card__remove svg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.aeew-wishlist-card__remove svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.aeew-wishlist-card__cart {
	position: absolute;
	right: 10px;
	bottom: 10px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: #111;
	color: #fff;
	cursor: pointer;
	line-height: 0;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.aeew-wishlist-card__cart:hover {
	transform: scale(1.05);
}

.aeew-wishlist-card__title {
	margin: 12px 0 4px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
}

.aeew-wishlist-card__title a {
	color: #111;
	text-decoration: none;
}

.aeew-wishlist-card__price {
	font-size: 14px;
	line-height: 1.3;
	color: #111;
}

.aeew-wishlist-card__price del {
	opacity: 0.55;
}

/* Popup ----------------------------------------------------------------- */
.aeew-wishlist-popup {
	position: fixed;
	inset: 0;
	z-index: 10050;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.aeew-wishlist-popup[hidden] {
	display: none !important;
}

.aeew-wishlist-popup__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
}

.aeew-wishlist-popup__panel {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 360px;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	padding: 20px;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
}

.aeew-wishlist-popup__close {
	position: absolute;
	top: 10px;
	right: 12px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: transparent;
	color: #666;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

.aeew-wishlist-popup__media {
	aspect-ratio: 1 / 1;
	margin-bottom: 16px;
	overflow: hidden;
	background: #f0f0f0;
	border-radius: 16px;
}

.aeew-wishlist-popup__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 16px;
}

.aeew-wishlist-popup__variation-wrap {
	margin-bottom: 14px;
}

.aeew-wishlist-popup__variation {
	display: block;
	width: 100%;
	padding: 12px 16px;
	border: none;
	border-radius: 999px;
	background: #f0f0f0;
	color: #333;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23666' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	cursor: pointer;
}

.aeew-wishlist-popup__title {
	margin: 0 0 6px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	color: #111;
}

.aeew-wishlist-popup__price {
	margin: 0 0 18px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	color: #111;
}

.aeew-wishlist-popup__add {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 14px 20px;
	border: 2px solid #111;
	border-radius: 12px;
	background: #111;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.aeew-wishlist-popup__add:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.aeew-wishlist-popup__add.is-loading {
	opacity: 0.7;
	pointer-events: none;
}

body.aeew-wishlist-popup-open {
	overflow: hidden;
}

