:root{--spw-accent:#111;--spw-active:#e64b5d;--spw-radius:4px}.spw-button{appearance:none!important;-webkit-appearance:none!important;display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 13px!important;margin:8px 0;border:1px solid currentColor!important;border-radius:var(--spw-radius)!important;background:transparent!important;color:var(--spw-accent)!important;font:inherit!important;font-size:14px!important;font-weight:600!important;line-height:1.2!important;text-transform:none!important;letter-spacing:0!important;box-shadow:none!important;cursor:pointer;position:relative;z-index:2;transition:color .2s,background .2s,transform .2s,opacity .2s}.spw-button:hover{transform:translateY(-1px)}.spw-button.is-active{color:var(--spw-active)!important}.spw-button.is-loading{opacity:.55;pointer-events:none}.spw-button .spw-icon{width:19px;height:19px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.spw-button.is-active .spw-icon{fill:currentColor}.spw-custom-icon{width:19px;height:19px;object-fit:contain}.spw-type-icon,.spw-type-tooltip,.spw-button.is-overlay{width:40px;height:40px;min-height:40px;padding:0!important;border-radius:999px!important;background:#fff!important;border-color:rgba(0,0,0,.12)!important;box-shadow:0 3px 14px rgba(0,0,0,.12)!important}.spw-tooltip{visibility:hidden;opacity:0;position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%);white-space:nowrap;padding:6px 9px;border-radius:4px;background:#111;color:#fff;font-size:12px;transition:.2s}.spw-type-tooltip:hover .spw-tooltip{visibility:visible;opacity:1}.spw-product-count{font-size:11px;min-width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:currentColor;color:#fff}.spw-loop-overlay{position:absolute!important;top:12px;right:12px;z-index:12;line-height:1}.products li.product,.woocommerce ul.products li.product,.nectar-woo-flickity .flickity-slider>.product,.product-wrap{position:relative}.spw-loop-overlay .spw-button{margin:0}.spw-counter{display:inline-flex;align-items:center;gap:6px;position:relative;text-decoration:none!important}.spw-counter .spw-icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}.spw-counter-number{min-width:18px;height:18px;border-radius:999px;background:var(--spw-active);color:#fff;font-size:11px;line-height:18px;text-align:center}.spw-mini{position:absolute;right:0;top:100%;width:310px;background:#fff;color:#222;padding:15px;border-radius:8px;box-shadow:0 8px 35px rgba(0,0,0,.16);opacity:0;visibility:hidden;transform:translateY(7px);transition:.2s;z-index:99999}.spw-counter:hover+.spw-mini,.spw-mini:hover{opacity:1;visibility:visible;transform:none}.spw-mini ul{list-style:none;margin:0 0 12px;padding:0}.spw-mini li a{display:flex;align-items:center;gap:10px;padding:7px 0}.spw-mini img{width:48px;height:48px;object-fit:cover}.spw-shell{--spw-border:#e5e5e5;--spw-muted:#747474}.spw-manager{margin-bottom:28px;overflow-x:auto}.spw-manager-tabs{display:flex;align-items:center;gap:8px;min-width:max-content;padding-bottom:4px}.spw-manager-tab,.spw-new-list{appearance:none;border:1px solid var(--spw-border);background:#fff;border-radius:999px;padding:9px 15px;color:inherit;text-decoration:none;font:inherit;cursor:pointer}.spw-manager-tab span{display:inline-flex;align-items:center;justify-content:center;margin-left:7px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#f1f1f1;font-size:11px}.spw-manager-tab.is-default{border-color:var(--spw-accent)}.spw-list-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.spw-list-header h2{margin:0 0 8px}.spw-privacy{display:inline-block;padding:4px 8px;border-radius:999px;background:#f2f2f2;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.spw-list-actions,.spw-footer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.spw-secondary,.spw-link,.spw-danger{appearance:none;background:transparent;border:0;border-bottom:1px solid currentColor;padding:4px 0;color:inherit;font:inherit;cursor:pointer}.spw-danger{color:#b32d2e}.spw-table-wrap{overflow-x:auto}.spw-table{width:100%;border-collapse:collapse}.spw-table th,.spw-table td{padding:13px 10px;vertical-align:middle}.spw-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em}.spw-product-image{width:90px}.spw-product-image img{width:75px;height:auto;border-radius:4px}.spw-product-name>a{font-weight:600}.spw-col-sort,.spw-col-select{width:32px;text-align:center}.spw-drag{cursor:grab;font-size:18px;color:#999}.spw-qty{width:72px!important;min-width:72px;padding:7px!important}.spw-row-action{white-space:nowrap}.spw-row-action .button{margin:0 5px 0 0!important}.spw-remove{appearance:none;border:0;background:transparent;color:#999;font-size:24px;line-height:1;cursor:pointer}.spw-item-meta{display:grid;grid-template-columns:max-content 1fr;gap:2px 7px;margin:7px 0 0;font-size:12px;color:var(--spw-muted)}.spw-item-meta dt,.spw-item-meta dd{margin:0}.spw-list-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;border-top:1px solid var(--spw-border)}.spw-list-total{font-size:18px}.spw-share{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:18px 0;border-top:1px solid var(--spw-border)}.spw-follow-form{padding:22px;background:#f7f7f7;border-radius:8px;margin-top:22px}.spw-follow-form h3{margin-top:0}.spw-follow-form>div{display:flex;gap:8px}.spw-follow-form input{flex:1}.spw-empty{text-align:center;padding:55px 25px;border:1px dashed var(--spw-border);border-radius:8px}.spw-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.spw-public-card{display:block;padding:22px;border:1px solid #e5e5e5;border-radius:8px;text-decoration:none}.spw-public-card h3{margin:0 0 8px}.spw-modal{position:fixed;inset:0;z-index:100000;display:none}.spw-modal.is-open{display:block}.spw-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}.spw-modal-dialog{position:relative;width:min(520px,calc(100% - 30px));max-height:calc(100vh - 40px);overflow:auto;margin:20px auto;background:#fff;color:#222;border-radius:10px;padding:28px;box-shadow:0 18px 70px rgba(0,0,0,.3)}.spw-modal-close{position:absolute;right:12px;top:9px;border:0;background:transparent;font-size:28px;cursor:pointer}.spw-modal-panel{display:none}.spw-modal-panel.is-active{display:block}.spw-modal-panel h3{margin-top:0}.spw-modal-panel label{display:block;margin:14px 0 6px;font-weight:600}.spw-modal-panel input[type=text],.spw-modal-panel input[type=email],.spw-modal-panel select,.spw-modal-panel textarea{width:100%;margin-top:5px}.spw-list-choices{display:grid;gap:8px;margin:15px 0}.spw-list-choices button{appearance:none;text-align:left;border:1px solid #ddd;border-radius:6px;background:#fff;padding:12px;cursor:pointer}.spw-modal-actions{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.spw-modal-open{overflow:hidden}.spw-toast{position:fixed;right:22px;bottom:22px;z-index:100001;max-width:360px;padding:12px 17px;background:#111;color:#fff;border-radius:6px;box-shadow:0 8px 30px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.spw-toast.is-visible{opacity:1;visibility:visible;transform:none}.spw-toast.is-error{background:#b32d2e}.spw-skin-soft .spw-button{background:#f6f2f2!important;border-color:transparent!important}.spw-skin-minimal .spw-button{border:0!important;padding-left:0!important;padding-right:0!important}.spw-skin-dark{--spw-border:#3c3c3c;--spw-muted:#aaa;background:#181818;color:#fff;padding:22px;border-radius:8px}.spw-skin-dark .spw-manager-tab,.spw-skin-dark .spw-new-list{background:#222;border-color:#444}.spw-skin-dark .spw-privacy{background:#333}.spw-skin-clean .spw-table{border:1px solid var(--spw-border)}
/* Salient compatibility: preserve overlay controls through Nectar hover transforms and AJAX quick view. */
.nectar-quick-view-box .spw-button,.nectar-quick-view-content .spw-button{z-index:100}.woocommerce .products .product:hover .spw-loop-overlay{transform:none!important;opacity:1!important}.products[data-product-style] .spw-loop-overlay{pointer-events:auto}.products[data-product-style] .spw-loop-overlay .spw-button{pointer-events:auto}.nectar-woo-flickity .spw-loop-overlay{top:10px;right:10px}.woocommerce-cart-form .spw-button{margin:8px 0 0!important;font-size:12px!important;min-height:32px;padding:6px 9px!important}
@media(max-width:768px){.spw-list-header,.spw-list-footer{align-items:stretch;flex-direction:column}.spw-table thead{display:none}.spw-table,.spw-table tbody,.spw-table tr,.spw-table td{display:block;width:100%}.spw-table tr{position:relative;padding:12px 0;border-bottom:1px solid var(--spw-border)}.spw-table td{display:flex;justify-content:space-between;gap:15px;border:0!important;padding:7px 5px!important;text-align:right!important}.spw-table td:before{content:attr(data-title);font-weight:600;text-align:left}.spw-table .spw-product-image{display:block;text-align:left!important}.spw-table .spw-product-image:before,.spw-table .spw-col-select:before{display:none}.spw-table .spw-product-name{text-align:left!important;display:block}.spw-table .spw-product-name:before{display:none}.spw-col-sort{position:absolute;right:0;top:6px;width:auto!important}.spw-row-action{align-items:center}.spw-public-grid{grid-template-columns:1fr}.spw-follow-form>div{flex-direction:column}.spw-loop-overlay{top:7px;right:7px}.spw-type-icon,.spw-type-tooltip,.spw-button.is-overlay{width:36px;height:36px;min-height:36px}}

/* 1.1.0: reliable Salient header, cleaner heart and fallback product controls. */
.spw-heart-icon {
	display: inline-grid;
	width: 22px;
	height: 22px;
	place-items: center;
	flex: 0 0 22px;
	line-height: 1;
}
.spw-heart-icon .spw-iconsmind-heart {
	display: none;
	font-size: 21px;
	font-style: normal;
	line-height: 1;
}
.spw-heart-icon .spw-heart-svg {
	display: block;
	width: 21px;
	height: 21px;
	fill: transparent;
	stroke: currentColor;
	stroke-width: 1.65;
	stroke-linecap: round;
	stroke-linejoin: round;
	overflow: visible;
}
.spw-iconsmind-ready .spw-heart-icon .spw-iconsmind-heart {
	display: block;
}
.spw-iconsmind-ready .spw-heart-icon .spw-heart-svg {
	display: none;
}
.spw-button.is-active .spw-heart-svg,
.spw-counter.has-items .spw-heart-svg,
.spw-heart-icon.is-active .spw-heart-svg {
	fill: currentColor;
}
.spw-button.is-active .spw-iconsmind-heart,
.spw-counter.has-items .spw-iconsmind-heart,
.spw-heart-icon.is-active .spw-iconsmind-heart {
	color: var(--spw-active);
}
.spw-button.is-overlay .spw-heart-icon,
.spw-type-icon .spw-heart-icon,
.spw-counter .spw-heart-icon {
	margin: 0;
}
.spw-fallback-anchor {
	position: relative !important;
}
.spw-loop-fallback {
	pointer-events: auto;
}

/* Single product: use a proper Salient-style text button rather than an icon control. */
.single-product .spw-single-button {
	min-height: 46px;
	margin: 14px 0 0 !important;
	padding: 12px 21px !important;
	border: 1px solid var(--spw-accent) !important;
	border-radius: var(--spw-radius) !important;
	background: var(--spw-accent) !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-align: center;
}
.single-product .spw-single-button:hover,
.single-product .spw-single-button:focus-visible {
	background: transparent !important;
	color: var(--spw-accent) !important;
	transform: translateY(-1px);
}
.single-product .spw-single-button.is-active {
	border-color: var(--spw-active) !important;
	background: var(--spw-active) !important;
	color: #fff !important;
}
.single-product .spw-single-button.is-active:hover,
.single-product .spw-single-button.is-active:focus-visible {
	background: transparent !important;
	color: var(--spw-active) !important;
}

/* Dedicated Salient header control. This no longer depends on a menu-location checkbox. */
#header-outer header#top nav > ul > li.spw-salient-header-item,
#header-outer header#top nav > ul > li.spw-menu-counter {
	display: flex !important;
	align-items: center;
	position: relative;
}
#header-outer header#top nav > ul > li.spw-salient-header-item > .spw-counter,
#header-outer header#top nav > ul > li.spw-menu-counter > .spw-counter {
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 100%;
	padding: 0 10px;
	color: inherit;
	line-height: 1;
	text-decoration: none !important;
}
#header-outer .spw-salient-header-item .spw-counter-number,
#header-outer .spw-menu-counter .spw-counter-number {
	position: absolute;
	top: calc(50% - 19px);
	right: 2px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border: 2px solid #fff;
	font-size: 9px;
	font-weight: 700;
	line-height: 12px;
}
#header-outer.transparent .spw-salient-header-item .spw-counter,
#header-outer.transparent .spw-menu-counter .spw-counter {
	color: inherit;
}
#header-outer .spw-salient-header-item .spw-counter:hover,
#header-outer .spw-menu-counter .spw-counter:hover {
	color: var(--spw-active);
}

