/* ═══════════════════════════════════════════
   RELOD Wishlist — Front-end CSS  v1.1.0
   Агрессивный reset чтобы пробить любую тему
   ═══════════════════════════════════════════ */

/* ── Reset: всё внутри нашего грида ── */
.relod-wl-grid,
.relod-wl-grid *,
.relod-wl-grid *::before,
.relod-wl-grid *::after {
	box-sizing: border-box;
}

/* ── Grid ── */
.relod-wl-grid {
	display: grid;
	grid-template-columns: repeat(var(--relod-wl-cols, 4), 1fr);
	gap: 24px 20px;
	font-family: inherit;
}
@media (max-width: 1023px) {
	.relod-wl-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 639px) {
	.relod-wl-grid { grid-template-columns: 1fr; }
}

/* ── Card ── */
.relod-wl-card {
	display: flex;
	flex-direction: column;
	position: relative;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* ── Image wrapper ── */
.relod-wl-card .relod-wl-card__image-wrap {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
	background: #f0f0f0;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}
.relod-wl-card .relod-wl-card__image-link,
.relod-wl-card .relod-wl-card__image-link:hover,
.relod-wl-card .relod-wl-card__image-link:focus,
.relod-wl-card .relod-wl-card__image-link:active,
.relod-wl-card .relod-wl-card__image-link:visited {
	display: block !important;
	text-decoration: none !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
	color: inherit !important;
}
.relod-wl-card__image {
	display: block;
	position: relative;
	overflow: hidden;
	line-height: 0;
	font-size: 0;
}
.relod-wl-card__image img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	transition: opacity .15s ease;
}

/* ══════════════════════════════════════════════
   Wishlist button — АГРЕССИВНЫЙ RESET
   Shortcode grid: .relod-wl-btn.relod-wcwl-btn
   UE widget:      .ue-wishlist-btn.relod-wcwl-btn
   ══════════════════════════════════════════════ */
button.relod-wl-btn.relod-wcwl-btn,
button.ue-wishlist-btn.relod-wcwl-btn {
	position: absolute !important;
	top: 12px !important;
	right: 12px !important;
	width: 60px !important;
	height: 60px !important;
	min-width: 60px !important;
	min-height: 60px !important;
	max-width: 60px !important;
	max-height: 60px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	border-width: 0 !important;
	border-style: none !important;
	border-color: transparent !important;
	border-radius: 999px !important;
	background-color: #fff !important;
	background-image: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	z-index: 30 !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	box-shadow: 0 2px 8px rgba(0,0,0,.10) !important;
	outline: none !important;
	outline-width: 0 !important;
	text-decoration: none !important;
	text-indent: 0 !important;
	text-transform: none !important;
	font-size: 0 !important;
	line-height: 0 !important;
	letter-spacing: 0 !important;
	color: transparent !important;
	overflow: hidden !important;
	transition: transform .12s ease, box-shadow .12s ease !important;
	float: none !important;
}
button.relod-wl-btn.relod-wcwl-btn:hover,
button.ue-wishlist-btn.relod-wcwl-btn:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 3px 12px rgba(0,0,0,.14) !important;
	background-color: #fff !important;
	background-image: none !important;
	border: none !important;
	outline: none !important;
}
button.relod-wl-btn.relod-wcwl-btn:focus,
button.relod-wl-btn.relod-wcwl-btn:active,
button.ue-wishlist-btn.relod-wcwl-btn:focus,
button.ue-wishlist-btn.relod-wcwl-btn:active {
	background-color: #fff !important;
	background-image: none !important;
	border: none !important;
	border-width: 0 !important;
	outline: none !important;
	outline-width: 0 !important;
	box-shadow: 0 2px 8px rgba(0,0,0,.10) !important;
}
button.relod-wl-btn.relod-wcwl-btn:focus-visible,
button.ue-wishlist-btn.relod-wcwl-btn:focus-visible {
	outline: 2px solid rgba(0,0,0,.2) !important;
	outline-offset: 2px !important;
}

/* Active state — кнопка всегда белая */
button.relod-wcwl-btn.is-active,
button.relod-wcwl-btn.active,
button.relod-wcwl-btn[aria-pressed="true"] {
	background-color: #fff !important;
	background-image: none !important;
	border: none !important;
	border-width: 0 !important;
}

/* ══════════════════════════════════════════════
   Иконки внутри кнопки
   Два span с background-image SVG,
   переключаются через opacity
   ══════════════════════════════════════════════ */
