/**
 * MiMusE Elementor Adapter + Custom Widgets
 * Version: 3.1.0
 */

.mimuse-elementor-page {
	width: 100%;
	max-width: none;
	min-height: 60vh;
	margin: 0;
	padding: 0;
	background: #fff;
}

.mimuse-elementor-page > .elementor,
.mimuse-elementor-page > .elementor-location-single {
	width: 100%;
}

.mimuse-elementor-page .elementor {
	margin: 0;
}

.mimuse-elementor-page .elementor-widget-text-editor p:last-child {
	margin-bottom: 0;
}

.mimuse-elementor-page {
	--mimuse-el-primary: var(--mimuse-brand-primary, #b21f24);
	--mimuse-el-primary-hover: var(--mimuse-brand-primary-hover, #95181c);
	--mimuse-el-text: var(--mimuse-text, #171717);
	--mimuse-el-muted: var(--mimuse-muted, #68707d);
	--mimuse-el-border: var(--mimuse-border, #e5e5e5);
	--mimuse-el-container: var(--mimuse-container, 1420px);

	--e-global-color-primary: var(--mimuse-el-primary);
	--e-global-color-secondary: var(--mimuse-brand-secondary, #111111);
	--e-global-color-text: var(--mimuse-el-text);
	--e-global-color-accent: var(--mimuse-el-primary);
	--e-global-typography-primary-font-family: var(--mimuse-font-heading, Arial, Tahoma, sans-serif);
	--e-global-typography-text-font-family: var(--mimuse-font-body, Arial, Tahoma, sans-serif);
}

.mimuse-elementor-page .elementor-widget-mimuse_thaikk_hero,
.mimuse-elementor-page .elementor-widget-mimuse_product_showcase,
.mimuse-elementor-page .elementor-widget-mimuse_catalog_showcase {
	width: 100%;
}

.mimuse-elementor-page .elementor-widget-mimuse_thaikk_hero > .elementor-widget-container,
.mimuse-elementor-page .elementor-widget-mimuse_product_showcase > .elementor-widget-container,
.mimuse-elementor-page .elementor-widget-mimuse_catalog_showcase > .elementor-widget-container {
	width: min(calc(100% - 40px), var(--mimuse-el-container));
	margin-inline: auto;
}

.mimuse-elementor-page .elementor-widget-mimuse_product_strip,
.mimuse-elementor-page .elementor-widget-mimuse_product_strip > .elementor-widget-container {
	width: 100%;
}

.mimuse-el-heading {
	position: relative;
	color: #111;
	font-family: var(--mimuse-font-heading, Arial, Tahoma, sans-serif);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.35;
	padding-bottom: 11px;
}

.mimuse-el-heading::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 96px;
	height: 1px;
	background: var(--mimuse-el-primary);
}

.mimuse-el-heading--small {
	font-size: 17px;
}

.mimuse-el-empty {
	padding: 40px 10px;
	color: var(--mimuse-el-muted);
	font-size: 13px;
	text-align: center;
}

.mimuse-el-link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

.mimuse-el-link:hover {
	color: var(--mimuse-el-primary);
}

.mimuse-el-product-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	min-width: 0;
	height: 100%;
	padding: 18px 14px;
	color: #111;
	text-align: center;
	text-decoration: none;
	background: #fff;
}

.mimuse-el-product-card:hover {
	color: #111;
}

.mimuse-el-product-card__image {
	width: 100%;
	height: 150px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 13px;
	overflow: hidden;
}

.mimuse-el-product-card__image img {
	display: block;
	width: 100%;
	max-width: 190px;
	height: 100%;
	margin: 0;
	object-fit: contain;
	background: #fff;
}

.mimuse-el-product-card__title {
	width: 100%;
	color: #111;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	word-break: normal;
	overflow-wrap: anywhere;
}

.mimuse-el-product-card__price {
	margin-top: 6px;
	color: #666;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.45;
}

.mimuse-el-product-card__price del {
	color: #999;
	font-weight: 400;
}

.mimuse-el-product-card__price ins {
	color: var(--mimuse-el-primary);
	text-decoration: none;
}

/* HERO SLIDER */
.mimuse-el-hero {
	width: 100%;
	min-height: 500px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
	align-items: center;
	gap: 28px;
	padding: 42px 0 24px;
}

.mimuse-el-hero__slider {
	position: relative;
	min-width: 0;
}

.mimuse-el-hero__viewport {
	position: relative;
	min-height: 430px;
	overflow: hidden;
}

.mimuse-el-hero__slide {
	position: absolute;
	inset: 0;
	display: grid;
	grid-template-columns: minmax(260px, .75fr) minmax(390px, 1.25fr);
	align-items: center;
	gap: 28px;
	min-height: 430px;
	opacity: 0;
	pointer-events: none;
	z-index: 1;
	transform: translate3d(0, 0, 0);
	transition:
		opacity var(--mimuse-hero-duration, 450ms) ease,
		transform var(--mimuse-hero-duration, 450ms) cubic-bezier(.22, .61, .36, 1);
	will-change: opacity, transform;
}

.mimuse-el-hero__slide.is-active {
	opacity: 1;
	pointer-events: auto;
	z-index: 2;
}

/* Fade: cross-fade between complete hero compositions. */
.mimuse-el-hero[data-transition="fade"] .mimuse-el-hero__slide {
	transform: translate3d(0, 0, 0);
}

/* Slide: JS updates --mimuse-slide-offset for each slide. */
.mimuse-el-hero[data-transition="slide"] .mimuse-el-hero__slide {
	opacity: 1;
	transform: translate3d(calc(var(--mimuse-slide-offset, 1) * 100%), 0, 0);
}

.mimuse-el-hero[data-transition="slide"] .mimuse-el-hero__slide.is-active {
	transform: translate3d(0, 0, 0);
}

/* None: preserve an instant switch option for clients who want it. */
.mimuse-el-hero[data-transition="none"] .mimuse-el-hero__slide {
	transition: none;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.mimuse-el-hero__slide {
		transition-duration: 1ms !important;
	}
}

.mimuse-el-hero__copy {
	min-width: 0;
	padding-left: 8px;
}

.mimuse-el-hero__kicker {
	margin: 0 0 14px;
	color: #111;
	font-family: var(--mimuse-font-heading, Arial, Tahoma, sans-serif);
	font-size: clamp(27px, 2vw, 38px);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: .045em;
}

.mimuse-el-hero__copy h1 {
	margin: 0;
	color: #111;
	font-family: var(--mimuse-font-heading, Arial, Tahoma, sans-serif);
	font-size: clamp(36px, 2.8vw, 52px);
	font-weight: 500;
	line-height: 1.28;
	letter-spacing: -.025em;
}

.mimuse-el-hero__copy p {
	max-width: 430px;
	margin: 18px 0 22px;
	color: var(--mimuse-el-primary);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.75;
}

.mimuse-el-hero__visual {
	min-width: 0;
	min-height: 410px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: #fafafa;
}

.mimuse-el-hero__visual img {
	display: block;
	width: 100%;
	max-width: 610px;
	max-height: 410px;
	object-fit: contain;
}

.mimuse-el-hero__placeholder {
	width: 100%;
	min-height: 410px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	color: #aaa;
	font-size: 13px;
	text-align: center;
}

.mimuse-el-hero__arrow {
	position: absolute;
	bottom: 29px;
	z-index: 5;
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #a2a2a2;
	font-size: 28px;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
	transform: none;
}

.mimuse-el-hero__arrow:hover {
	color: var(--mimuse-el-primary);
	background: transparent;
}

.mimuse-el-hero__arrow--prev {
	left: calc(50% - 205px);
}

.mimuse-el-hero__arrow--next {
	right: calc(50% - 205px);
}

.mimuse-el-hero__thumbs {
	width: fit-content;
	max-width: calc(100% - 100px);
	min-height: 104px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin-inline: auto;
	padding-top: 12px;
}

.mimuse-el-hero__thumb {
	width: 94px;
	height: 74px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 6px;
	border: 1px solid transparent;
	background: #fff;
	cursor: pointer;
	transition:
		border-color .18s ease,
		opacity .18s ease;
}

.mimuse-el-hero__thumb.is-active {
	border-color: var(--mimuse-el-primary);
}

.mimuse-el-hero__thumb:not(.is-active) {
	opacity: .78;
}

.mimuse-el-hero__thumb:hover {
	opacity: 1;
}

.mimuse-el-hero__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.mimuse-el-hero__thumb span {
	color: #999;
	font-size: 13px;
}

.mimuse-el-top-product {
	min-width: 0;
	min-height: 360px;
	padding: 25px;
	border: 2px solid var(--mimuse-el-primary);
	background: #fff;
}

.mimuse-el-top-product .mimuse-el-product-card {
	min-height: 285px;
	justify-content: center;
	padding: 12px 0 0;
}

.mimuse-el-top-product .mimuse-el-product-card__image {
	height: 175px;
}

.mimuse-el-top-product .mimuse-el-product-card__image img {
	max-width: 210px;
}

/* BEST SELLER */
.mimuse-el-showcase {
	width: 100%;
	padding: 46px 0 62px;
}

.mimuse-el-showcase__head {
	display: grid;
	grid-template-columns: 280px 1fr;
	align-items: end;
	gap: 22px;
	margin-bottom: 20px;
}

.mimuse-el-tabs {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 28px;
	color: #555;
	font-size: 14px;
	line-height: 1.5;
}

.mimuse-el-tabs a {
	position: relative;
	color: #555;
	text-decoration: none;
	transition: color .16s ease;
}

.mimuse-el-tabs a:hover,
.mimuse-el-tabs a.is-active {
	color: #111;
}

.mimuse-el-tabs a.is-active::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -10px;
	height: 1px;
	background: var(--mimuse-el-primary);
}

.mimuse-el-showcase__body {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 22px;
	align-items: stretch;
}

.mimuse-el-promo {
	min-height: 250px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 28px;
	border: 1px solid #efefef;
	background: linear-gradient(135deg, #f7f7f7, #fff);
}

.mimuse-el-promo strong {
	color: #111;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.35;
}

.mimuse-el-promo span {
	margin-top: 5px;
	color: var(--mimuse-el-primary);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
}

.mimuse-el-promo a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin-top: auto;
	padding: 0 22px;
	border: 1px solid var(--mimuse-el-primary);
	border-radius: 999px;
	color: var(--mimuse-el-primary);
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	background: #fff;
}

.mimuse-el-promo a:hover {
	color: #fff;
	background: var(--mimuse-el-primary);
}

.mimuse-el-product-frame {
	min-width: 0;
	border: 1px solid var(--mimuse-el-primary);
	background: #fff;
}

/* PRODUCT GRIDS */
.mimuse-el-product-grid {
	display: grid;
	grid-template-columns: repeat(var(--mimuse-el-columns, 5), minmax(0, 1fr));
	min-width: 0;
	height: 100%;
}

.mimuse-el-product-grid > .mimuse-el-product-card {
	border-right: 1px solid var(--mimuse-el-border);
}

.mimuse-el-product-grid > .mimuse-el-product-card:last-child {
	border-right: 0;
}

/* CATEGORY */
.mimuse-el-catalog {
	width: 100%;
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 22px;
	padding: 42px 0 60px;
}

.mimuse-el-catalog__categories,
.mimuse-el-catalog__products {
	min-width: 0;
}

.mimuse-el-category-box {
	margin-top: 22px;
	padding: 24px 28px;
	border: 1px solid var(--mimuse-el-border);
	border-radius: var(--mimuse-radius-md, 4px);
	background: #f8f8f8;
}

.mimuse-el-category-box > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 18px;
	color: #111;
	font-size: 14px;
	line-height: 1.5;
	text-decoration: none;
}

.mimuse-el-category-box > a:last-child {
	margin-bottom: 0;
}

.mimuse-el-category-box > a:hover {
	color: var(--mimuse-el-primary);
}

.mimuse-el-category-box small {
	flex: 0 0 auto;
	color: var(--mimuse-el-muted);
	font-size: 11px;
	font-weight: 400;
}

.mimuse-el-product-grid--catalog {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 20px;
}

.mimuse-el-product-grid--catalog > .mimuse-el-product-card {
	min-height: 310px;
	border-bottom: 1px solid var(--mimuse-el-border);
}

.mimuse-el-product-grid--catalog > .mimuse-el-product-card:nth-child(4n) {
	border-right: 0;
}

/* PRODUCT STRIP */
.mimuse-el-strip {
	width: 100%;
	padding: 18px max(20px, calc((100vw - var(--mimuse-el-container)) / 2)) 28px;
	border-top: 1px solid #f0f0f0;
	background: #f7f7f7;
}

.mimuse-el-product-grid--strip {
	grid-template-columns: repeat(6, minmax(0, 1fr));
	border: 1px solid var(--mimuse-el-primary);
	background: #fff;
}

.mimuse-el-product-grid--strip .mimuse-el-product-card {
	min-height: 180px;
	padding-top: 16px;
	padding-bottom: 16px;
}

.mimuse-el-product-grid--strip .mimuse-el-product-card__image {
	height: 90px;
}

/* RESPONSIVE */
@media (max-width: 1180px) {
	.mimuse-el-hero {
		grid-template-columns: 1fr;
	}
	.mimuse-el-top-product {
		display: none;
	}
	.mimuse-el-product-grid,
	.mimuse-el-product-grid--catalog,
	.mimuse-el-product-grid--strip {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.mimuse-el-product-grid > .mimuse-el-product-card:nth-child(3n),
	.mimuse-el-product-grid--catalog > .mimuse-el-product-card:nth-child(3n),
	.mimuse-el-product-grid--strip > .mimuse-el-product-card:nth-child(3n) {
		border-right: 0;
	}
}

@media (max-width: 900px) {
	.mimuse-elementor-page .elementor-widget-mimuse_thaikk_hero > .elementor-widget-container,
	.mimuse-elementor-page .elementor-widget-mimuse_product_showcase > .elementor-widget-container,
	.mimuse-elementor-page .elementor-widget-mimuse_catalog_showcase > .elementor-widget-container {
		width: min(calc(100% - 24px), var(--mimuse-el-container));
	}
	.mimuse-el-hero {
		min-height: auto;
		padding-top: 28px;
	}
	.mimuse-el-hero__slide {
		grid-template-columns: 1fr;
	}
	.mimuse-el-hero__copy {
		padding-left: 0;
		text-align: center;
	}
	.mimuse-el-hero__copy p {
		margin-inline: auto;
	}
	.mimuse-el-hero__viewport,
	.mimuse-el-hero__slide,
	.mimuse-el-hero__visual,
	.mimuse-el-hero__placeholder {
		min-height: 320px;
	}
	.mimuse-el-hero__arrow {
		bottom: 31px;
	}
	.mimuse-el-hero__arrow--prev {
		left: 4px;
	}
	.mimuse-el-hero__arrow--next {
		right: 4px;
	}
	.mimuse-el-hero__thumbs {
		max-width: calc(100% - 72px);
	}
	.mimuse-el-hero__visual img {
		max-height: 320px;
	}
	.mimuse-el-showcase__head {
		grid-template-columns: 1fr;
		align-items: start;
	}
	.mimuse-el-tabs {
		justify-content: flex-start;
		gap: 18px;
	}
	.mimuse-el-showcase__body {
		grid-template-columns: 1fr;
	}
	.mimuse-el-promo {
		min-height: 190px;
	}
	.mimuse-el-catalog {
		grid-template-columns: 1fr;
	}
	.mimuse-el-product-grid--catalog {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.mimuse-el-hero__kicker {
		font-size: 22px;
	}
	.mimuse-el-hero__copy h1 {
		font-size: 34px;
	}
	.mimuse-el-hero__thumbs {
		justify-content: flex-start;
		overflow-x: auto;
		gap: 10px;
	}
	.mimuse-el-hero__thumb {
		flex: 0 0 76px;
		width: 76px;
		height: 62px;
	}
	.mimuse-el-product-grid,
	.mimuse-el-product-grid--catalog,
	.mimuse-el-product-grid--strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.mimuse-el-product-grid > .mimuse-el-product-card:nth-child(2n),
	.mimuse-el-product-grid--catalog > .mimuse-el-product-card:nth-child(2n),
	.mimuse-el-product-grid--strip > .mimuse-el-product-card:nth-child(2n) {
		border-right: 0;
	}
	.mimuse-el-product-card__image {
		height: 120px;
	}
	.mimuse-el-strip {
		padding-inline: 12px;
	}
}


/* ==================================================
   Elementor Header / Footer Override System
================================================== */

.mimuse-elementor-template {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.mimuse-elementor-template > .elementor,
.mimuse-elementor-template .elementor {
	width: 100%;
	max-width: none;
	margin: 0;
}

.mimuse-elementor-template--header {
	position: relative;
	z-index: 200;
}

.mimuse-elementor-template--footer {
	position: relative;
	z-index: 10;
}

.mimuse-has-elementor-header .mimuse-header--thaikk,
.mimuse-has-elementor-footer .mimuse-thaikk-footer {
	display: none;
}


/* --------------------------------------------------
   Site Logo Widget
-------------------------------------------------- */

.mimuse-el-site-logo {
	display: inline-flex;
	align-items: center;
}

.mimuse-el-site-logo .custom-logo-link {
	display: inline-flex;
	align-items: center;
}

.mimuse-el-site-logo .custom-logo {
	display: block;
	width: auto;
	max-width: 170px;
	max-height: 110px;
	object-fit: contain;
}


/* --------------------------------------------------
   Menu Widget
-------------------------------------------------- */

.mimuse-el-menu__list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mimuse-el-menu__list li {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mimuse-el-menu__list a {
	color: inherit;
	font: inherit;
	font-weight: 600;
	text-decoration: none;
}

.mimuse-el-menu__list a:hover,
.mimuse-el-menu__list .current-menu-item > a {
	color: var(--mimuse-el-primary);
}

.mimuse-el-menu__list .sub-menu {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	z-index: 250;
	min-width: 200px;
	margin: 0;
	padding: 8px 0;
	border: 1px solid var(--mimuse-el-border);
	background: #fff;
	box-shadow: 0 12px 30px rgba(0,0,0,.08);
	list-style: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(5px);
	transition:
		opacity .16s ease,
		transform .16s ease,
		visibility .16s ease;
}

.mimuse-el-menu__list li:hover > .sub-menu,
.mimuse-el-menu__list li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.mimuse-el-menu__list .sub-menu a {
	display: block;
	padding: 9px 14px;
	white-space: nowrap;
}


/* --------------------------------------------------
   Header Search Widget
-------------------------------------------------- */

.mimuse-el-header-search {
	width: 100%;
	max-width: 260px;
	height: 44px;
	display: flex;
	align-items: center;
	border: 1px solid var(--mimuse-el-border);
	border-radius: 999px;
	overflow: hidden;
	background: #fff;
}

.mimuse-el-header-search input {
	width: 100%;
	min-width: 0;
	height: 100%;
	padding: 0 4px 0 16px;
	border: 0;
	outline: 0;
	background: transparent;
	font: inherit;
}

.mimuse-el-header-search button {
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	border: 0;
	background: transparent;
	color: #111;
	font-size: 19px;
	cursor: pointer;
}


/* --------------------------------------------------
   Header Commerce Actions Widget
-------------------------------------------------- */

.mimuse-el-header-actions {
	display: flex;
	align-items: center;
	gap: 5px;
}

.mimuse-el-header-actions .mimuse-commerce-action {
	width: 38px;
	height: 38px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.mimuse-el-header-actions .mimuse-commerce-action:hover {
	color: var(--mimuse-el-primary);
	background: transparent;
}


/* --------------------------------------------------
   Browse Category Widget
-------------------------------------------------- */

.mimuse-el-browse-category {
	position: relative;
	width: 100%;
	max-width: 240px;
}

.mimuse-el-browse-category > summary {
	min-height: 46px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 0 18px;
	border-radius: 2px;
	background: var(--mimuse-el-primary);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}

.mimuse-el-browse-category > summary::-webkit-details-marker {
	display: none;
}

.mimuse-el-browse-category > ul {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	z-index: 260;
	width: 100%;
	margin: 0;
	padding: 8px 0;
	border: 1px solid var(--mimuse-el-border);
	background: #fff;
	box-shadow: 0 14px 34px rgba(0,0,0,.08);
	list-style: none;
}

.mimuse-el-browse-category li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mimuse-el-browse-category li + li {
	border-top: 1px solid #f0f0f0;
}

.mimuse-el-browse-category a {
	display: block;
	padding: 10px 16px;
	color: #111;
	text-decoration: none;
	font-size: 14px;
}

.mimuse-el-browse-category a:hover {
	color: var(--mimuse-el-primary);
}


/* --------------------------------------------------
   Small Screen Defaults
-------------------------------------------------- */

@media (max-width: 767px) {

	.mimuse-el-menu__list {
		align-items: flex-start;
		flex-direction: column;
		gap: 14px;
	}

	.mimuse-el-menu__list .sub-menu {
		position: static;
		min-width: 0;
		padding-left: 14px;
		border: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.mimuse-el-header-search,
	.mimuse-el-browse-category {
		max-width: none;
	}

}
/* ==================================================
   MiMusE Elementor Flex System v4.0
   Reusable on Home and on any Elementor page/template.
   Elementor owns content/layout choices; Theme keeps safe defaults.
   ================================================== */

/* --------------------------------------------------
   Optional panels
-------------------------------------------------- */
.mimuse-el-hero--no-product {
	grid-template-columns: minmax(0, 1fr) !important;
}

.mimuse-el-showcase--no-promo .mimuse-el-showcase__body {
	grid-template-columns: minmax(0, 1fr);
}

.mimuse-el-catalog--no-categories {
	grid-template-columns: minmax(0, 1fr);
}

/* --------------------------------------------------
   Responsive column controls from Elementor
-------------------------------------------------- */
.mimuse-el-showcase .mimuse-el-product-grid {
	--mimuse-el-columns: 5;
	grid-template-columns:
		repeat(
			var(--mimuse-el-columns),
			minmax(0, 1fr)
		) !important;
}

.mimuse-el-product-grid--catalog {
	--mimuse-catalog-columns: 4;
	grid-template-columns:
		repeat(
			var(--mimuse-catalog-columns),
			minmax(0, 1fr)
		) !important;
}

.mimuse-el-product-grid--catalog > .mimuse-el-product-card:nth-child(n) {
	border-right: 1px solid var(--mimuse-el-border);
}

/* Consistent product-card rhythm, regardless of client content length. */
.mimuse-el-product-card__title {
	min-height: 42px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.mimuse-el-product-card__price {
	min-height: 20px;
}

/* --------------------------------------------------
   Product Slider / Grid widget
-------------------------------------------------- */
.mimuse-el-strip {
	--mimuse-strip-visible: 5;
	position: relative;
}

.mimuse-el-strip__heading {
	width: min(calc(100% - 40px), var(--mimuse-el-container));
	margin: 0 auto 18px;
}

.mimuse-el-strip--carousel .mimuse-el-product-grid--strip {
	display: flex !important;
	grid-template-columns: none !important;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.mimuse-el-strip--carousel .mimuse-el-product-grid--strip::-webkit-scrollbar {
	display: none;
}

.mimuse-el-strip--carousel .mimuse-el-product-grid--strip > .mimuse-el-product-card {
	flex: 0 0 calc(100% / var(--mimuse-strip-visible));
	min-width: 0;
	scroll-snap-align: start;
	scroll-snap-stop: normal;
}

.mimuse-el-strip--carousel .mimuse-el-product-grid--strip > .mimuse-el-product-card:nth-child(n) {
	border-right: 1px solid var(--mimuse-el-border);
}

.mimuse-el-strip--grid .mimuse-el-product-grid--strip {
	display: grid !important;
	grid-template-columns:
		repeat(
			var(--mimuse-strip-visible),
			minmax(0, 1fr)
		) !important;
	overflow: visible;
}

/* Carousel arrows are injected only when enabled in Elementor. */
.mimuse-strip-control {
	position: absolute;
	top: 50%;
	z-index: 30;
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	padding: 0;
	border: 1px solid var(--mimuse-el-border);
	border-radius: 50%;
	background: rgba(255,255,255,.97);
	color: #111;
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 5px 18px rgba(0,0,0,.09);
	transform: translateY(-50%);
	transition:
		color .16s ease,
		border-color .16s ease,
		opacity .16s ease,
		background .16s ease;
}

.mimuse-strip-control:hover,
.mimuse-strip-control:focus-visible {
	color: var(--mimuse-el-primary);
	border-color: var(--mimuse-el-primary);
	background: #fff;
	outline: 0;
}

.mimuse-strip-control--prev {
	left: max(4px, calc((100vw - var(--mimuse-el-container)) / 2 - 18px));
}

.mimuse-strip-control--next {
	right: max(4px, calc((100vw - var(--mimuse-el-container)) / 2 - 18px));
}

.mimuse-strip-control[hidden] {
	display: none !important;
}

.mimuse-strip-control:disabled {
	opacity: .28;
	cursor: default;
}

/* --------------------------------------------------
   Future-page friendly: MiMusE widgets do not require Home body classes.
-------------------------------------------------- */
.elementor-widget-mimuse_thaikk_hero,
.elementor-widget-mimuse_product_showcase,
.elementor-widget-mimuse_catalog_showcase,
.elementor-widget-mimuse_product_strip,
.elementor-widget-mimuse_site_logo,
.elementor-widget-mimuse_menu,
.elementor-widget-mimuse_header_search,
.elementor-widget-mimuse_header_actions,
.elementor-widget-mimuse_browse_category {
	min-width: 0;
}

/* --------------------------------------------------
   Fallback responsive defaults.
   Elementor responsive controls override these through wrapper specificity.
-------------------------------------------------- */
@media (max-width: 1180px) {
	.mimuse-el-showcase .mimuse-el-product-grid {
		--mimuse-el-columns: 3;
	}

	.mimuse-el-strip {
		--mimuse-strip-visible: 3;
	}

	.mimuse-strip-control--prev {
		left: 6px;
	}

	.mimuse-strip-control--next {
		right: 6px;
	}
}

@media (max-width: 900px) {
	.mimuse-el-product-grid--catalog {
		--mimuse-catalog-columns: 2;
	}

	.mimuse-el-strip__heading {
		width: min(calc(100% - 24px), var(--mimuse-el-container));
	}
}

@media (max-width: 640px) {
	.mimuse-el-showcase .mimuse-el-product-grid {
		--mimuse-el-columns: 2;
	}

	.mimuse-el-strip {
		--mimuse-strip-visible: 2;
	}

	.mimuse-strip-control {
		width: 34px;
		height: 34px;
		font-size: 21px;
	}

	.mimuse-strip-control--prev {
		left: 2px;
	}

	.mimuse-strip-control--next {
		right: 2px;
	}
}


/* --------------------------------------------------
   MiMusE v4.0.3 Header safeguard
-------------------------------------------------- */
.mimuse-thaikk-topbar__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    line-height: 0;
}

.mimuse-thaikk-topbar__icon svg {
    display: block;
    width: 12px;
    height: 12px;
}


/* --------------------------------------------------
   MiMusE v4.0.5 — Elementor Product Action Restore
   Compare / Cart / Wishlist use existing engines.
-------------------------------------------------- */
.mimuse-el-product-card {
	position: relative;
}

.mimuse-el-product-card__media {
	position: relative;
	width: 100%;
	margin-bottom: 13px;
}

.mimuse-el-product-card__media .mimuse-el-product-card__image {
	margin-bottom: 0;
	text-decoration: none;
}

.mimuse-el-product-card__title {
	text-decoration: none;
}

.mimuse-el-product-card__title:hover {
	color: var(--mimuse-el-primary);
}

.mimuse-el-product-card__actions {
	position: absolute;
	left: 50%;
	bottom: 8px;
	z-index: 12;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	transform: translateX(-50%);
}

.mimuse-el-product-action,
.mimuse-el-product-action.mimuse-yith-wishlist,
.mimuse-el-product-action.mimuse-yith-compare {
	width: 34px !important;
	height: 34px !important;
	min-width: 34px;
	margin: 0 !important;
}

.mimuse-el-product-action > a,
.mimuse-el-product-action .button,
.mimuse-el-product-action .compare,
.mimuse-el-product-action .yith-wcwl-add-to-wishlist,
.mimuse-el-product-action .yith-wcwl-add-to-wishlist > a,
.mimuse-el-product-action .yith-add-to-wishlist-button-block > a,
.mimuse-el-action-button {
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	min-height: 34px !important;
	display: grid !important;
	place-items: center !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 1px solid #dedede !important;
	border-radius: 999px !important;
	background: rgba(255,255,255,.97) !important;
	color: #111 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	box-shadow: 0 4px 12px rgba(0,0,0,.07);
	transition: transform .16s ease, border-color .16s ease, color .16s ease, background .16s ease;
}

.mimuse-el-product-action > a:hover,
.mimuse-el-product-action .button:hover,
.mimuse-el-product-action .compare:hover,
.mimuse-el-product-action .yith-wcwl-add-to-wishlist > a:hover,
.mimuse-el-product-action .yith-add-to-wishlist-button-block > a:hover,
.mimuse-el-action-button:hover {
	transform: translateY(-1px);
	border-color: var(--mimuse-el-primary) !important;
	color: var(--mimuse-el-primary) !important;
	background: #fff !important;
}

.mimuse-el-action-button svg {
	width: 17px;
	height: 17px;
	pointer-events: none;
}

/* Keep YITH behavior/markup; only make its visual surface match the card. */
.mimuse-el-product-action--wishlist .feedback,
.mimuse-el-product-action--wishlist .yith-wcwl-icon,
.mimuse-el-product-action--wishlist .yith-wcwl-add-to-wishlist-button__label {
	display: none !important;
}

.mimuse-el-product-action--wishlist a {
	font-size: 0 !important;
}

.mimuse-el-product-action--wishlist a::before {
	content: "♡";
	font-size: 19px;
	font-weight: 400;
	line-height: 1;
}

.mimuse-el-product-action--wishlist
.yith-wcwl-add-to-wishlist-button--added::before {
	content: "♥";
}

.mimuse-el-product-action--compare .compare,
.mimuse-el-product-action--compare .button {
	font-size: 0 !important;
}

.mimuse-el-product-action--compare .compare::before,
.mimuse-el-product-action--compare .button::before {
	content: "⇄";
	font-size: 18px;
	font-weight: 500;
	line-height: 1;
}

.mimuse-el-product-action--compare .label {
	font-size: 0 !important;
}

/* Compact Bottom Product cards: keep action row inside the 90px media area. */
.mimuse-el-product-grid--strip .mimuse-el-product-card__actions {
	bottom: 5px;
	gap: 4px;
}

.mimuse-el-product-grid--strip .mimuse-el-product-action,
.mimuse-el-product-grid--strip .mimuse-el-product-action.mimuse-yith-wishlist,
.mimuse-el-product-grid--strip .mimuse-el-product-action.mimuse-yith-compare,
.mimuse-el-product-grid--strip .mimuse-el-product-action > a,
.mimuse-el-product-grid--strip .mimuse-el-product-action .button,
.mimuse-el-product-grid--strip .mimuse-el-product-action .compare,
.mimuse-el-product-grid--strip .mimuse-el-action-button {
	width: 30px !important;
	height: 30px !important;
	min-width: 30px !important;
	min-height: 30px !important;
}

.mimuse-el-product-grid--strip .mimuse-el-action-button svg {
	width: 15px;
	height: 15px;
}


/* --------------------------------------------------
   MiMusE v4.0.6 — Product Action Hover + Icon Alignment
   - Desktop/mouse: actions reveal smoothly on card hover/focus.
   - Touch devices: actions stay visible (no hover dependency).
   - Normalize YITH Wishlist wrapper metrics so the heart aligns
     vertically with Compare and Cart.
-------------------------------------------------- */

@media (hover: hover) and (pointer: fine) {

	.mimuse-el-product-card__actions {
		opacity: 0;
		visibility: hidden;
		transform: translate(-50%, 7px);
		transition:
			opacity .18s ease,
			transform .18s ease,
			visibility 0s linear .18s;
	}

	.mimuse-el-product-card:hover .mimuse-el-product-card__actions,
	.mimuse-el-product-card:focus-within .mimuse-el-product-card__actions {
		opacity: 1;
		visibility: visible;
		transform: translate(-50%, 0);
		transition-delay: 0s;
	}

}

@media (hover: none), (pointer: coarse) {

	.mimuse-el-product-card__actions {
		opacity: 1;
		visibility: visible;
		transform: translateX(-50%);
	}

}

/* Normalize YITH's extra wrapper boxes to the same 34px action geometry. */
.mimuse-el-product-action--wishlist,
.mimuse-el-product-action--wishlist .yith-wcwl-add-to-wishlist,
.mimuse-el-product-action--wishlist .yith-add-to-wishlist-button-block {
	display: grid !important;
	place-items: center !important;
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	min-height: 34px !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0 !important;
	vertical-align: top !important;
}

.mimuse-el-product-action--wishlist .yith-wcwl-add-to-wishlist > a,
.mimuse-el-product-action--wishlist .yith-add-to-wishlist-button-block > a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	min-height: 34px !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
}

/* Font glyph metrics put the heart visually low; compensate optically. */
.mimuse-el-product-action--wishlist a::before {
	display: block;
	line-height: 1 !important;
	transform: translateY(-1px);
	transform-origin: center;
}

/* Keep compact strip actions geometrically identical at 30px. */
.mimuse-el-product-grid--strip .mimuse-el-product-action--wishlist,
.mimuse-el-product-grid--strip .mimuse-el-product-action--wishlist .yith-wcwl-add-to-wishlist,
.mimuse-el-product-grid--strip .mimuse-el-product-action--wishlist .yith-add-to-wishlist-button-block,
.mimuse-el-product-grid--strip .mimuse-el-product-action--wishlist .yith-wcwl-add-to-wishlist > a,
.mimuse-el-product-grid--strip .mimuse-el-product-action--wishlist .yith-add-to-wishlist-button-block > a {
	width: 30px !important;
	height: 30px !important;
	min-width: 30px !important;
	min-height: 30px !important;
}

/* Respect reduced-motion preferences. */
@media (prefers-reduced-motion: reduce) {

	.mimuse-el-product-card__actions,
	.mimuse-el-product-action > a,
	.mimuse-el-product-action .button,
	.mimuse-el-product-action .compare,
	.mimuse-el-product-action .yith-wcwl-add-to-wishlist > a,
	.mimuse-el-product-action .yith-add-to-wishlist-button-block > a,
	.mimuse-el-action-button {
		transition: none !important;
	}

}