/* Keep the loop heart clean even when the global button style includes text. */
.spw-loop-overlay .spw-button-text,
.spw-loop-overlay .spw-tooltip {
	display: none !important;
}
.spw-loop-overlay .spw-button {
	color: #222 !important;
}
.spw-loop-overlay .spw-button:hover,
.spw-loop-overlay .spw-button.is-active {
	color: var(--spw-active) !important;
}

@media (max-width: 999px) {
	#header-outer header#top nav > ul > li.spw-salient-header-item,
	#header-outer header#top nav > ul > li.spw-menu-counter {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	#header-outer header#top nav > ul > li.spw-salient-header-item > .spw-counter,
	#header-outer header#top nav > ul > li.spw-menu-counter > .spw-counter {
		min-width: 38px;
		padding: 0 7px;
	}
}

/* Hide an empty header badge; JavaScript toggles has-items after AJAX updates. */
.spw-counter:not(.has-items) .spw-counter-number {
	display: none !important;
}

/* 1.1.1: font-independent, high-contrast wishlist hearts. */
.spw-heart-icon .spw-iconsmind-heart,
.spw-iconsmind-ready .spw-heart-icon .spw-iconsmind-heart {
	display: none !important;
}
.spw-heart-icon .spw-heart-svg,
.spw-iconsmind-ready .spw-heart-icon .spw-heart-svg {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 21px !important;
	height: 21px !important;
	color: #343f64 !important;
	fill: transparent !important;
	stroke: #343f64 !important;
	stroke-width: 1.9 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}
