/**
 * MWM Wishlist — Frontend Styles
 *
 * All visual tokens are exposed as CSS custom properties so they can be
 * overridden from WooCommerce > Settings > Wishlist > Styles without touching
 * this file. The :root block below sets the default values; the plugin's
 * get_custom_css() method outputs an overriding :root block when the user
 * saves custom values.
 *
 * @package MWM_Wishlist
 * @version 1.3.0
 */

/* ==========================================================================
   CSS Custom Properties — Design tokens
   ========================================================================== */

:root {
	/* Primary accent (heart icon, hover states, CTA bg, popup) */
	--mwm-wl-primary:       #e74c3c;
	--mwm-wl-primary-dark:  #c0392b; /* hover of primary */
	--mwm-wl-primary-light: rgba(231, 76, 60, 0.08); /* subtle bg tint */

	/* Card chrome */
	--mwm-wl-card-radius:   12px;
	--mwm-wl-card-border:   #e9ecef;
	--mwm-wl-card-shadow:   0 8px 30px rgba(0, 0, 0, 0.09);

	/* Buttons */
	--mwm-wl-btn-radius:    8px;

	/* Add to cart button (My Account + wishlist page) — empty = inherit WC theme */
	--mwm-wl-atc-bg:        ;
	--mwm-wl-atc-color:     ;

	/* Overlay wishlist button (floats over product image) */
	--mwm-wl-overlay-bg:    rgba(255, 255, 255, 0.95);

	/* Panel boxes (Collaborators, Gift Registry, multi-wishlist selector, Share) */
	--mwm-wl-panel-bg:      #f8f9ff;
	--mwm-wl-panel-border:  #dce2f8;
	--mwm-wl-panel-accent:  #3c5fd7;
	--mwm-wl-panel-title:   #10195c;
}

/* ==========================================================================
   Add to Wishlist Button — Base
   ========================================================================== */

.mwm-wishlist-add-btn-wrapper {
	display: inline-block;
	margin: 8px 0;
}

.mwm-wishlist-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	font-size: 14px;
	line-height: 1.4;
	color: #555;
	text-decoration: none;
	cursor: pointer;
	transition: color 0.2s ease, opacity 0.2s ease;
	border: none;
	outline: none;
	box-shadow: none;
	background: none;
	border-radius: 0;
}

.mwm-wishlist-btn:hover,
.mwm-wishlist-btn:focus,
.mwm-wishlist-btn:active {
	color: var(--mwm-wl-primary);
	text-decoration: none;
	border: none;
	outline: none;
	box-shadow: none;
	background: none;
}

.mwm-wishlist-btn:focus-visible {
	outline: 2px solid var(--mwm-wl-primary);
	outline-offset: 2px;
	border-radius: 3px;
	box-shadow: none;
}

.mwm-wishlist-btn--added {
	color: var(--mwm-wl-primary);
}

.mwm-wishlist-btn--loading {
	pointer-events: none;
	opacity: 0.6;
}

/* Icon */
.mwm-wishlist-btn__icon {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
}

.mwm-wishlist-icon {
	width: 18px;
	height: 18px;
	transition: transform 0.2s ease;
}

.mwm-wishlist-btn:hover .mwm-wishlist-icon {
	transform: scale(1.15);
}

/* Spinner */
.mwm-wishlist-spinner {
	width: 18px;
	height: 18px;
}

/* ==========================================================================
   Loop Button — Standard (after/before cart)
   ========================================================================== */

.mwm-wishlist-btn--loop {
	font-size: 13px;
	padding: 6px 10px;
}

/* ==========================================================================
   Loop Button — Overlay on product image
   ========================================================================== */

/* Ensure the product li is positioned for overlay */
ul.products li.product,
.products .product {
	position: relative;
}

.mwm-wishlist-add-btn-wrapper--overlay {
	position: absolute;
	top: 10px;
	right: 10px;
	margin: 0;
	z-index: 1;
}

/* 44×44 px touch target (WCAG 2.1 AA) */
.mwm-wishlist-btn--overlay {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	background: var(--mwm-wl-overlay-bg);
	border-radius: 50%;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.14);
	color: #aaa;
	transition: color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.mwm-wishlist-btn--overlay .mwm-wishlist-btn__label {
	display: none;
}

.mwm-wishlist-btn--overlay .mwm-wishlist-btn__icon {
	display: flex;
}

.mwm-wishlist-btn--overlay:hover {
	color: var(--mwm-wl-primary);
	background: #fff;
	transform: scale(1.08);
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.18);
}

.mwm-wishlist-btn--overlay.mwm-wishlist-btn--added {
	color: var(--mwm-wl-primary);
	background: #fff;
}

/* ==========================================================================
   Wishlist Page — Header
   ========================================================================== */

.mwm-wishlist-wrapper {
	margin: 20px 0;
}

.mwm-wishlist-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 28px;
	padding-bottom: 16px;
	border-bottom: 2px solid #f0f0f0;
	gap: 12px;
	flex-wrap: wrap;
}

.mwm-wishlist-title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 1.5em;
	margin: 0;
	color: #1a1a1a;
}

.mwm-wishlist-title svg {
	color: var(--mwm-wl-primary);
	flex-shrink: 0;
}

.mwm-wishlist-item-count {
	display: inline-flex;
	align-items: center;
	background: #f3f4f6;
	color: #6b7280;
	font-size: 13px;
	font-weight: 500;
	padding: 4px 12px;
	border-radius: 20px;
	white-space: nowrap;
}

/* ==========================================================================
   Wishlist Page — Card Grid
   ========================================================================== */

.mwm-wishlist-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 24px;
	margin-bottom: 32px;
}

/* Card — position:relative creates a correct stacking context */
.mwm-wishlist-card {
	position: relative;
	background: #fff;
	border: 1px solid var(--mwm-wl-card-border);
	border-radius: var(--mwm-wl-card-radius);
	overflow: visible;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
	display: flex;
	flex-direction: column;
}

.mwm-wishlist-card:hover {
	box-shadow: var(--mwm-wl-card-shadow);
	transform: translateY(-3px);
}

/* Card image area */
.mwm-wishlist-card__image-wrap {
	position: relative;
	overflow: hidden;
	background: #f8f9fa;
	aspect-ratio: 1 / 1;
	border-radius: var(--mwm-wl-card-radius) var(--mwm-wl-card-radius) 0 0;
}

.mwm-wishlist-card__image-link {
	display: block;
	width: 100%;
	height: 100%;
}

.mwm-wishlist-card__image-link img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
	display: block;
}

.mwm-wishlist-card:hover .mwm-wishlist-card__image-link img {
	transform: scale(1.04);
}

/* Stock badge on image */
.mwm-wishlist-card__badge {
	position: absolute;
	bottom: 10px;
	left: 10px;
	display: inline-block;
	padding: 3px 10px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	z-index: 1;
}

.mwm-wishlist-stock--in {
	color: #166534;
	background-color: rgba(220, 252, 231, 0.95);
}

.mwm-wishlist-stock--out {
	color: #991b1b;
	background-color: rgba(254, 226, 226, 0.95);
}

