button.sv-fav-btn {
	appearance: none;
	-webkit-appearance: none;
	border: 0 !important;
	cursor: pointer;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.96) !important;
	color: #1f2937 !important;
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.16);
	transition: transform 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
	line-height: 0 !important;
	font-weight: 600;
}
button.sv-fav-btn:hover {
	transform: translateY(-1px);
	background: #fff !important;
}
button.sv-fav-btn.is-busy {
	opacity: 0.7;
	pointer-events: none;
}
.sv-fav-btn__icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	line-height: 0;
	width: 18px;
	height: 18px;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0 !important;
	font-weight: inherit !important;
	/* Theme rules like `.sv-featured-card span` must not override heart color/layout */
	color: inherit !important;
}
.sv-fav-btn__icon svg {
	display: block;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	transform: none;
}
button.sv-fav-btn.sv-fav-btn--card {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 4;
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	min-height: 34px !important;
	max-width: 34px !important;
	max-height: 34px !important;
	padding: 0 !important;
	margin: 0 !important;
	background: #fff !important;
	color: #111827 !important;
	box-shadow: 0 6px 16px rgba(15, 23, 42, 0.18);
	display: inline-grid !important;
	place-items: center;
	line-height: 0 !important;
}
button.sv-fav-btn.sv-fav-btn--card:hover {
	background: #fff !important;
	color: #e11d48 !important;
}
button.sv-fav-btn.sv-fav-btn--card.is-saved {
	background: #fff !important;
	color: #e11d48 !important;
}
button.sv-fav-btn.sv-fav-btn--card .sv-fav-btn__icon,
button.sv-fav-btn.sv-fav-btn--card .sv-fav-btn__icon svg,
button.sv-fav-btn.sv-fav-btn--card .sv-fav-btn__icon path {
	color: inherit !important;
	fill: none !important;
	stroke: #111827 !important;
	stroke-width: 1.9;
}
button.sv-fav-btn.sv-fav-btn--card:hover .sv-fav-btn__icon,
button.sv-fav-btn.sv-fav-btn--card:hover .sv-fav-btn__icon svg,
button.sv-fav-btn.sv-fav-btn--card:hover .sv-fav-btn__icon path {
	stroke: #e11d48 !important;
}
button.sv-fav-btn.sv-fav-btn--card.is-saved .sv-fav-btn__icon,
button.sv-fav-btn.sv-fav-btn--card.is-saved .sv-fav-btn__icon svg,
button.sv-fav-btn.sv-fav-btn--card.is-saved .sv-fav-btn__icon path {
	color: #e11d48 !important;
	fill: #e11d48 !important;
	stroke: #e11d48 !important;
}
button.sv-fav-btn.sv-fav-btn--product {
	width: 100% !important;
	max-width: none !important;
	min-height: 36px !important;
	height: auto !important;
	padding: 13px 20px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	border-radius: 8px !important;
	background: #fff !important;
	border: 2px solid rgba(225, 29, 72, 0.45) !important;
	color: #e11d48 !important;
	box-shadow: none !important;
	transform: none;
}
button.sv-fav-btn.sv-fav-btn--product:hover {
	transform: translateY(-2px);
	border-color: #e11d48 !important;
	box-shadow: 0 4px 14px rgba(225, 29, 72, 0.18) !important;
}
button.sv-fav-btn.sv-fav-btn--product.is-saved {
	background: #e11d48 !important;
	border-color: #e11d48 !important;
	color: #fff !important;
}

.sv-gallery-card-wrap {
	position: relative;
	display: inline-block;
	width: 100%;
	break-inside: avoid;
	margin-bottom: 18px;
}
.sv-gallery-card-wrap .sv-gallery-card {
	margin-bottom: 0;
	display: block;
}
.sv-related-card {
	position: relative;
}
.sv-featured-card__media-wrap {
	position: relative;
}
.sv-featured-card__media-wrap .sv-fav-btn--card {
	top: 10px;
	right: 10px;
}

.sv-fav-toast {
	position: fixed;
	left: 50%;
	bottom: 24px;
	transform: translateX(-50%) translateY(12px);
	background: #111827;
	color: #fff;
	padding: 10px 16px;
	border-radius: 999px;
	font-size: 14px;
	z-index: 9999;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
	display: flex;
	gap: 10px;
	align-items: center;
}
.sv-fav-toast.is-on {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
	pointer-events: auto;
}
.sv-fav-toast a {
	color: #93c5fd;
	font-weight: 600;
}