.spw-button.is-active .spw-heart-svg,
.spw-counter.has-items .spw-heart-svg,
.spw-heart-icon.is-active .spw-heart-svg {
	color: var(--spw-active) !important;
	fill: var(--spw-active) !important;
	stroke: var(--spw-active) !important;
}

/* Catalogue and single-product image controls use the same visible white circle. */
.spw-loop-overlay .spw-button,
.spw-single-image-overlay .spw-button {
	width: 42px !important;
	height: 42px !important;
	min-width: 42px !important;
	min-height: 42px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(52, 63, 100, .18) !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: #343f64 !important;
	box-shadow: 0 4px 16px rgba(25, 34, 66, .16) !important;
	visibility: visible !important;
	opacity: 1 !important;
}
.spw-loop-overlay .spw-button:hover,
.spw-single-image-overlay .spw-button:hover {
	transform: translateY(-1px) scale(1.03) !important;
	border-color: rgba(52, 63, 100, .35) !important;
	background: #fff !important;
}
.spw-loop-overlay .spw-button.is-active,
.spw-single-image-overlay .spw-button.is-active {
	background: #fff !important;
	color: var(--spw-active) !important;
}

/* Single product: place the heart over the top-right corner of the main gallery. */
.spw-single-gallery-anchor {
	position: relative !important;
}
.spw-single-image-overlay {
	position: absolute !important;
	top: 16px !important;
	right: 16px !important;
	z-index: 1005 !important;
	display: block;
	width: 42px;
	height: 42px;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1;
	pointer-events: auto !important;
}
.spw-single-overlay-source {
	display: none !important;
}
.single-product .spw-single-image-overlay .spw-single-button {
	width: 42px !important;
	height: 42px !important;
	min-width: 42px !important;
	min-height: 42px !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: #343f64 !important;
}
.single-product .spw-single-image-overlay .spw-single-button:hover,
.single-product .spw-single-image-overlay .spw-single-button:focus-visible,
.single-product .spw-single-image-overlay .spw-single-button.is-active,
.single-product .spw-single-image-overlay .spw-single-button.is-active:hover,
.single-product .spw-single-image-overlay .spw-single-button.is-active:focus-visible {
	background: #fff !important;
	color: var(--spw-active) !important;
}

