/* Favorites + notifications */

.karta-produktu .mk-card-image,
.mk-fav-card__media {
	position: relative;
}

.karta-produktu .mk-fav-btn,
.mk-fav-card .mk-fav-btn,
.mk-fav-btn {
	cursor: pointer;
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 30;
	width: 40px;
	height: 40px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.95);
	border: 1px solid #e5e9f0;
	color: #6b7280;
	box-shadow: 0 4px 14px rgba(26, 31, 46, 0.08);
	transition: color 0.15s ease, background 0.15s ease, transform 0.15s ease;
	padding: 0;
	pointer-events: auto;
	appearance: none;
	-webkit-appearance: none;
}

/* Single product heart next to Add to cart — keep inline, not floating over image */
body.single-product .mk-fav-btn {
	position: static;
	top: auto;
	right: auto;
	width: 48px;
	height: 48px;
	min-width: 48px;
	border-radius: 12px;
	box-shadow: none;
	flex: 0 0 auto;
}

body.single-product .brxe-button.is-loading {
	opacity: 0.75;
	pointer-events: none;
}

.mk-sp-cart-notice {
	position: fixed;
	left: 50%;
	bottom: 24px;
	transform: translateX(-50%);
	z-index: 100000;
	max-width: min(480px, calc(100vw - 24px));
	padding: 12px 16px;
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.4;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
	background: #fff;
	color: #1a1f2e;
	border: 1px solid #e5e9f0;
}

.mk-sp-cart-notice--success {
	background: #e8f8ef;
	border-color: #b7e4c7;
	color: #146c43;
}

.mk-sp-cart-notice--error {
	background: #fdecec;
	border-color: #f1c0c0;
	color: #a33b3b;
}

.karta-produktu .mk-fav-btn .ti-heart,
.mk-fav-btn .ti-heart {
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	pointer-events: none;
	font-size: 18px;
	line-height: 1;
	color: inherit;
}

.karta-produktu .mk-fav-btn:hover,
.mk-fav-btn:hover {
	color: #b5813a;
	transform: scale(1.05);
}

.karta-produktu.is-favorited .mk-fav-btn,
.karta-produktu .mk-fav-btn.is-active,
.mk-fav-btn.is-active {
	color: #c0392b;
}

.karta-produktu .mk-fav-btn.is-loading,
.mk-fav-btn.is-loading {
	opacity: 0.55;
	pointer-events: none;
}

/* Header: bind onto existing Bricks icons — do not inject extra bells */
.mk-header-fav,
.mk-header-bell-host,
.mk-header-cart {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin: 0;
	color: inherit;
	text-decoration: none;
	border: 0;
	background: transparent;
	cursor: pointer;
	padding: 0;
	line-height: 1;
	flex: 0 0 auto;
	vertical-align: middle;
}

.mk-header-fav .brxe-icon,
.mk-header-bell-host .brxe-icon,
.mk-header-bell-host i {
	font-size: 20px;
	line-height: 1;
}

.mk-header-fav .ion-ios-heart {
	color: #c0392b;
}

.mk-fav-header-count,
.mk-notif-badge,
.mk-cart-count {
	position: absolute;
	top: 0;
	right: -2px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 999px;
	background: #c48855;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 16px;
	text-align: center;
	box-sizing: border-box;
}

.mk-notif-panel {
	position: fixed;
	z-index: 10050;
	max-height: min(70vh, 480px);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #e5e9f0;
	border-radius: 14px;
	box-shadow: 0 18px 40px rgba(26, 31, 46, 0.16);
}

.mk-notif-panel[hidden] {
	display: none !important;
}

.mk-notif-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	border-bottom: 1px solid #eef1f5;
}

.mk-notif-panel__head strong {
	font-size: 15px;
	color: #1a1f2e;
}

.mk-notif-panel__mark {
	border: 0;
	background: transparent;
	color: #8a5a2b;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	padding: 0;
}

.mk-notif-panel__list {
	overflow: auto;
	padding: 6px 0;
}

.mk-notif-panel__empty {
	margin: 0;
	padding: 24px 16px;
	color: #8094ae;
	font-size: 14px;
	text-align: center;
}

.mk-notif-item {
	display: block;
	padding: 12px 16px;
	text-decoration: none;
	color: inherit;
	border-left: 3px solid transparent;
	transition: background 0.12s ease;
}

.mk-notif-item:hover {
	background: #faf7f2;
}

.mk-notif-item.is-unread {
	background: #fff8f0;
	border-left-color: #b5813a;
}

.mk-notif-item__msg {
	font-size: 14px;
	line-height: 1.4;
	color: #1a1f2e;
}

.mk-notif-item__time {
	margin-top: 4px;
	font-size: 12px;
	color: #8094ae;
}

/* Favorites page inside account layout */
body.page-oblubene .brxe-post-title,
body.mk-favorites-page .brxe-post-title,
body.page-oblubene h1.brxe-heading,
body.mk-favorites-page #brx-content > .brxe-section:not(:has(.mk-account-layout)) .brxe-heading:first-child {
	/* keep specific hide via empty bricks title; safety for leftover headings outside layout */
}