.sv-fav-account__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 18px;
}
.sv-fav-account__title {
	margin: 0 0 6px;
	font-size: 28px;
}
.sv-fav-account__lead {
	margin: 0;
	color: #5b6573;
}
.sv-fav-account__browse {
	display: inline-flex;
	align-items: center;
	padding: 7px 14px !important;
	min-height: 0 !important;
	height: auto !important;
	border-radius: 8px !important;
	background: transparent !important;
	color: var(--sv-blue, #2575bb) !important;
	border: 1px solid rgba(37, 117, 187, 0.35) !important;
	text-decoration: none;
	font-weight: 600;
	font-size: 13px !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
}
.sv-fav-account__browse:hover {
	background: rgba(37, 117, 187, 0.06) !important;
	color: var(--sv-blue, #2575bb) !important;
}
.sv-fav-boards {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 0 0 18px;
}
button.sv-fav-chip,
a.sv-fav-chip {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	padding: 5px 11px !important;
	min-height: 0 !important;
	height: auto !important;
	width: auto !important;
	border-radius: 999px !important;
	background: #f3f4f6 !important;
	color: #374151 !important;
	text-decoration: none;
	border: 0 !important;
	cursor: pointer;
	font-size: 12.5px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
}
.sv-fav-chip span {
	opacity: 0.55;
	font-variant-numeric: tabular-nums;
}
a.sv-fav-chip.is-active,
button.sv-fav-chip.is-active {
	background: #1f2937 !important;
	color: #fff !important;
}
button.sv-fav-chip.sv-fav-chip--new,
a.sv-fav-chip.sv-fav-chip--new {
	background: transparent !important;
	color: #6b7280 !important;
	border: 1px dashed #c5cad3 !important;
	padding: 4px 10px !important;
}
button.sv-fav-chip.sv-fav-chip--new:hover,
a.sv-fav-chip.sv-fav-chip--new:hover {
	color: #1f2937 !important;
	border-color: #9ca3af !important;
	background: #f9fafb !important;
}
.sv-fav-board-tools {
	display: flex;
	gap: 14px;
	margin: -4px 0 16px;
}
button.sv-fav-text-btn {
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
	height: auto !important;
	width: auto !important;
	color: #6b7280 !important;
	cursor: pointer;
	font-size: 12.5px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}
button.sv-fav-text-btn:hover {
	color: #111827 !important;
	background: none !important;
}
button.sv-fav-text-btn--danger {
	color: #9f1239 !important;
}
button.sv-fav-text-btn--danger:hover {
	color: #be123c !important;
	background: none !important;
}
.sv-fav-empty {
	padding: 40px 16px;
	text-align: center;
	background: #f8fafc;
	border-radius: 16px;
}
.sv-fav-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
}
.sv-fav-card {
	background: #fff;
	border: 1px solid rgba(16, 19, 28, 0.08);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}
.sv-fav-card__media {
	display: block;
	background: #eef2f7;
}
.sv-fav-card__media img {
	display: block;
	width: 100%;
	height: auto;
}
.sv-fav-card__body {
	padding: 11px 12px 12px;
}
.sv-fav-card__title {
	display: block;
	font-weight: 600;
	font-size: 13.5px;
	line-height: 1.35;
	color: inherit;
	text-decoration: none;
	margin-bottom: 10px;
}
.sv-fav-card__row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}
.sv-fav-card__move select {
	max-width: 140px;
	font-size: 12.5px;
	height: auto;
	min-height: 0;
	padding: 4px 8px;
	border-radius: 6px;
}
a.sv-fav-card__edit,
button.sv-fav-card__remove {
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
	height: auto !important;
	width: auto !important;
	font-size: 12.5px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	cursor: pointer;
	text-decoration: none;
	box-shadow: none !important;
	border-radius: 0 !important;
}
a.sv-fav-card__edit {
	color: var(--sv-blue, #2575bb) !important;
}
a.sv-fav-card__edit:hover {
	color: #1d4ed8 !important;
	background: none !important;
}
button.sv-fav-card__remove {
	color: #9ca3af !important;
	margin-left: auto;
}
button.sv-fav-card__remove:hover {
	color: #be123c !important;
	background: none !important;
}
