/* WhatCarTool — serduszka „Favourite" + „Save to User Panel" (v0.48.0).
   :not-łańcuchy jak przy innych przyciskach silnika — motyw (TT21/Elementor)
   potrafi przebić zwykłą klasę na <button>. */

.wct-fav,
.wct-fav:not(:hover):not(:active) {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 6px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--wct-muted, #5a6675);
	font: inherit;
	font-size: var(--wct-font-size-sm, 13px);
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	box-shadow: none;
	text-decoration: none;
}
.wct-fav:hover { color: #e0245e; background: rgba(224, 36, 94, 0.08); }
.wct-fav:focus-visible { outline: 2px solid var(--wct-accent, #1769ff); outline-offset: 2px; }
.wct-fav:disabled { opacity: 0.6; cursor: progress; }

.wct-fav__icon { display: block; flex: 0 0 auto; }
.wct-fav__icon path {
	fill: transparent;
	stroke: currentColor;
	stroke-width: 2;
	transition: fill 0.15s ease;
}
.wct-fav.is-on,
.wct-fav.is-on:not(:hover):not(:active),
.wct-rel-item > .wct-fav.is-on:not(:hover):not(:active) { color: #e0245e; }
.wct-fav.is-on .wct-fav__icon path { fill: #e0245e; stroke: #e0245e; }
.wct-fav.is-on .wct-fav__icon { animation: wct-fav-pop 0.25s ease; }
@keyframes wct-fav-pop { 50% { transform: scale(1.25); } }

/* Wariant z napisem (strona urządzenia, nagłówek porównania). */
.wct-fav--label,
.wct-fav--label:not(:hover):not(:active) {
	padding: 7px 14px 7px 10px;
	border: 1px solid var(--wct-border, #d6dae0);
	background: var(--wct-surface, #fff);
}
.wct-fav--label.is-on,
.wct-fav--label.is-on:not(:hover):not(:active) { border-color: #f3b3c6; background: #fff5f8; }

/* Kafelki „Related devices" / urządzenia producenta — serduszko w rogu karty. */
.wct-rel-item { position: relative; }
.wct-rel-item > .wct-fav,
.wct-rel-item > .wct-fav:not(:hover):not(:active) {
	position: absolute;
	color: #3c4652;
	top: 6px;
	right: 6px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

/* Wiersz wyników wyszukiwarki. */
.wct-result > .wct-fav { flex: 0 0 auto; }
@media (max-width: 640px) {
	.wct-result > .wct-fav { order: 5; }
}

/* Nagłówek tabeli porównania. */
.wct-compare-table thead th .wct-fav--label { margin: 6px 0 2px; padding: 4px 10px 4px 7px; font-size: 12px; }
.wct-compare-table thead th .wct-fav__icon { width: 16px; height: 16px; }

/* „Save to User Panel" pod tabelą porównania (obok formularza e-mail). */
.wct-compare-save {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0 0 8px;
	padding: 8px 12px;
	border: 1px solid var(--wct-border, #d6dbe3);
	border-radius: var(--wct-radius-card, 8px);
	background: var(--wct-surface-alt, #f6f7f9);
}
.wct-compare-save__note { font-weight: 600; font-size: var(--wct-font-size-sm, 13px); }
.wct-compare-save button,
.wct-compare-save button:not(:hover):not(:active) {
	padding: 8px 16px;
	border: 1px solid #e0245e;
	border-radius: var(--wct-radius, 7px);
	background: var(--wct-surface, #fff);
	color: #c01d50;
	font-size: var(--wct-font-size-sm, 13px);
	font-weight: 600;
	cursor: pointer;
}
.wct-compare-save button:hover { background: #fff5f8; }
.wct-compare-save button:disabled { opacity: 0.55; cursor: progress; }
.wct-compare-save__msg { font-size: var(--wct-font-size-sm, 13px); }
.wct-compare-save__msg.is-ok { color: #1a7f37; }
.wct-compare-save__msg.is-error { color: var(--wct-danger, #b32d2d); }

/* Dymek dla gościa. */
.wct-fav-pop {
	position: absolute;
	z-index: 99999;
	max-width: 280px;
	padding: 12px 14px;
	border: 1px solid var(--wct-border, #d6dae0);
	border-radius: 10px;
	background: #fff;
	color: #1c2530;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
	font-size: 14px;
	line-height: 1.4;
}
.wct-fav-pop p { margin: 0 0 8px; }
.wct-fav-pop p:last-child { margin: 0; }
.wct-fav-pop__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.wct-fav-pop a { color: var(--wct-accent, #1769ff); font-weight: 600; }
.wct-fav-pop a.wct-fav-pop__btn {
	padding: 6px 14px;
	border-radius: var(--wct-radius, 7px);
	background: var(--wct-accent, #1769ff);
	color: var(--wct-accent-ink, #fff);
	text-decoration: none;
}