/* Card body — no double margin-top:auto */
.mwm-wishlist-card__body {
	padding: 14px 16px 16px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.mwm-wishlist-card__name {
	font-size: 15px;
	font-weight: 600;
	margin: 0 0 6px;
	line-height: 1.35;
}

.mwm-wishlist-card__name a {
	color: #1a1a1a;
	text-decoration: none;
	transition: color 0.2s ease;
}

.mwm-wishlist-card__name a:hover {
	color: var(--mwm-wl-primary);
}

.mwm-wishlist-card__price {
	font-size: 16px;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 6px;
}

.mwm-wishlist-card__price del {
	font-weight: 400;
	color: #9ca3af;
	font-size: 13px;
	margin-right: 4px;
}

.mwm-wishlist-card__price ins {
	text-decoration: none;
	color: var(--mwm-wl-primary);
}

.mwm-wishlist-card__date {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	color: #9ca3af;
	margin-bottom: 10px;
}

/* Spacer — pushes actions + remove to bottom of card */
.mwm-wishlist-card__spacer {
	flex: 1;
}

/* Card actions (add to cart) */
.mwm-wishlist-card__actions {
	margin-bottom: 10px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mwm-wishlist-card__atc {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	padding: 10px 16px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	border-radius: var(--mwm-wl-btn-radius) !important;
	text-align: center;
	transition: opacity 0.18s ease, transform 0.1s ease, box-shadow 0.18s ease !important;
}

.mwm-wishlist-card__atc:hover {
	opacity: 0.88;
	transform: translateY(-1px);
	box-shadow: 0 4px 10px rgba(0, 0, 0, .12) !important;
}

.mwm-wishlist-card__atc:active {
	transform: translateY(0);
	box-shadow: none !important;
}

.mwm-wishlist-card__unavailable {
	display: block;
	text-align: center;
	font-size: 13px;
	color: #9ca3af;
	font-style: italic;
	padding: 8px 0 10px;
}

/* Remove button — clean small link at bottom of card */
.mwm-wishlist-card__remove-wrap {
	padding-top: 10px;
	border-top: 1px solid #f3f4f6;
}

.mwm-wishlist-card__remove-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	color: #b0b8c4;
	text-decoration: none;
	transition: color 0.18s ease;
	border: none;
	background: none;
	padding: 4px 0;
	cursor: pointer;
	min-height: 28px;
	line-height: 1;
}

.mwm-wishlist-card__remove-btn svg {
	flex-shrink: 0;
	width: 13px;
	height: 13px;
}

.mwm-wishlist-card__remove-btn:hover {
	color: var(--mwm-wl-primary);
	text-decoration: none;
}

/* .mwm-wishlist-remove is a JS hook class — no visual overrides here */

/* Empty / private / login states */
.mwm-wishlist-empty,
.mwm-wishlist-login-required {
	text-align: center;
	padding: 60px 20px;
}

.mwm-wishlist-empty__icon {
	color: #e5e7eb;
	margin-bottom: 16px;
}

.mwm-wishlist-empty p,
.mwm-wishlist-login-required p {
	font-size: 16px;
	color: #6b7280;
	margin-bottom: 20px;
}

.mwm-wishlist-private {
	text-align: center;
	padding: 40px;
	color: #9ca3af;
	font-style: italic;
}

/* ==========================================================================
   Pagination
   ========================================================================== */

.mwm-wishlist-pagination {
	display: block;
	clear: both;
	width: 100%;
	margin-top: 24px;
	margin-bottom: 8px;
	text-align: center;
	overflow: hidden;
}

.mwm-wishlist-pagination ul,
.mwm-wishlist-pagination .page-numbers {
	float: none !important;
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 0;
}

/* ==========================================================================
   Social Share — compact icon row
   ========================================================================== */

.mwm-wishlist-share {
	margin-top: 32px;
	padding-top: 20px;
	border-top: 1px solid #f0f0f0;
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.mwm-wishlist-share__label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 600;
	color: #9ca3af;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.mwm-wishlist-share__icons {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

/* Each social icon — circular, 40×40, brand colour on hover */
.mwm-wishlist-share__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #f3f4f6;
	color: #6b7280;
	text-decoration: none;
	transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
	flex-shrink: 0;
}

.mwm-wishlist-share__icon:hover {
	transform: translateY(-2px);
	color: #fff;
}

.mwm-wishlist-share__icon:focus-visible {
	outline: 2px solid var(--mwm-wl-primary);
	outline-offset: 2px;
}

/* Brand colours on hover */
.mwm-wishlist-share__icon--facebook:hover  { background: #1877f2; }
.mwm-wishlist-share__icon--twitter:hover   { background: #0f1419; }
.mwm-wishlist-share__icon--pinterest:hover { background: #e60023; }
.mwm-wishlist-share__icon--whatsapp:hover  { background: #25d366; }
.mwm-wishlist-share__icon--email:hover     { background: #6b7280; }
.mwm-wishlist-share__icon--url:hover       { background: #8b5cf6; }

/* ==========================================================================
   Popup / Toast Notification
   ========================================================================== */

.mwm-wishlist-popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 99999;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.mwm-wishlist-popup.is-visible {
	opacity: 1;
	pointer-events: auto;
}

.mwm-wishlist-popup__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.45);
	backdrop-filter: blur(2px);
}

.mwm-wishlist-popup__content {
	position: relative;
	background: #fff;
	border-radius: 16px;
	padding: 32px;
	max-width: 400px;
	width: 90%;
	text-align: center;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.15);
	transform: scale(0.9) translateY(10px);
	transition: transform 0.3s ease;
}

.mwm-wishlist-popup.is-visible .mwm-wishlist-popup__content {
	transform: scale(1) translateY(0);
}

.mwm-wishlist-popup__icon {
	margin-bottom: 16px;
	color: var(--mwm-wl-primary);
}

.mwm-wishlist-popup__icon svg {
	width: 52px;
	height: 52px;
}

.mwm-wishlist-popup__message {
	font-size: 16px;
	color: #374151;
	margin-bottom: 22px;
	line-height: 1.55;
}

.mwm-wishlist-popup__actions {
	display: flex;
	gap: 10px;
	justify-content: center;
}

.mwm-wishlist-popup__actions a,
.mwm-wishlist-popup__actions button {
	padding: 11px 22px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: opacity 0.2s ease, transform 0.1s ease;
	border: none;
	min-width: 120px; /* equal-width buttons */
}

.mwm-wishlist-popup__btn-view {
	background-color: var(--mwm-wl-primary);
	color: #fff !important;
}

.mwm-wishlist-popup__btn-view:hover {
	opacity: 0.9;
	transform: translateY(-1px);
}

.mwm-wishlist-popup__btn-close {
	background-color: #f3f4f6;
	color: #374151 !important;
}

.mwm-wishlist-popup__btn-close:hover {
	background-color: #e5e7eb;
}

/* Toast */
.mwm-wishlist-toast {
	position: fixed;
	bottom: 30px;
	right: 30px;
	background: #1f2937;
	color: #fff;
	padding: 14px 24px;
	border-radius: 10px;
	font-size: 14px;
	z-index: 99999;
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.3s ease, transform 0.3s ease;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
	max-width: calc(100vw - 40px);
}

.mwm-wishlist-toast.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* ==========================================================================
   Copy URL tooltip
   ========================================================================== */

.mwm-wishlist-copied-tooltip {
	position: absolute;
	bottom: calc(100% + 8px);
	left: 50%;
	transform: translateX(-50%);
	background: #1f2937;
	color: #fff;
	padding: 5px 12px;
	border-radius: 6px;
	font-size: 12px;
	white-space: nowrap;
	pointer-events: none;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1024px) {
	.mwm-wishlist-grid {
		grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
		gap: 18px;
	}
}

@media (max-width: 600px) {
	.mwm-wishlist-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.mwm-wishlist-card__body {
		padding: 10px 12px 12px;
	}

	.mwm-wishlist-card__name {
		font-size: 13px;
	}

	.mwm-wishlist-card__price {
		font-size: 14px;
	}

	.mwm-wishlist-card__atc {
		padding: 9px 10px !important;
		font-size: 12px !important;
		gap: 4px;
	}

	.mwm-wishlist-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	/* Share: stack label above icons on very small screens */
	.mwm-wishlist-share {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.mwm-wishlist-share__icon {
		width: 44px;  /* 44px touch target on mobile */
		height: 44px;
	}

	.mwm-wishlist-popup__content {
		padding: 22px;
	}

	.mwm-wishlist-popup__actions {
		flex-direction: column;
	}

	.mwm-wishlist-popup__actions a,
	.mwm-wishlist-popup__actions button {
		min-width: 0;
		width: 100%;
	}

	.mwm-wishlist-toast {
		left: 15px;
		right: 15px;
		bottom: 15px;
		text-align: center;
	}
}

@media (max-width: 360px) {
	.mwm-wishlist-grid {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   My Account — Wishlist tab
   ========================================================================== */

/* ── Section wrapper ──────────────────────────────── */
.mwm-wl-myaccount-section {
	padding: 0;
}

/* ── Header row ───────────────────────────────────── */
.mwm-wl-myaccount-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
	gap: 12px;
	flex-wrap: wrap;
}

.mwm-wl-myaccount-header__left {
	display: flex;
	align-items: center;
	gap: 10px;
}

.mwm-wl-myaccount-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 1.15rem;
	font-weight: 700;
	color: #1a1a1a;
	margin: 0;
	line-height: 1.3;
}

.mwm-wl-myaccount-title svg {
	flex-shrink: 0;
}

/* item count pill next to title */
.mwm-wl-ma-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #fde8e8;
	color: #c0392b;
	font-size: 11px;
	font-weight: 700;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 10px;
	line-height: 1;
}

/* "Full wishlist page" link — subtle, not a big primary button */
.mwm-wl-ma-view-link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 12.5px;
	font-weight: 600;
	color: #6b7280;
	text-decoration: none;
	border: 1px solid #e5e7eb;
	padding: 6px 14px;
	border-radius: 20px;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
	white-space: nowrap;
}

.mwm-wl-ma-view-link:hover {
	color: var(--mwm-wl-primary);
	border-color: #f5c6c6;
	background: #fff5f5;
	text-decoration: none;
}

/* ── Table wrapper ────────────────────────────────── */
.mwm-wl-ma-table-wrap {
	background: var(--mwm-wl-panel-bg, #f8f9ff);
	border: 1px solid var(--mwm-wl-panel-border, #dce2f8);
	border-radius: var(--mwm-wl-card-radius);
	overflow: hidden;
	padding: 16px 16px 16px;
	margin-bottom: 24px;
}

/* ── Table panel header (icon + title) ────────────── */
.mwm-wl-ma-table-header {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	font-size: .95rem;
	color: var(--mwm-wl-panel-title, #10195c);
	margin-bottom: 14px;
}

.mwm-wl-ma-table-header__icon {
	color: var(--mwm-wl-panel-accent, #3c5fd7);
	display: flex;
}

/* ── Table ────────────────────────────────────────── */
.mwm-wl-myaccount-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

/* Head */
.mwm-wl-myaccount-table thead tr {
	background: #fafafa;
}

.mwm-wl-myaccount-table thead th {
	padding: 12px 16px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #9ca3af;
	border-bottom: 1px solid #f0f0f0;
	text-align: left;
	white-space: nowrap;
}

/* Body rows */
.mwm-wl-myaccount-table tbody tr {
	transition: background 0.15s ease;
}

.mwm-wl-myaccount-table tbody tr:not(:last-child) td {
	border-bottom: 1px solid #f7f7f8;
}

.mwm-wl-myaccount-table tbody tr:hover td {
	background: #fdfcfc;
}

.mwm-wl-myaccount-table td {
	padding: 14px 16px;
	vertical-align: middle;
}

/* ── Column widths ────────────────────────────────── */
.mwm-wl-myaccount-table .col-thumb  { width: 80px; padding-right: 8px; }
.mwm-wl-myaccount-table .col-name   { min-width: 160px; }
.mwm-wl-myaccount-table .col-price  { width: 100px; white-space: nowrap; }
.mwm-wl-myaccount-table .col-stock  { width: 110px; }
.mwm-wl-myaccount-table .col-date   { width: 110px; white-space: nowrap; color: #9ca3af; font-size: 13px; }
.mwm-wl-myaccount-table .col-atc    { width: 140px; }
.mwm-wl-myaccount-table .col-remove { width: 48px; text-align: center; padding-left: 8px; }

/* ── Product thumbnail ────────────────────────────── */
.mwm-wl-ma-img-link {
	display: block;
	line-height: 0;
}

.mwm-wl-ma-img {
	width: 56px !important;
	height: 56px !important;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid #f0f0f0;
	display: block;
}

/* ── Product name + short description ────────────── */
.mwm-wl-ma-product-name {
	display: block;
	font-weight: 600;
	font-size: 14px;
	color: #1a1a1a;
	text-decoration: none;
	line-height: 1.35;
	transition: color 0.18s ease;
}

.mwm-wl-ma-product-name:hover {
	color: var(--mwm-wl-primary);
	text-decoration: none;
}

.mwm-wl-ma-product-desc {
	margin: 4px 0 0;
	font-size: 12px;
	color: #9ca3af;
	line-height: 1.4;
}

/* ── Price ────────────────────────────────────────── */
.mwm-wl-myaccount-table .col-price .price {
	font-weight: 700;
	font-size: 14px;
	color: #1a1a1a;
}

.mwm-wl-myaccount-table .col-price del {
	color: #c4c4c4;
	font-size: 12px;
}

.mwm-wl-myaccount-table .col-price ins {
	text-decoration: none;
	color: var(--mwm-wl-primary);
}

/* ── Inline stock badge ───────────────────────────── */
/* These use new .mwm-wl-ma-stock classes (NOT the .mwm-wishlist-card__badge
   which is position:absolute and designed for product cards). */
.mwm-wl-ma-stock {
	display: inline-flex;
	align-items: center;
	font-size: 11.5px;
	font-weight: 600;
	padding: 3px 9px;
	border-radius: 20px;
	white-space: nowrap;
	/* Explicitly NOT position:absolute */
	position: static;
}

.mwm-wl-ma-stock--in {
	background: #ecfdf5;
	color: #065f46;
}

.mwm-wl-ma-stock--out {
	background: #fef2f2;
	color: #991b1b;
}

/* ── Add to cart button — compact ────────────────── */
.mwm-wl-ma-atc-btn {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	padding: 8px 14px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	border-radius: var(--mwm-wl-btn-radius) !important;
	text-decoration: none;
	cursor: pointer;
	transition: opacity 0.2s ease, transform 0.1s ease !important;
	white-space: nowrap;
}

.mwm-wl-ma-atc-btn:hover {
	opacity: 0.88 !important;
	transform: translateY(-1px);
	text-decoration: none !important;
}

.mwm-wl-ma-atc-btn svg {
	flex-shrink: 0;
}

/* Override bg/color when the user has set them from plugin settings */
.mwm-wl-ma-atc-btn:not(.mwm-wl-ma-atc-btn--view) {
	background: var(--mwm-wl-atc-bg) !important;
	color: var(--mwm-wl-atc-color) !important;
}

/* Default pill style when no custom color is configured.
   --mwm-wl-atc-bg is declared as empty, so var() fallback doesn't fire —
   we use a more specific selector to set the primary color explicitly. */
.mwm-wl-myaccount-table .mwm-wl-ma-atc-btn:not(.mwm-wl-ma-atc-btn--view) {
	background: var(--mwm-wl-primary, #e74c3c) !important;
	color: #fff !important;
	border: 1px solid transparent !important;
}

/* "View" fallback button (out of stock) */
.mwm-wl-ma-atc-btn--view {
	background: #f3f4f6 !important;
	color: #374151 !important;
	border-color: #e5e7eb !important;
}

/* ── Remove button — icon-only circle ────────────── */
.mwm-wl-ma-remove-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: transparent;
	border: 1.5px solid #e5e7eb;
	color: #c4c4c4;
	text-decoration: none;
	cursor: pointer;
	transition: color 0.18s ease, border-color 0.18s ease, background 0.18s ease;
	flex-shrink: 0;
}

.mwm-wl-ma-remove-btn:hover {
	color: var(--mwm-wl-primary);
	border-color: #f5c6c6;
	background: #fff5f5;
	text-decoration: none;
}

/* ── Empty state ──────────────────────────────────── */
.mwm-wl-myaccount-empty {
	text-align: center;
	padding: 48px 24px;
	color: #9ca3af;
}

.mwm-wl-myaccount-empty svg {
	display: block;
	margin: 0 auto 16px;
}

.mwm-wl-myaccount-empty p {
	font-size: 15px;
	color: #6b7280;
	margin-bottom: 20px;
}

.mwm-wl-ma-btn-shop {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 22px;
	font-size: 13.5px;
	font-weight: 600;
	background: var(--mwm-wl-primary);
	color: #fff;
	border-radius: var(--mwm-wl-btn-radius);
	text-decoration: none;
	transition: background 0.2s ease, transform 0.1s ease;
}

.mwm-wl-ma-btn-shop:hover {
	background: var(--mwm-wl-primary-dark);
	color: #fff;
	transform: translateY(-1px);
	text-decoration: none;
}

/* ── Responsive ───────────────────────────────────── */
@media (max-width: 768px) {
	/* Stack the header */
	.mwm-wl-myaccount-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	/* Collapse table: hide date column on small screens */
	.mwm-wl-myaccount-table .col-date,
	.mwm-wl-myaccount-table thead th.col-date {
		display: none;
	}

	/* Shrink thumbnail on small screens */
	.mwm-wl-ma-img {
		width: 44px !important;
		height: 44px !important;
	}

	.mwm-wl-myaccount-table td {
		padding: 10px 10px;
	}

	.mwm-wl-myaccount-table thead th {
		padding: 10px 10px;
	}
}

@media (max-width: 520px) {
	/* Remove border-radius wrapper on very small screens */
	.mwm-wl-ma-table-wrap {
		border-radius: 8px;
	}

	/* Hide stock column too on very small screens */
	.mwm-wl-myaccount-table .col-stock,
	.mwm-wl-myaccount-table thead th.col-stock {
		display: none;
	}

	/* Compact ATC button: icon only */
	.mwm-wl-ma-atc-btn span,
	.mwm-wl-ma-atc-btn:not(.mwm-wl-ma-atc-btn--view) > :not(svg) {
		display: none;
	}

	.mwm-wl-ma-atc-btn {
		width: 36px;
		height: 36px;
		padding: 0 !important;
		justify-content: center;
		border-radius: 50% !important;
	}

	.mwm-wl-ma-atc-btn svg {
		width: 16px;
		height: 16px;
	}
}

/* ==========================================================================
   WooCommerce Add-to-Cart Notice — scoped to wishlist & My Account contexts
   ========================================================================== */

/* Base notice re-skin — broad selectors to beat theme defaults */
.woocommerce .woocommerce-message,
.woocommerce-page .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-message {
	background: #fff !important;
	border: none !important;
	border-radius: var(--mwm-wl-card-radius, 12px) !important;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12) !important;
	color: #374151 !important;
	font-size: 0.9rem !important;
	padding: 14px 16px !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	/* Accent left strip instead of full top border */
	outline: 1.5px solid rgba(231, 76, 60, 0.15) !important;
	position: relative;
	overflow: hidden;
}

/* Coloured left accent strip */
.woocommerce .woocommerce-message::before,
.woocommerce-page .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-message::before {
	content: '' !important;
	display: block !important;
	position: absolute;
	top: 0;
	left: 0;
	width: 4px;
	height: 100%;
	background: var(--mwm-wl-primary, #e74c3c);
	border-radius: 4px 0 0 4px;
	font-size: 0; /* prevent any WC icon font from rendering */
}

/* Message text — grows to fill */
.woocommerce .woocommerce-message > *:not(.button):not(.dismiss),
.woocommerce-page .woocommerce-message > *:not(.button):not(.dismiss),
.woocommerce-notices-wrapper .woocommerce-message > *:not(.button):not(.dismiss) {
	flex: 1;
	padding-left: 8px; /* indent past the accent strip */
}

/* "View cart" button — pill style */
.woocommerce .woocommerce-message .button,
.woocommerce-page .woocommerce-message .button,
.woocommerce-notices-wrapper .woocommerce-message .button {
	flex-shrink: 0;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	background: var(--mwm-wl-primary, #e74c3c) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 7px 18px !important;
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	white-space: nowrap;
	letter-spacing: 0.01em;
	box-shadow: 0 2px 8px rgba(231, 76, 60, 0.3) !important;
	float: none !important;
	margin: 0 !important;
	transition: background 0.18s, box-shadow 0.18s, transform 0.15s !important;
}

.woocommerce .woocommerce-message .button:hover,
.woocommerce-page .woocommerce-message .button:hover,
.woocommerce-notices-wrapper .woocommerce-message .button:hover {
	background: var(--mwm-wl-primary-dark, #c0392b) !important;
	box-shadow: 0 4px 14px rgba(231, 76, 60, 0.4) !important;
	transform: translateY(-1px);
}

/* Dismiss / close icon */
.woocommerce .woocommerce-message .dismiss,
.woocommerce-page .woocommerce-message .dismiss,
.woocommerce-notices-wrapper .woocommerce-message .dismiss {
	flex-shrink: 0;
	opacity: 0.35;
	font-size: 1rem;
	line-height: 1;
	transition: opacity 0.15s;
}

.woocommerce .woocommerce-message .dismiss:hover,
.woocommerce-page .woocommerce-message .dismiss:hover,
.woocommerce-notices-wrapper .woocommerce-message .dismiss:hover {
	opacity: 0.8;
}

/* ==========================================================================
   Multi-wishlist tabs & toolbar (My Account)
   ========================================================================== */

.mwm-wl-ma-lists {
	margin-bottom: 16px;
	background: var(--mwm-wl-panel-bg, #f8f9ff);
	border: 1px solid var(--mwm-wl-panel-border, #dce2f8);
	border-radius: 10px;
	padding: 14px 16px;
}

.mwm-wl-ma-lists-header {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}

/* Tabs row */
.mwm-wl-ma-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	flex: 1;
}

.mwm-wl-ma-tab {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	border: 1.5px solid #e9ecef;
	border-radius: 999px;
	background: #fff;
	color: #555;
	font-size: 0.85rem;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.16s;
	white-space: nowrap;
}

.mwm-wl-ma-tab:hover {
	border-color: var(--mwm-wl-primary, #e74c3c);
	color: var(--mwm-wl-primary, #e74c3c);
}

.mwm-wl-ma-tab.is-active {
	background: var(--mwm-wl-primary, #e74c3c);
	border-color: var(--mwm-wl-primary, #e74c3c);
	color: #fff;
}

.mwm-wl-ma-tab-count {
	background: rgba(255,255,255,0.3);
	border-radius: 999px;
	padding: 1px 7px;
	font-size: 0.78rem;
	font-weight: 600;
}

.mwm-wl-ma-tab.is-active .mwm-wl-ma-tab-count {
	background: rgba(255,255,255,0.25);
}

/* "New list" button */
.mwm-wl-ma-btn-new-list {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 6px 14px;
	background: transparent;
	border: 1.5px dashed #ccc;
	border-radius: 999px;
	color: #888;
	font-size: 0.82rem;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.16s;
	white-space: nowrap;
}

.mwm-wl-ma-btn-new-list:hover {
	border-color: var(--mwm-wl-primary, #e74c3c);
	color: var(--mwm-wl-primary, #e74c3c);
}

/* Active wishlist toolbar: rename + delete */
.mwm-wl-ma-active-toolbar {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 12px;
	background: rgba(255, 255, 255, 0.65);
	border: 1px solid var(--mwm-wl-panel-border, #dce2f8);
	border-radius: var(--mwm-wl-btn-radius, 8px);
	margin-top: 10px;
	margin-bottom: 0;
	flex-wrap: wrap;
}

.mwm-wl-ma-rename-wrap {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1;
}

.mwm-wl-ma-rename-input {
	border: 1.5px solid transparent;
	background: transparent;
	font-size: 0.9rem;
	font-weight: 600;
	color: #1d2327;
	padding: 4px 8px;
	border-radius: 5px;
	flex: 1;
	transition: border-color 0.15s, background 0.15s;
	min-width: 120px;
}

.mwm-wl-ma-rename-input:hover,
.mwm-wl-ma-rename-input:focus {
	border-color: var(--mwm-wl-primary, #e74c3c);
	background: #fff;
	outline: none;
}

.mwm-wl-ma-btn-rename {
	padding: 5px 14px;
	border-radius: var(--mwm-wl-btn-radius);
	border: none;
	font-size: 0.8rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s;
}

.mwm-wl-ma-btn-rename--save {
	background: var(--mwm-wl-primary, #e74c3c);
	color: #fff;
}

.mwm-wl-ma-btn-rename--save:hover {
	background: var(--mwm-wl-primary-dark, #c0392b);
}

.mwm-wl-ma-btn-rename--cancel {
	background: #f3f4f6;
	color: #6b7280;
	border: 1.5px solid #e5e7eb;
}

.mwm-wl-ma-btn-rename--cancel:hover {
	background: #e5e7eb;
}

.mwm-wl-ma-btn-delete-list {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 14px;
	background: transparent;
	border: 1.5px solid var(--mwm-wl-primary, #e74c3c);
	border-radius: var(--mwm-wl-btn-radius);
	color: var(--mwm-wl-primary, #e74c3c);
	font-size: 0.8rem;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.15s;
	white-space: nowrap;
}

.mwm-wl-ma-btn-delete-list:hover {
	background: var(--mwm-wl-primary, #e74c3c);
	color: #fff;
}

/* ==========================================================================
   Wishlist picker popup (shown when clicking "Add to wishlist" in multi mode)
   ========================================================================== */

.mwm-wl-picker-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
	z-index: 99998;
	opacity: 0;
	transition: opacity 0.2s;
}

.mwm-wl-picker-overlay.is-visible {
	opacity: 1;
}

.mwm-wl-picker {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, calc(-50% + 20px));
	background: #fff;
	border-radius: var(--mwm-wl-card-radius, 12px);
	box-shadow: 0 16px 60px rgba(0, 0, 0, 0.18);
	z-index: 99999;
	width: min(360px, 92vw);
	padding: 24px;
	opacity: 0;
	transition: opacity 0.2s, transform 0.2s;
}

.mwm-wl-picker.is-visible {
	opacity: 1;
	transform: translate(-50%, -50%);
}

.mwm-wl-picker__title {
	font-size: 1rem;
	font-weight: 700;
	margin: 0 0 16px;
	color: #1d2327;
}

.mwm-wl-picker__list {
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
	max-height: 220px;
	overflow-y: auto;
}

.mwm-wl-picker__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 14px;
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.12s;
	border: 1.5px solid transparent;
}

.mwm-wl-picker__item:hover {
	background: #f5f7ff;
	border-color: var(--mwm-wl-primary, #e74c3c);
}

.mwm-wl-picker__item-name {
	font-size: 0.9rem;
	font-weight: 500;
	color: #1d2327;
}

.mwm-wl-picker__item-count {
	font-size: 0.78rem;
	color: #888;
}

.mwm-wl-picker__new {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 0;
	margin-bottom: 14px;
}

.mwm-wl-picker__new-input {
	flex: 1;
	padding: 8px 12px;
	border: 1.5px solid #e9ecef;
	border-radius: 8px;
	font-size: 0.88rem;
	transition: border-color 0.15s;
}

.mwm-wl-picker__new-input:focus {
	outline: none;
	border-color: var(--mwm-wl-primary, #e74c3c);
}

.mwm-wl-picker__new-btn {
	padding: 8px 16px;
	background: var(--mwm-wl-primary, #e74c3c);
	color: #fff;
	border: none;
	border-radius: var(--mwm-wl-btn-radius);
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s;
	white-space: nowrap;
}

.mwm-wl-picker__new-btn:hover {
	background: var(--mwm-wl-primary-dark, #c0392b);
}

.mwm-wl-picker__close {
	width: 100%;
	padding: 8px;
	background: transparent;
	border: 1.5px solid #e5e7eb;
	border-radius: var(--mwm-wl-btn-radius);
	color: #6b7280;
	font-size: 0.85rem;
	cursor: pointer;
	transition: all 0.15s;
}

.mwm-wl-picker__close:hover {
	background: #f5f5f5;
	color: #333;
}

/* ==========================================================================
   Share & Privacy panel — My Account context
   Slight tweaks so the panel sits well inside the narrow My Account column.
   ========================================================================== */

.mwm-wl-myaccount-section .mwm-wl-sc-share-panel {
	margin-top: 24px;
}

.mwm-wl-myaccount-section .mwm-wl-sc-share-panel__header {
	flex-wrap: wrap;
}

.mwm-wl-myaccount-section .mwm-wl-sc-share-url-row {
	flex-wrap: wrap;
}

.mwm-wl-myaccount-section .mwm-wl-sc-share-url-input {
	min-width: 0;
}

/* ==========================================================================
   Shortcode page — multi-wishlist tabs
   (reuses the .mwm-wl-ma-* classes so the same JS handlers work,
    but scoped inside .mwm-wishlist-wrapper for visual overrides)
   ========================================================================== */

.mwm-wishlist-wrapper .mwm-wl-ma-lists {
	margin-bottom: 20px;
}

/* On the shortcode page the toolbar blends into the panel, reset extra margin */
.mwm-wishlist-wrapper .mwm-wl-ma-active-toolbar {
	margin-top: 10px;
}

/* ==========================================================================
   Shortcode page — Share & Privacy panel
   ========================================================================== */

.mwm-wl-sc-share-panel {
	display: block;
	clear: both;
	width: 100%;
	box-sizing: border-box;
	margin-top: 32px;
	padding: 16px 20px;
	border: 1px solid var(--mwm-wl-panel-border, #dce2f8);
	border-radius: 10px;
	background: var(--mwm-wl-panel-bg, #f8f9ff);
}

.mwm-wl-sc-share-panel__header {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 16px;
	margin-bottom: 16px;
}

.mwm-wl-sc-share-panel__icon {
	display: flex;
	align-items: center;
	color: var(--mwm-wl-panel-accent, #3c5fd7);
}

.mwm-wl-sc-share-panel__title {
	font-size: 0.95rem;
	font-weight: 700;
	color: #10195c;
	margin-right: auto;
}

/* Privacy selector */
.mwm-wl-sc-privacy-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.mwm-wl-sc-privacy-select {
	padding: 6px 28px 6px 10px;
	border: 1.5px solid #dee2e6;
	border-radius: 8px;
	background: #fff;
	font-size: 0.875rem;
	font-weight: 500;
	color: #2d3748;
	cursor: pointer;
	appearance: auto;
	transition: border-color 0.15s, box-shadow 0.15s;
}

.mwm-wl-sc-privacy-select:focus {
	outline: none;
	border-color: var(--mwm-wl-primary, #e74c3c);
	box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.12);
}

.mwm-wl-sc-privacy-desc {
	font-size: 0.8rem;
	color: #888;
	font-style: italic;
}

/* Share URL row */
.mwm-wl-sc-share-url-wrap {
	transition: opacity 0.2s;
}

.mwm-wl-sc-share-url-wrap--hidden {
	display: none;
}

.mwm-wl-sc-share-url-row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
}

.mwm-wl-sc-share-url-input {
	flex: 1;
	padding: 9px 12px;
	border: 1.5px solid #dee2e6;
	border-radius: 8px;
	background: #fff;
	font-size: 0.82rem;
	color: #555;
	font-family: monospace;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mwm-wl-sc-share-url-copy {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 14px;
	background: var(--mwm-wl-primary, #e74c3c);
	color: #fff;
	border: none;
	border-radius: var(--mwm-wl-btn-radius);
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
	transition: opacity 0.15s, transform 0.1s;
}

.mwm-wl-sc-share-url-copy:hover {
	opacity: 0.88;
	transform: translateY(-1px);
}

/* Social buttons row */
.mwm-wl-sc-social-buttons {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.mwm-wl-sc-social-buttons__label {
	font-size: 0.8rem;
	color: #888;
}

.mwm-wl-sc-social-buttons__icons {
	display: flex;
	gap: 6px;
}

/* ==========================================================================
   Heart icon for the Wishlist tab in WooCommerce My Account navigation
   ========================================================================== */

/* Suppress any icon the theme adds for this endpoint (::before or ::after on li) */
.woocommerce-MyAccount-navigation-link--wishlist a::before,
.woocommerce-MyAccount-navigation-link--wishlist::before,
.woocommerce-MyAccount-navigation-link--wishlist::after {
	content: none !important;
	display: none !important;
}

/* Stretch the link so the heart sits flush-right like the other nav icons */
.woocommerce-MyAccount-navigation-link--wishlist a {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 8px !important;
}

/* Heart icon — pushed to the far right */
.woocommerce-MyAccount-navigation-link--wishlist a::after {
	content: '';
	display: block !important;
	flex-shrink: 0;
	width: 1.1em;
	height: 1.1em;
	margin-left: auto;
	opacity: 0.55;
	/* Heart SVG as a data URI — uses the plugin's primary colour */
	background-color: var(--mwm-wl-primary, #e74c3c);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.593c-5.63-5.539-11-10.297-11-14.402 0-3.791 3.068-5.191 5.281-5.191 1.312 0 4.151.501 5.719 4.457 1.59-3.968 4.464-4.447 5.726-4.447 2.54 0 5.274 1.621 5.274 5.181 0 4.069-5.136 8.625-11 14.402z'/%3E%3C/svg%3E");
	        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.593c-5.63-5.539-11-10.297-11-14.402 0-3.791 3.068-5.191 5.281-5.191 1.312 0 4.151.501 5.719 4.457 1.59-3.968 4.464-4.447 5.726-4.447 2.54 0 5.274 1.621 5.274 5.181 0 4.069-5.136 8.625-11 14.402z'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-position: center;
	        mask-position: center;
	-webkit-mask-size: contain;
	        mask-size: contain;
	transition: opacity 0.18s, transform 0.18s;
}

/* On hover / active tab: full colour + slight scale */
.woocommerce-MyAccount-navigation-link--wishlist a:hover::after,
.woocommerce-MyAccount-navigation-link--wishlist.is-active a::after {
	opacity: 1;
	transform: scale(1.15);
}

/* ==========================================================================
   Wishlist Subtotal Bar
   ========================================================================== */

.mwm-wishlist-subtotal {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	padding: 10px 0 4px;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--mwm-wl-card-border, #e9ecef);
	font-size: 15px;
}

.mwm-wishlist-subtotal__label {
	color: #888;
	font-weight: 400;
}

.mwm-wishlist-subtotal__value {
	font-weight: 700;
	color: #1a1a1a;
	font-size: 16px;
}

/* ==========================================================================
   Nav Menu Counter — [mwm_wishlist_count] shortcode
   ========================================================================== */

.mwm-wishlist-counter {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	text-decoration: none;
	color: inherit;
	position: relative;
}

.mwm-wishlist-counter:hover {
	color: var(--mwm-wl-primary);
}

.mwm-wishlist-counter__icon {
	color: var(--mwm-wl-primary);
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

.mwm-wishlist-counter:hover .mwm-wishlist-counter__icon {
	transform: scale(1.15);
}

.mwm-wishlist-counter__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	background: var(--mwm-wl-primary);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	border-radius: 20px;
}

/* ==========================================================================
   Variation label on wishlist cards
   ========================================================================== */

.mwm-wishlist-card__variation {
	font-size: 12px;
	color: #888;
	margin: 0 0 6px;
	font-style: italic;
}

/* ==========================================================================
   Item notes
   ========================================================================== */

.mwm-wl-item-note-wrap {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 2;
	opacity: 0;
	transition: opacity .15s;
}

.mwm-wishlist-card:hover .mwm-wl-item-note-wrap,
.mwm-wl-item-note-wrap:focus-within {
	opacity: 1;
}

.mwm-wl-item-note-wrap .mwm-wl-note-toggle.has-note {
	opacity: 1;
	color: var(--mwm-wl-primary, #e74c3c);
	background: rgba(255,255,255,.92);
}

.mwm-wl-note-toggle {
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,.85);
	border: none;
	border-radius: 6px;
	color: #adb5bd;
	cursor: pointer;
	transition: color .15s, background .15s;
	padding: 0;
	line-height: 1;
}

.mwm-wl-note-toggle:hover {
	color: var(--mwm-wl-primary, #e74c3c);
	background: rgba(255,255,255,.95);
}

.mwm-wl-note-popover {
	position: absolute;
	top: calc(100% + 4px);
	right: 0;
	left: auto;
	z-index: 100;
	background: #fff;
	border: 1px solid #e2e8ea;
	border-radius: 8px;
	padding: 10px;
	box-shadow: 0 4px 16px rgba(0,0,0,.1);
	min-width: 220px;
}

.mwm-wl-note-input {
	width: 100%;
	border: 1px solid #e2e8ea;
	border-radius: 6px;
	padding: 6px 8px;
	font-size: 13px;
	resize: none;
	font-family: inherit;
}

.mwm-wl-note-input:focus {
	border-color: var(--mwm-wl-primary, #e74c3c);
	outline: none;
}

.mwm-wl-note-saving {
	display: none;
	font-size: 11px;
	color: #aaa;
	margin-top: 4px;
}

/* ── Social proof badge ─────────────────────────────────────── */
.mwm-wl-social-proof {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 13px;
	color: #555;
	margin: 6px 0;
}

.mwm-wl-social-proof__icon {
	color: var(--mwm-wl-primary, #e74c3c);
	font-style: normal;
}

.mwm-wl-social-proof--loop {
	display: block;
	font-size: 11px;
	color: var(--mwm-wl-primary, #e74c3c);
	font-weight: 600;
	margin-top: 4px;
}

/* ==========================================================================
   Gift Registry
   ========================================================================== */

.mwm-wl-registry-panel {
	margin: 16px 0;
	padding: 16px 20px;
	background: var(--mwm-wl-panel-bg, #f8f9ff);
	border: 1px solid var(--mwm-wl-panel-border, #dce2f8);
	border-radius: 10px;
}

.mwm-wl-registry-panel__header {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	font-size: .95rem;
	color: #10195c;
	margin-bottom: 14px;
}

.mwm-wl-registry-panel__icon {
	color: var(--mwm-wl-panel-accent, #3c5fd7);
	display: flex;
	flex-shrink: 0;
}

.mwm-wl-registry-toggle-label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	font-size: .95rem;
	color: #10195c;
	cursor: pointer;
}

.mwm-wl-registry-toggle-label input[type="checkbox"] {
	accent-color: #3c5fd7;
	width: 15px;
	height: 15px;
	cursor: pointer;
}

.mwm-wl-registry-fields {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.mwm-wl-registry-event-name,
.mwm-wl-registry-event-date {
	border: 1px solid var(--mwm-wl-panel-border, #dce2f8);
	border-radius: 6px;
	padding: 7px 10px;
	font-size: .9rem;
	background: #fff;
}

.mwm-wl-registry-event-name {
	flex: 1;
	min-width: 180px;
}

/* ── Registry save button — matches primary style ──────────────── */
.mwm-wl-registry-save.button,
button.mwm-wl-registry-save {
	display: inline-flex !important;
	align-items: center;
	gap: 5px;
	background: var(--mwm-wl-primary, #e74c3c) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--mwm-wl-btn-radius, 6px) !important;
	padding: 7px 16px !important;
	font-size: .9rem !important;
	font-weight: 600 !important;
	cursor: pointer;
	transition: background 0.2s ease;
	box-shadow: none !important;
}

.mwm-wl-registry-save.button:hover,
button.mwm-wl-registry-save:hover {
	background: var(--mwm-wl-primary-dark, #c0392b) !important;
	color: #fff !important;
}

.mwm-wl-registry-purchased {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	font-size: 13px;
	font-weight: 600;
	background: #edfaf0;
	color: #1e7e34;
	border: 1px solid #b6e8c4;
	padding: 10px 16px;
	border-radius: var(--mwm-wl-btn-radius);
}

.mwm-wl-item--purchased {
	opacity: .55;
}

.mwm-wl-gift-btn {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	background: var(--mwm-wl-primary, #e74c3c);
	color: #fff !important;
	border: none;
	border-radius: var(--mwm-wl-btn-radius);
	padding: 10px 16px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	cursor: pointer;
	transition: background .18s ease, transform .1s ease, box-shadow .18s ease;
	box-shadow: 0 2px 6px rgba(231, 76, 60, .28);
	text-decoration: none;
	line-height: 1.4;
}

.mwm-wl-gift-btn:hover {
	background: var(--mwm-wl-primary-dark, #c0392b);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(231, 76, 60, .38);
	color: #fff !important;
}

.mwm-wl-gift-btn:active {
	transform: translateY(0);
	box-shadow: 0 1px 4px rgba(231, 76, 60, .2);
}

.mwm-wl-gift-btn svg {
	flex-shrink: 0;
}

/* ── Sprint 3: Drag & Drop ──────────────────────────────────────────────── */

.mwm-wl-drag-handle {
	position: absolute;
	top: 8px;
	left: 8px;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: grab;
	color: #adb5bd;
	background: rgba(255,255,255,.85);
	border-radius: 6px;
	z-index: 2;
	transition: color .15s, background .15s;
	opacity: 0;
}

.mwm-wishlist-card:hover .mwm-wl-drag-handle {
	opacity: 1;
}

.mwm-wl-drag-handle:active {
	cursor: grabbing;
	color: #495057;
}

.mwm-wishlist-card--ghost {
	opacity: .4 !important;
	background: #f1f3f5;
	border: 2px dashed #adb5bd;
}

.mwm-wishlist-card--chosen {
	box-shadow: 0 8px 24px rgba(0,0,0,.15) !important;
	transform: rotate(1.5deg);
}

/* ── Sprint 3: Move to Cart button ───────────────────────────────────────── */

.mwm-wishlist-card__move.mwm-wishlist-move-to-cart {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	background: transparent;
	color: var(--mwm-wl-primary, #e74c3c);
	border: 1.5px solid var(--mwm-wl-primary, #e74c3c);
	border-radius: var(--mwm-wl-btn-radius);
	padding: 9px 16px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: background .18s ease, color .18s ease, box-shadow .18s ease, transform .1s ease;
	line-height: 1.4;
}

.mwm-wishlist-card__move.mwm-wishlist-move-to-cart:hover {
	background: var(--mwm-wl-primary, #e74c3c);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 4px 10px rgba(231, 76, 60, .28);
}

.mwm-wishlist-card__move.mwm-wishlist-move-to-cart:active {
	transform: translateY(0);
	box-shadow: none;
}


/* ── Collaborator notice banner (shown to accepted collaborators) ─────── */

.mwm-wl-collab-notice {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #f0f4ff;
	border: 1px solid #c5d0f5;
	border-radius: 8px;
	padding: 12px 16px;
	margin-bottom: 20px;
	font-size: 0.92em;
	color: #10195c;
	line-height: 1.5;
}

.mwm-wl-collab-notice svg {
	flex-shrink: 0;
	color: #3c5fd7;
}

.mwm-wl-collab-notice strong {
	font-weight: 600;
}

/* ── Sprint 4: Collaborators panel ──────────────────────────────────────── */

.mwm-wl-collab-panel {
	background: var(--mwm-wl-panel-bg, #f8f9ff);
	border: 1px solid var(--mwm-wl-panel-border, #dce2f8);
	border-radius: 10px;
	padding: 16px 20px;
	margin-bottom: 16px;
}

.mwm-wl-collab-panel__header {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	font-size: .95rem;
	color: #10195c;
	margin-bottom: 14px;
}

.mwm-wl-collab-panel__icon {
	color: var(--mwm-wl-panel-accent, #3c5fd7);
	display: flex;
}

.mwm-wl-collab-list {
	list-style: none;
	margin: 0 0 12px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mwm-wl-collab-item {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #fff;
	border-radius: 8px;
	padding: 8px 12px;
	border: 1px solid #e8ecf8;
}

.mwm-wl-collab-avatar-wrap img,
.mwm-wl-collab-avatar {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	object-fit: cover;
}

.mwm-wl-collab-avatar--pending {
	background: var(--mwm-wl-panel-border, #dce2f8);
	color: var(--mwm-wl-panel-accent, #3c5fd7);
	font-weight: 700;
	font-size: .85rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.mwm-wl-collab-name {
	flex: 1;
	font-size: .9rem;
	font-weight: 500;
	color: #2d2d2d;
}

.mwm-wl-collab-status {
	font-size: .75rem;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 20px;
	background: #fff3e0;
	color: #e65100;
}

.mwm-wl-collab-item.is-accepted .mwm-wl-collab-status {
	background: #e8f5e9;
	color: #2e7d32;
}

.mwm-wl-collab-revoke {
	background: none;
	border: none;
	color: #adb5bd;
	cursor: pointer;
	padding: 2px;
	display: flex;
	transition: color .15s;
}

.mwm-wl-collab-revoke:hover {
	color: #e74c3c;
}

.mwm-wl-collab-invite-wrap {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.mwm-wl-collab-email {
	flex: 1;
	min-width: 180px;
	border: 1px solid var(--mwm-wl-panel-border, #dce2f8);
	border-radius: 6px;
	padding: 8px 12px;
	font-size: .9rem;
}

.mwm-wl-collab-invite-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	border-radius: var(--mwm-wl-btn-radius) !important;
	background: var(--mwm-wl-primary, #e74c3c) !important;
	color: #fff !important;
	border-color: #3c5fd7 !important;
	font-size: .85rem;
}

.mwm-wl-collab-invite-btn:hover {
	background: var(--mwm-wl-primary-dark, #c0392b) !important;
}

.mwm-wl-collab-feedback {
	font-size: .85rem;
	width: 100%;
}

/* ==========================================================================
   Popular Products Shortcode — [mwm_wishlist_popular]
   ========================================================================== */

/* Reset WooCommerce default list styles on our wrapper */
ul.mwm-wishlist-popular.products {
	list-style: none;
	padding: 0;
	margin: 0 0 32px;
}

/* Column grid — mirrors WooCommerce columns-N classes but scoped to our list */
ul.mwm-wishlist-popular.products.columns-2 { --mwm-pop-cols: 2; }
ul.mwm-wishlist-popular.products.columns-3 { --mwm-pop-cols: 3; }
ul.mwm-wishlist-popular.products.columns-4 { --mwm-pop-cols: 4; }
ul.mwm-wishlist-popular.products.columns-5 { --mwm-pop-cols: 5; }
ul.mwm-wishlist-popular.products.columns-6 { --mwm-pop-cols: 6; }

ul.mwm-wishlist-popular.products {
	--mwm-pop-cols: 4;
	display: grid !important;
	grid-template-columns: repeat(var(--mwm-pop-cols), 1fr) !important;
	gap: 24px !important;
	float: none !important;
}

/* Each card — override WooCommerce float-based layout */
li.mwm-wishlist-popular__item.product {
	background: #fff;
	border: 1px solid var(--mwm-wl-card-border, #e9ecef);
	border-radius: var(--mwm-wl-card-radius, 12px);
	overflow: hidden;
	display: flex !important;
	flex-direction: column;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
	position: relative;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

li.mwm-wishlist-popular__item.product:hover {
	box-shadow: var(--mwm-wl-card-shadow, 0 8px 30px rgba(0,0,0,0.09));
	transform: translateY(-3px);
}

/* Image link */
a.mwm-wishlist-popular__link {
	position: relative;
	display: block;
	overflow: hidden;
	background: #f8f9fa;
	aspect-ratio: 1 / 1;
	line-height: 0;
}

a.mwm-wishlist-popular__link img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease;
}

li.mwm-wishlist-popular__item.product:hover a.mwm-wishlist-popular__link img {
	transform: scale(1.04);
}

/* Heart count badge — floats top-right over the image */
.mwm-wishlist-popular__badge {
	position: absolute;
	top: 10px;
	right: 10px;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: rgba(255, 255, 255, 0.93);
	color: var(--mwm-wl-primary, #e74c3c);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	padding: 4px 10px;
	border-radius: 20px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.12);
	backdrop-filter: blur(4px);
	z-index: 1;
}

.mwm-wishlist-popular__badge svg {
	flex-shrink: 0;
}

/* Info block: name + price + wishlist button */
.mwm-wishlist-popular__info {
	padding: 13px 14px 15px;
	display: flex;
	flex-direction: column;
	gap: 5px;
	flex: 1;
}

a.mwm-wishlist-popular__name {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: #1a1a1a !important;
	text-decoration: none !important;
	line-height: 1.35;
	transition: color 0.18s ease;
}

a.mwm-wishlist-popular__name:hover {
	color: var(--mwm-wl-primary, #e74c3c) !important;
	text-decoration: none;
}

.mwm-wishlist-popular__price {
	font-size: 15px;
	font-weight: 700;
	color: #1a1a1a;
	line-height: 1.2;
}

.mwm-wishlist-popular__price del {
	font-weight: 400;
	color: #9ca3af;
	font-size: 12px;
	margin-right: 3px;
}

.mwm-wishlist-popular__price ins {
	text-decoration: none;
	color: var(--mwm-wl-primary, #e74c3c);
}

/* Wishlist button inside popular info — compact */
.mwm-wishlist-popular__info .mwm-wishlist-add-btn-wrapper {
	margin: 4px 0 0;
}

.mwm-wishlist-popular__info .mwm-wishlist-btn {
	font-size: 12.5px;
	padding: 5px 10px;
	color: #888;
}

/* Empty state */
p.mwm-wishlist-popular-empty {
	font-size: 0.9rem;
	color: #9ca3af;
	padding: 20px 0;
	margin: 0;
}

/* Responsive */
@media (max-width: 1024px) {
	ul.mwm-wishlist-popular.products {
		--mwm-pop-cols: 3;
		gap: 16px !important;
	}
}

@media (max-width: 768px) {
	ul.mwm-wishlist-popular.products {
		--mwm-pop-cols: 2;
		gap: 12px !important;
	}
}

@media (max-width: 480px) {
	ul.mwm-wishlist-popular.products {
		gap: 10px !important;
	}

	.mwm-wishlist-popular__info {
		padding: 10px 11px 12px;
	}

	a.mwm-wishlist-popular__name {
		font-size: 13px;
	}

	.mwm-wishlist-popular__price {
		font-size: 13px;
	}
}

/* ==========================================================================
   Wishlist Search Shortcode — [mwm_wishlist_search]
   ========================================================================== */

.mwm-wl-search {
	max-width: 580px;
	margin-bottom: 8px;
}

/* Search bar */
.mwm-wl-search__bar {
	position: relative;
	display: flex;
	align-items: center;
}

.mwm-wl-search__icon {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: #9ca3af;
	pointer-events: none;
	flex-shrink: 0;
	transition: color 0.15s;
}

.mwm-wl-search__bar:focus-within .mwm-wl-search__icon {
	color: var(--mwm-wl-primary, #e74c3c);
}

.mwm-wl-search__input {
	width: 100%;
	padding: 12px 16px 12px 46px;
	border: 1.5px solid #e5e7eb;
	border-radius: 10px;
	font-size: 0.95rem;
	color: #1a1a1a;
	background: #fff;
	transition: border-color 0.15s, box-shadow 0.15s;
	box-shadow: 0 1px 4px rgba(0,0,0,0.04);
	line-height: 1.4;
	height: auto !important;
}

.mwm-wl-search__input:focus {
	outline: none;
	border-color: var(--mwm-wl-primary, #e74c3c);
	box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.1);
}

.mwm-wl-search__input::placeholder {
	color: #9ca3af;
}

/* Results area */
.mwm-wl-search__results {
	margin-top: 8px;
	position: relative;
}

.mwm-wl-search__loading,
.mwm-wl-search__none {
	font-size: 0.88rem;
	color: #9ca3af;
	padding: 10px 4px;
	margin: 0;
}

/* Results list */
.mwm-wl-search__list {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 1.5px solid #e5e7eb;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.mwm-wl-search__item {
	border-bottom: 1px solid #f3f4f6;
}

.mwm-wl-search__item:last-child {
	border-bottom: none;
}

.mwm-wl-search__item a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 13px 16px;
	text-decoration: none;
	color: inherit;
	transition: background 0.12s;
}

.mwm-wl-search__item a:hover {
	background: #faf9f9;
	text-decoration: none;
}

.mwm-wl-search__wl-name {
	font-size: 0.9rem;
	font-weight: 600;
	color: #1a1a1a;
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mwm-wl-search__wl-owner {
	font-size: 0.8rem;
	color: #6b7280;
	white-space: nowrap;
}

.mwm-wl-search__wl-count {
	font-size: 0.75rem;
	color: #9ca3af;
	white-space: nowrap;
	background: #f3f4f6;
	padding: 2px 9px;
	border-radius: 20px;
	font-weight: 500;
	flex-shrink: 0;
}
