/* ==========================================================================
   Third-party shop add-ons, styled to match the theme.
   Currently: ShopEngine (Wishlist, Quick View and Compare buttons + their popups).
   Only applies when those plugins are active; harmless otherwise.
   ========================================================================== */

/* ---------- Card buttons: small round buttons pinned to the product photo ---------- */
ul.products li.product a.se-btn {
	position: absolute; right: 18px; z-index: 5; display: grid; place-items: center; width: 38px; height: 38px; margin: 0; padding: 0; border-radius: 50%;
	background: rgba(255, 255, 255, .94); color: var(--c-heading); box-shadow: var(--shadow-s), inset 0 0 0 1px var(--c-line);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); line-height: 1; text-decoration: none;
	opacity: 0; transform: translateX(10px); transition: opacity .25s var(--ease), transform .25s var(--ease), background .2s, color .2s;
}
ul.products li.product a.se-btn i { display: block; font-size: 16px; line-height: 1; margin: 0; }
ul.products li.product a.shopengine-wishlist { top: 18px; }
ul.products li.product a.shopengine-quickview-trigger { top: 64px; }
ul.products li.product a.shopengine-comparison { top: 110px; }
ul.products li.product:hover a.se-btn, ul.products li.product:focus-within a.se-btn { opacity: 1; transform: none; }
ul.products li.product a.se-btn:hover { background: var(--c-primary); color: #fff; }
ul.products li.product a.se-btn.active, ul.products li.product a.se-btn.added { background: var(--c-accent); color: #fff; }
@media (hover: none), (max-width: 640px) {
	ul.products li.product a.se-btn { opacity: 1; transform: none; width: 34px; height: 34px; right: 14px; }
	ul.products li.product a.shopengine-wishlist { top: 14px; }
	ul.products li.product a.shopengine-quickview-trigger { top: 54px; }
	ul.products li.product a.shopengine-comparison { top: 94px; }
	ul.products li.product a.se-btn i { font-size: 14px; }
}

/* ---------- Popups (Compare, Quick View) ---------- */
.se-blocker, .jquery-modal.blocker { background: rgba(6, 32, 47, .6) !important; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); z-index: 9999 !important; }
.se-modal-wrapper.se-modal, .shopengine-comparison-modal, .shopengine-quick-view-modal {
	width: min(940px, 94vw) !important; max-width: 94vw !important; max-height: 90vh; overflow: auto; padding: clamp(20px, 3vw, 36px) !important;
	border-radius: var(--r-xl) !important; background: #fff !important; box-shadow: var(--shadow-l) !important; font-family: var(--f-body);
}
.se-modal-wrapper a.se-close-modal, .se-modal a.se-close-modal {
	position: absolute; top: 14px; right: 14px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--c-tile) !important;
	color: transparent !important; font-size: 0 !important; box-shadow: inset 0 0 0 1px var(--c-line); text-indent: 0; overflow: hidden;
}
.se-modal-wrapper a.se-close-modal::before { content: "\2715"; font: 600 15px/1 var(--f-head); color: var(--c-heading); }
.se-modal-wrapper a.se-close-modal:hover { background: var(--c-primary) !important; }
.se-modal-wrapper a.se-close-modal:hover::before { color: #fff; }

/* Compare table */
.shopengine-comparison h2 { font: 800 clamp(1.4rem, 3vw, 2rem)/1.15 var(--f-head); letter-spacing: -.03em; text-align: center; color: var(--c-heading); margin: 0 0 22px; }
.shopengine-comparison .comparison-table-wrap { overflow-x: auto; border-radius: var(--r-l); box-shadow: inset 0 0 0 1px var(--c-line); }
.shopengine-comparison table.table { width: 100%; margin: 0; border-collapse: collapse; border: 0; }
.shopengine-comparison table.table th, .shopengine-comparison table.table td { border: 0; border-bottom: 1px solid var(--c-line); padding: 16px 18px; vertical-align: middle; text-align: center; }
.shopengine-comparison table.table tr:last-child th, .shopengine-comparison table.table tr:last-child td { border-bottom: 0; }
.shopengine-comparison table.table th { width: 140px; min-width: 110px; text-align: left; font: 700 11px/1.3 var(--f-head); letter-spacing: .1em; text-transform: uppercase; color: var(--c-text); background: var(--c-surface); white-space: nowrap; }
.shopengine-comparison td.first--row { background: #fff; min-width: 190px; }
.shopengine-comparison td img { display: block; width: 100%; max-width: 190px; height: auto; margin: 6px auto 10px; border-radius: var(--r-m); background: var(--c-tile); mix-blend-mode: multiply; padding: 8px; }
.shopengine-comparison td h4 { margin: 0 0 4px; font: 700 15px/1.3 var(--f-head); color: var(--c-heading); letter-spacing: -.01em; }
.shopengine-comparison td .amount { font: 700 15px var(--f-head); color: var(--c-heading); }
.shopengine-comparison .shopengine-remove-action {
	display: inline-flex; align-items: center; gap: 4px; padding: 5px 11px; border-radius: 999px; background: #fdeeea; color: #b23a26; font: 600 12px var(--f-head); cursor: pointer;
}
.shopengine-comparison .shopengine-remove-action i { font-size: 10px; }
.shopengine-comparison .comparison-add-to-cart { margin-top: 12px; }
.shopengine-comparison a.compare-cart-btn, .shopengine-comparison .button {
	display: inline-flex !important; align-items: center; justify-content: center; padding: 12px 22px !important; border: 0 !important; border-radius: 999px !important; color: #fff !important;
	background: linear-gradient(135deg, var(--c-primary), color-mix(in srgb, var(--c-primary) 70%, #04202f)) !important; font: 600 13px/1.2 var(--f-head) !important;
	letter-spacing: 0 !important; text-transform: none !important; box-shadow: 0 8px 22px -8px color-mix(in srgb, var(--c-primary) 80%, transparent) !important;
}
.se-compare-hint { margin: 16px 0 0; padding: 12px 16px; border-radius: 14px; background: var(--c-soft); color: var(--c-heading); text-align: center; font-size: 14px; }

/* Quick view: show just the essentials */
.shopengine-quick-view-modal .woocommerce div.product { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
.shopengine-quick-view-modal .related, .shopengine-quick-view-modal .upsells, .shopengine-quick-view-modal .woocommerce-tabs, .shopengine-quick-view-modal .product_meta { display: none; }
.shopengine-quick-view-modal .product_title { font-size: 1.5rem; }
@media (max-width: 700px) {
	.shopengine-quick-view-modal .woocommerce div.product { grid-template-columns: 1fr; }
	.shopengine-comparison table.table th { width: 96px; min-width: 96px; padding: 12px 10px; font-size: 10px; }
	.shopengine-comparison td.first--row { min-width: 150px; padding: 12px 10px; }
}

/* Wishlist / compare pages that these plugins create */
.shopengine-wishlist-table, .shopengine-comparison-table { border-radius: var(--r-l); overflow: hidden; }