body.page-oblubene .mk-account-main > .brxe-heading,
body.mk-favorites-page .mk-account-main > .brxe-heading {
	display: none !important;
}

.mk-fav-page {
	width: 100%;
}

.mk-fav-page .mk-vp-header {
	margin-bottom: 8px;
}

.mk-fav-page__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 22px;
	margin-top: 20px;
}

.mk-fav-card {
	border: 1px solid #e5e9f0;
	border-radius: 16px;
	overflow: hidden;
	background: #fff;
	display: flex;
	flex-direction: column;
}

.mk-fav-card__media {
	aspect-ratio: 4 / 3;
	background: #f3f5f8;
	overflow: hidden;
}

.mk-fav-card__media img,
.mk-fav-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mk-fav-card__body {
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}

.mk-fav-card__title {
	margin: 0;
	font-size: 18px;
	line-height: 1.3;
}

.mk-fav-card__title a {
	color: #1a1f2e;
	text-decoration: none;
}

.mk-fav-card__author {
	margin: 0;
	font-size: 13px;
	color: #8094ae;
}

.mk-fav-card__footer {
	margin-top: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: 8px;
}

.mk-fav-card__price {
	font-weight: 700;
	color: #1a1f2e;
}

.mk-fav-card__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 14px;
	border-radius: 10px;
	background: #b5813a;
	color: #fff;
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
}

/* Sticky header clearance for favorites page */
body.mk-favorites-page #brx-content,
body.mk-favorites-page #bricks-content,
body.page-oblubene #brx-content,
body.page-oblubene #bricks-content {
	padding-top: var(--mk-sticky-header-offset, 189px) !important;
	box-sizing: border-box !important;
}

@media (max-width: 767px) {
	.mk-notif-panel {
		left: 12px !important;
		right: 12px;
		width: auto !important;
	}
}


/* Never show badge/wrap for the hidden duplicate heart beside search */
#brxe-cdmxdr,
.mk-header-fav:has(#brxe-cdmxdr),
#brxe-vcjwiv .mk-fav-header-count,
#brxe-vcjwiv .mk-notif-badge,
button.mk-header-bell {
	display: none !important;
}

/* Followed vendors */
.mk-follow-page {
	width: 100%;
}

.mk-follow-page .mk-vp-header {
	margin-bottom: 8px;
}

.mk-follow-page__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 16px;
	margin-top: 20px;
}

.mk-follow-empty {
	margin-top: 12px;
	width: 100%;
}

.mk-follow-empty__card {
	max-width: none;
	width: 100%;
	box-sizing: border-box;
	padding: 28px 24px;
	border: 1px solid #e5e9f0;
	border-radius: 16px;
	background: #fff;
}

.mk-follow-empty__title {
	margin: 0 0 8px;
	font-size: 20px;
	font-weight: 700;
	color: #8a5a2b;
	line-height: 1.25;
}

.mk-follow-empty__text {
	margin: 0 0 18px;
	font-size: 14px;
	line-height: 1.55;
	color: #66768a;
}

.mk-follow-empty__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 18px;
	border-radius: 10px;
	background: #b5813a;
	color: #fff !important;
	text-decoration: none !important;
	font-size: 14px;
	font-weight: 600;
}

.mk-follow-empty__btn:hover {
	opacity: 0.9;
	color: #fff !important;
}

.mk-follow-card {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 18px;
	border: 1px solid #e5e9f0;
	border-radius: 16px;
	background: #fff;
}

.mk-follow-card__avatar {
	flex: 0 0 auto;
}

.mk-follow-card__avatar img {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
	background: #f3f5f8;
}

.mk-follow-card__body {
	flex: 1;
	min-width: 0;
}

.mk-follow-card__name {
	display: block;
	font-size: 16px;
	font-weight: 700;
	color: #1a1f2e;
	margin-bottom: 4px;
}

.mk-follow-card__meta {
	display: block;
	font-size: 13px;
	color: #8094ae;
	margin-bottom: 12px;
}

.mk-follow-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.mk-follow-card__link,
.mk-follow-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 12px;
	border: 1px solid #d7dee8;
	border-radius: 8px;
	background: #fff;
	color: #44566e;
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}

.mk-follow-card__link:hover,
.mk-follow-btn:hover {
	border-color: #b5813a;
	color: #8a5a2b;
}

.mk-follow-btn.is-following {
	background: #f7f1e8;
	border-color: #c9a46a;
	color: #8a5a2b;
}

body.page-sledovani-predajcovia .brxe-post-title,
body.mk-followed-vendors-page .brxe-post-title,
body.page-sledovani-predajcovia h1.brxe-heading,
body.mk-followed-vendors-page h1.brxe-heading {
	display: none !important;
}

body.mk-followed-vendors-page #brx-content,
body.mk-followed-vendors-page #bricks-content,
body.page-sledovani-predajcovia #brx-content,
body.page-sledovani-predajcovia #bricks-content {
	padding-top: var(--mk-sticky-header-offset, 189px) !important;
	box-sizing: border-box !important;
}
