.efs-shell{
	--efs-columns:4;
	--efs-gap:18px;
	position:relative;
	direction:rtl;
	padding:26px;
	border-radius:28px;
	background:#fff;
	overflow:hidden;
}
.efs-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	margin-bottom:22px;
}
.efs-heading{display:flex;flex-direction:column;align-items:flex-start}
.efs-eyebrow{
	display:inline-flex;
	padding:5px 10px;
	margin-bottom:7px;
	border-radius:999px;
	background:#ff3f68;
	color:#fff;
	font-size:10px;
	font-weight:800;
	text-transform:uppercase;
}
.efs-heading-title{margin:0;color:#172033;font-size:34px;font-weight:900;line-height:1.35}
.efs-subtitle{margin:5px 0 0;color:#7b8190;font-size:13px}
.efs-header-actions{display:flex;align-items:center;gap:14px}
.efs-view-all{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:11px 16px;
	border-radius:999px;
	background:#fff;
	color:#172033;
	text-decoration:none!important;
	font-size:12px;
	font-weight:700;
	box-shadow:0 8px 24px rgba(20,29,46,.08);
}
.efs-timer{
	display:flex;
	align-items:center;
	gap:7px;
	padding:10px 14px;
	border-radius:16px;
	background:#ff476d;
	color:#fff;
	box-shadow:0 10px 25px rgba(255,71,109,.24);
}
.efs-timer span{display:flex;flex-direction:column;align-items:center;min-width:34px}
.efs-timer b{font-size:17px;line-height:1}
.efs-timer small{margin-top:4px;font-size:8px;opacity:.9}
.efs-timer i{font-style:normal;font-weight:800}
.efs-wrap{position:relative}
.efs-products{
	display:grid;
	grid-template-columns:repeat(var(--efs-columns),minmax(0,1fr));
	gap:var(--efs-gap);
}
.efs-layout-carousel .efs-products{
	grid-template-columns:none;
	grid-auto-flow:column;
	grid-auto-columns:calc((100% - (var(--efs-columns) - 1) * var(--efs-gap)) / var(--efs-columns));
	overflow-x:auto;
	scroll-snap-type:x mandatory;
	scroll-behavior:smooth;
	scrollbar-width:none;
}
.efs-layout-carousel .efs-products::-webkit-scrollbar{display:none}
.efs-card{
	position:relative;
	min-width:0;
	overflow:hidden;
	background:#fff;
	transition:.35s ease;
	scroll-snap-align:start;
}
.efs-card-link{display:block;color:inherit;text-decoration:none!important}
.efs-image{position:relative;height:330px;overflow:hidden;background:#f4f4f4}
.efs-image img{display:block;width:100%;height:100%;object-fit:cover;transition:.45s ease}
.efs-hover-zoom .efs-card:hover img{transform:scale(1.06)}
.efs-hover-lift .efs-card:hover{transform:translateY(-8px)}
.efs-hover-fade .efs-card:hover img{opacity:.78}
.efs-badge{
	position:absolute;
	top:14px;
	right:14px;
	z-index:3;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:0;
	max-width:calc(100% - 20px);
	padding:5px 8px;
	border-radius:999px;
	background:#ff3f68;
	color:#fff;
	font-size:10px;
	font-weight:800;
	box-shadow:0 7px 18px rgba(255,63,104,.25);
}
.efs-content{padding:16px 12px;text-align:center}
.efs-category{margin-bottom:6px;color:#999;font-size:11px}
.efs-category a{color:inherit}
.efs-title{margin:0 0 10px;color:#202331;font-size:14px;font-weight:700;line-height:1.75}
.efs-rating .star-rating{float:none;margin:5px auto}
.efs-price{color:#111827;font-size:13px;font-weight:800;line-height:1.8}
.efs-price del{margin-left:7px;opacity:.45;font-size:.88em}
.efs-price ins{text-decoration:none}
.efs-button{
	display:flex;
	align-items:center;
	justify-content:center;
	margin-top:13px;
	padding:10px 14px;
	border-radius:11px;
	background:#202020;
	color:#fff;
	font-size:11px;
	font-weight:800;
}
.efs-arrow{
	position:absolute;
	z-index:8;
	top:43%;
	width:42px;
	height:42px;
	padding:0;
	border:1px solid rgba(0,0,0,.07);
	border-radius:50%;
	background:#fff;
	color:#111;
	font-size:25px;
	cursor:pointer;
	box-shadow:0 8px 25px rgba(0,0,0,.1);
}
.efs-prev{right:-18px}.efs-next{left:-18px}

/* 1 festival */
.efs-preset-festival{
	background:linear-gradient(180deg,#fff4f7 0%,#fff 100%);
	border:1px solid #ffe3ea;
}
.efs-preset-festival:before{
	content:"";
	position:absolute;
	top:-90px;
	left:-70px;
	width:220px;
	height:220px;
	border-radius:50%;
	background:rgba(255,81,122,.18);
}
.efs-preset-festival .efs-card{border-radius:16px;box-shadow:0 10px 30px rgba(22,30,50,.08)}
.efs-preset-festival .efs-image{border-radius:16px 16px 0 0}
.efs-preset-festival .efs-content{padding:16px}
.efs-preset-festival .efs-button{background:#202020}

/* 2 luxury */
.efs-preset-luxury{background:#0f1013}
.efs-preset-luxury .efs-heading-title,.efs-preset-luxury .efs-title,.efs-preset-luxury .efs-price{color:#fff}
.efs-preset-luxury .efs-subtitle,.efs-preset-luxury .efs-category{color:#b7b7b7}
.efs-preset-luxury .efs-card{background:#17181c;border:1px solid #282a30}
.efs-preset-luxury .efs-badge,.efs-preset-luxury .efs-button,.efs-preset-luxury .efs-eyebrow{background:#d5b375;color:#111}
.efs-preset-luxury .efs-view-all{background:#1b1d22;color:#fff}

/* 3 glass */
.efs-preset-glass{
	background:linear-gradient(135deg,#eef4ff,#ffeef7);
}
.efs-preset-glass .efs-card{
	border:1px solid rgba(255,255,255,.65);
	border-radius:20px;
	background:rgba(255,255,255,.58);
	backdrop-filter:blur(12px);
	box-shadow:0 15px 35px rgba(76,85,110,.12);
}
.efs-preset-glass .efs-image{margin:9px;border-radius:15px}
.efs-preset-glass .efs-button{background:rgba(28,31,38,.9)}

/* 4 editorial */
.efs-preset-editorial{background:#fff}
.efs-preset-editorial .efs-header{border-bottom:1px solid #111;padding-bottom:16px}
.efs-preset-editorial .efs-heading-title{font-family:serif;font-size:38px}
.efs-preset-editorial .efs-card{background:transparent}
.efs-preset-editorial .efs-image{height:420px}
.efs-preset-editorial .efs-content{text-align:right;padding:16px 0}
.efs-preset-editorial .efs-title{font-family:serif;font-size:18px;font-weight:500}
.efs-preset-editorial .efs-badge{border-radius:0;background:#fff;color:#111}

/* 5 soft */
.efs-preset-soft{background:#fff7fb}
.efs-preset-soft .efs-card{padding:8px;border-radius:20px;background:#fff}
.efs-preset-soft .efs-image{border-radius:16px;background:#f9edf3}
.efs-preset-soft .efs-badge,.efs-preset-soft .efs-button,.efs-preset-soft .efs-eyebrow{background:#e59ab8}
.efs-preset-soft .efs-view-all{background:#fce8f0}

/* 6 compact */
.efs-preset-compact .efs-products{gap:12px}
.efs-preset-compact .efs-card{display:grid;grid-template-columns:42% 58%;align-items:center;border:1px solid #ececec}
.efs-preset-compact .efs-image{height:180px}
.efs-preset-compact .efs-content{text-align:right;padding:14px}
.efs-preset-compact .efs-button{display:inline-flex;width:auto}
.efs-preset-compact .efs-badge{top:8px;right:8px}

/* 7 overlay */
.efs-preset-overlay .efs-card{min-height:380px;border-radius:18px}
.efs-preset-overlay .efs-image{height:100%;min-height:380px}
.efs-preset-overlay .efs-content{
	position:absolute;
	right:0;
	bottom:0;
	left:0;
	z-index:3;
	padding:80px 18px 20px;
	background:linear-gradient(transparent,rgba(0,0,0,.88));
	text-align:right;
}
.efs-preset-overlay .efs-title,.efs-preset-overlay .efs-price{color:#fff}
.efs-preset-overlay .efs-category{color:#ddd}
.efs-preset-overlay .efs-button{background:#fff;color:#111}

/* 8 neon */
.efs-preset-neon{
	background:linear-gradient(135deg,#14162a,#3b164d);
}
.efs-preset-neon .efs-card{
	border:1px solid rgba(255,255,255,.13);
	border-radius:18px;
	background:rgba(255,255,255,.07);
}
.efs-preset-neon .efs-heading-title,.efs-preset-neon .efs-title,.efs-preset-neon .efs-price{color:#fff}
.efs-preset-neon .efs-subtitle,.efs-preset-neon .efs-category{color:#d5cde0}
.efs-preset-neon .efs-badge,.efs-preset-neon .efs-button,.efs-preset-neon .efs-eyebrow{background:linear-gradient(135deg,#ff4f9a,#7d5cff)}
.efs-preset-neon .efs-view-all{background:rgba(255,255,255,.1);color:#fff}

/* 9 classic */
.efs-preset-classic{background:#f7f3ed;border:1px solid #e3dbcf}
.efs-preset-classic .efs-card{padding:8px;border:1px solid #d8cdbf;background:#fff}
.efs-preset-classic .efs-heading-title,.efs-preset-classic .efs-title{font-family:serif}
.efs-preset-classic .efs-button,.efs-preset-classic .efs-eyebrow,.efs-preset-classic .efs-badge{background:#6b5744}

/* 10 clean */
.efs-preset-clean{padding:0;background:#fff}
.efs-preset-clean .efs-card{background:transparent}
.efs-preset-clean .efs-content{padding-right:0;padding-left:0}
.efs-preset-clean .efs-badge{background:#fff;color:#111;border:1px solid #111;box-shadow:none}
.efs-preset-clean .efs-button{background:transparent;color:#111;border:1px solid #ddd}

.efs-empty{padding:28px;border:1px dashed #ddd;text-align:center;color:#777}

@media(max-width:767px){
	.efs-shell{--efs-columns:2;--efs-gap:8px;padding:10px;border-radius:16px}
	.efs-header{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:14px}
	.efs-heading-title{font-size:22px}
	.efs-subtitle{font-size:11px}
	.efs-header-actions{width:100%;justify-content:space-between;gap:8px}
	.efs-view-all{padding:8px 11px;font-size:10px}
	.efs-timer{padding:7px 8px;gap:4px;border-radius:12px}
	.efs-timer span{min-width:24px}
	.efs-timer b{font-size:14px}
	.efs-card{width:100%;border-radius:14px}
	.efs-image{height:210px}
	.efs-content{padding:11px 7px 10px}
	.efs-title{font-size:11px;line-height:1.65;margin-bottom:7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px}
	.efs-price{font-size:10px;line-height:1.65}
	.efs-price del{display:block;margin:0 0 1px;font-size:.82em}
	.efs-button{font-size:9px;padding:8px 6px;margin-top:9px;border-radius:9px;white-space:nowrap}
	.efs-badge{top:7px;right:7px;max-width:calc(100% - 14px);padding:4px 7px;font-size:8px;line-height:1.25;box-shadow:0 4px 10px rgba(255,63,104,.2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
	.efs-arrow{display:none}
	.efs-preset-festival .efs-card{border-radius:14px}
	.efs-preset-festival .efs-image{border-radius:14px 14px 0 0}
	.efs-preset-festival .efs-content{padding:11px 7px 10px}
	.efs-preset-soft .efs-card{padding:5px;border-radius:14px}
	.efs-preset-soft .efs-image{border-radius:11px}
	.efs-preset-glass .efs-image{margin:5px;border-radius:11px}
	.efs-preset-editorial .efs-image{height:260px}
	.efs-preset-compact .efs-card{display:block}
	.efs-preset-compact .efs-image{height:190px}
	.efs-preset-overlay .efs-card,.efs-preset-overlay .efs-image{min-height:260px}
}

@media(max-width:390px){
	.efs-shell{--efs-gap:6px;padding:8px}
	.efs-image{height:185px}
	.efs-content{padding:9px 5px 8px}
	.efs-title{font-size:10px;min-height:33px}
	.efs-price{font-size:9px}
	.efs-button{font-size:8px;padding:7px 4px}
	.efs-badge{top:6px;right:6px;padding:3px 6px;font-size:7.5px}
}
