/* Leenzara Cart Drawer Enhancer — white + gold theme */

:root {
	--lz-white: #FFFFFF;
	--lz-gold: #C49D57;
	--lz-gold-deep: #C49D57;
	--lz-gold-soft:#C49D57;
	--lz-ink: #26221D;
	--lz-ink-soft: #8B8378;
	--lz-line: #EDE7DC;
	--lz-success: #3F6C4E;
}

.lz-stepper, .lz-recs, .lz-rec-card, .lz-rec-add, .lz-milestone { box-sizing: border-box; }

/* ---- Stepper ---- */
.lz-stepper {
	background: var(--lz-white);
	padding: 16px 6px 20px;
	margin-bottom: 4px;
	border-bottom: 8px solid #FAF7F1;
}
.lz-stepper-msg {
	font-size: 13px;
	color: var(--lz-ink-soft);
	margin: 0 0 16px;
	text-align: center;
}
.lz-stepper-msg strong { color: var(--lz-ink); font-weight: 700; }
.lz-stepper-msg .lz-amt { color: var(--lz-gold-deep); font-weight: 700; }

.lz-track-wrap { position: relative; padding: 0 16px; }
.lz-track-base {
	position: absolute;
	top: 17px; left: 16px; right: 16px;
	height: 3px;
	background: var(--lz-line);
	border-radius: 2px;
}
.lz-track-fill {
	position: absolute;
	top: 17px; left: 16px;
	height: 3px;
	background: var(--lz-gold);
	border-radius: 2px;
	width: 0%;
	transition: width .5s ease;
}
.lz-milestones { display: flex; justify-content: space-between; position: relative; gap: 4px; }
.lz-milestone {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	flex: 1 1 0;
	min-width: 0;
	text-align: center;
}
.lz-m-icon {
	width: 36px; height: 36px;
	border-radius: 50%;
	background: var(--lz-white);
	border: 2px solid var(--lz-line);
	display: flex; align-items: center; justify-content: center;
	overflow: hidden;
	z-index: 1;
	transition: border-color .3s ease;
}
.lz-m-img { width: 90%; height: 90%; object-fit: cover; border-radius: 50%; }
.lz-m-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--lz-line); }
.lz-milestone.done .lz-m-icon { border-color: var(--lz-gold); box-shadow: 0 0 0 3px var(--lz-gold-soft); }
.lz-milestone.done .lz-m-dot { background: var(--lz-gold); }
.lz-m-label {
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--lz-ink-soft);
	line-height: 1.25;
}
.lz-milestone.done .lz-m-label { color: var(--lz-ink); }
.lz-m-sub { font-size: 10px; color: var(--lz-gold-deep); font-weight: 700; }

/* ---- Product slider ---- */
.lz-recs {
	background: var(--lz-white);
	padding: 16px 0 6px;
}
.lz-recs-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 20px 10px;
}
.lz-recs-head h3 {
	font-size: 16px;
	font-weight: 700;
	color: var(--lz-ink);
	margin: 0;
}
.lz-recs-nav { display: flex; gap: 6px; }
.lz-nav-btn {
	width: 26px; height: 26px;
	border-radius: 50%;
	border: 1px solid var(--lz-line);
	background: var(--lz-white);
	color: var(--lz-ink);
	font-size: 15px;
	line-height: 1;
	cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	transition: border-color .2s, color .2s;
}
.lz-nav-btn:hover { border-color: var(--lz-gold); color: var(--lz-gold-deep); }
.lz-nav-btn:disabled { opacity: .35; cursor: default; }

.lz-recs-track {
	display: flex;
	gap: 10px;
	overflow-x: auto;
	padding: 0 20px 14px;
	scroll-behavior: smooth;
	scroll-snap-type: x proximity;
	-webkit-overflow-scrolling: touch;
}
.lz-recs-track::-webkit-scrollbar { display: none; }

.lz-rec-card {
	flex: 0 0 128px;
	scroll-snap-align: start;
	background: var(--lz-white);
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid var(--lz-line);
	display: flex;
	flex-direction: column;
}
.lz-rec-off { position: relative; }
.lz-rec-off img { width: 100%; height: 96px; object-fit: cover; display: block; }
.lz-rec-badge {
	position: absolute;
	top: 5px; left: 5px;
	background: var(--lz-gold);
	color: #fff;
	font-size: 9px;
	font-weight: 700;
	padding: 2px 5px;
	border-radius: 4px;
	z-index: 1;
}
.lz-rec-info { padding: 8px; display: flex; flex-direction: column; gap: 5px; flex: 1; }
.lz-rec-name {
	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--lz-ink);
	min-height: 28px;
}
.lz-rec-price { font-size: 11px; }
.lz-rec-price ins { text-decoration: none; font-weight: 700; color: var(--lz-gold-deep); }
.lz-rec-price del { color: #C7C0B4; font-size: 10px; }

.lz-rec-add {
	margin-top: auto;
	background: #C49D57 !important;
	color: #fff !important;
	border: none;
	border-radius: 7px;
	font-size: 10.5px !important;
	font-weight: 700;
	padding: 7px 0 !important;
	text-align: center;
	cursor: pointer;
	text-decoration: none !important;
	display: block;
	transition: background .2s;
}
.lz-rec-add:hover { background: var(--lz-gold-deep) !important; color: #fff !important; }
.lz-rec-add.added, .lz-rec-add.loading { background: var(--lz-success) !important; }

@media (max-width: 480px) {
	.lz-recs-head, .lz-recs-track { margin-left: 0; margin-right: 0; }
}


@media (max-width: 768px) {
  .lz-recs {
    display: none !important;
  }
}

.lz-stepper-msg strong {
  animation: lz-blink 1.2s ease-in-out infinite;
}

@keyframes lz-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.25; }
}