.relod-wcwl-btn span.relod-wcwl-icon {
	width: 18px !important;
	height: 18px !important;
	display: block !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	background-size: contain !important;
	background-color: transparent !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	transition: opacity .15s ease !important;
	filter: none !important;
	border: none !important;
	border-width: 0 !important;
	outline: none !important;
	padding: 0 !important;
	margin: 0 !important;
	pointer-events: none !important;
	line-height: 0 !important;
	font-size: 0 !important;
	color: transparent !important;
	text-indent: -9999px !important;
	overflow: hidden !important;
	float: none !important;
	min-width: 0 !important;
	min-height: 0 !important;
}

/* Inactive icon — видна по умолчанию */
.relod-wcwl-btn span.relod-wcwl-icon--inactive {
	opacity: 1 !important;
}
/* Active icon — скрыта по умолчанию */
.relod-wcwl-btn span.relod-wcwl-icon--active {
	opacity: 0 !important;
}

/* Когда кнопка активна — переключаем */
.relod-wcwl-btn.is-active span.relod-wcwl-icon--inactive,
.relod-wcwl-btn.active span.relod-wcwl-icon--inactive,
.relod-wcwl-btn[aria-pressed="true"] span.relod-wcwl-icon--inactive {
	opacity: 0 !important;
}
.relod-wcwl-btn.is-active span.relod-wcwl-icon--active,
.relod-wcwl-btn.active span.relod-wcwl-icon--active,
.relod-wcwl-btn[aria-pressed="true"] span.relod-wcwl-icon--active {
	opacity: 1 !important;
}

/* ── Pulse animation ── */
@keyframes relod_wl_pulse {
	0%   { transform: scale(1); }
	50%  { transform: scale(1.18); }
	100% { transform: scale(1); }
}
.relod-wcwl-btn.relod-wl-pulse {
	animation: relod_wl_pulse 260ms ease !important;
}

/* ══════════════════════════════════════════════
   Card body: title, price, swatches
   ══════════════════════════════════════════════ */
.relod-wl-card__body {
	padding: 12px 4px 0;
}

/* Title */
.relod-wl-card a.relod-wl-card__title,
.relod-wl-card a.relod-wl-card__title:visited {
	display: block !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: .03em !important;
	color: #111 !important;
	text-decoration: none !important;
	line-height: 1.3 !important;
	margin-bottom: 4px !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 !important;
	transition: color .2s ease !important;
}
.relod-wl-card a.relod-wl-card__title:hover,
.relod-wl-card a.relod-wl-card__title:focus {
	color: #662132 !important;
	text-decoration: none !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}

/* Price */
.relod-wl-card__price {
	font-size: 14px;
	color: #333;
	line-height: 1.4;
}
.relod-wl-card__price del {
	opacity: .5;
	margin-right: 6px;
}
.relod-wl-card__price ins {
	text-decoration: none;
	font-weight: 600;
}

/* ── Variation swatches ── */
.relod-wl-card__swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}
a.relod-wl-swatch,
a.relod-wl-swatch:visited,
a.relod-wl-swatch:hover,
a.relod-wl-swatch:focus {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 14px !important;
	height: 14px !important;
	border-radius: 999px !important;
	text-decoration: none !important;
	box-shadow: inset 0 0 0 1px rgba(0,0,0,.18) !important;
	transition: transform .15s ease, box-shadow .15s ease !important;
	border: none !important;
	outline: none !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
}
a.relod-wl-swatch:hover {
	transform: translateY(-1px) !important;
	box-shadow: inset 0 0 0 2px #111, 0 0 0 1px #111 !important;
}
.relod-wl-swatch__color {
	display: block;
	width: calc(100% - 2px);
	height: calc(100% - 2px);
	border-radius: inherit;
	border: 1px solid rgba(0,0,0,.1);
}
.relod-wl-swatch.is-out-of-stock {
	opacity: .45;
	position: relative;
}
.relod-wl-swatch.is-out-of-stock::after {
	content: '';
	position: absolute;
	width: 130%;
	height: 1px;
	background: rgba(0,0,0,.55);
	transform: rotate(-40deg);
}

/* ── Empty wishlist ── */
.relod-wl-empty {
	text-align: center;
	padding: 60px 20px;
	color: #888;
	font-size: 16px;
}

/* ── Card removal animation ── */
.relod-wl-card.relod-wl-removing {
	opacity: 0;
	transform: scale(.95);
	transition: opacity .3s ease, transform .3s ease;
}