/* Header: keep the heart visible against light, transparent or coloured Salient headers. */
#header-outer .spw-salient-header-item .spw-counter .spw-heart-icon,
#header-outer .spw-menu-counter .spw-counter .spw-heart-icon {
	display: inline-grid !important;
	width: 34px !important;
	height: 34px !important;
	place-items: center !important;
	border: 1px solid rgba(52, 63, 100, .16);
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 2px 10px rgba(25, 34, 66, .12);
	visibility: visible !important;
	opacity: 1 !important;
}
#header-outer .spw-salient-header-item .spw-counter .spw-heart-svg,
#header-outer .spw-menu-counter .spw-counter .spw-heart-svg {
	width: 19px !important;
	height: 19px !important;
	color: #343f64 !important;
	stroke: #343f64 !important;
}
#header-outer .spw-salient-header-item .spw-counter.has-items .spw-heart-svg,
#header-outer .spw-menu-counter .spw-counter.has-items .spw-heart-svg {
	color: var(--spw-active) !important;
	fill: var(--spw-active) !important;
	stroke: var(--spw-active) !important;
}

@media (max-width: 768px) {
	.spw-single-image-overlay {
		top: 10px !important;
		right: 10px !important;
	}
	.spw-loop-overlay .spw-button,
	.spw-single-image-overlay .spw-button,
	.single-product .spw-single-image-overlay .spw-single-button {
		width: 38px !important;
		height: 38px !important;
		min-width: 38px !important;
		min-height: 38px !important;
	}
}
