/* Priority Woo Sync — variations display: real table on desktop, accordion cards on mobile. */

.pwsv{
	--pwsv-border:#e3e3e3;
	--pwsv-head-bg:#f7f7f7;
	--pwsv-accent:var(--e-global-color-primary,#060d27);
	width:100%;
	font-size:15px;
	color:#222;
}

/* ---------- shared field styling (used in table cells AND cards) ---------- */
.pwsv-thumb{width:60px;height:60px;object-fit:contain;display:block;border-radius:6px;}
.pwsv-thumb--empty{width:60px;height:60px;background:#f0f0f0;border-radius:6px;display:inline-block;}

.pwsv-swatch{
	width:20px;height:20px;border-radius:50% !important;display:inline-block;vertical-align:middle;
	border:1px solid rgba(0,0,0,.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);
	margin-inline-end:8px;box-sizing:border-box;flex:0 0 auto;
}
.pwsv-color-name{vertical-align:middle;white-space:nowrap;}
.pwsv-item-name{font-weight:600;line-height:1.35;}
.pwsv-variant{display:inline-flex;align-items:center;min-width:0;}

/* thumbnail = button that opens the variation's gallery (theme/Elementor button styles reset) */
.pwsv-zoom{
	position:relative;display:inline-block;vertical-align:middle;margin:0;
	padding:0 !important;border:0 !important;border-radius:6px !important;
	background:transparent !important;box-shadow:none !important;color:inherit !important;
	width:auto !important;height:auto !important;min-height:0 !important;line-height:0 !important;
	cursor:zoom-in;
}
.pwsv-zoom:hover,.pwsv-zoom:focus{background:transparent !important;}
.pwsv-zoom:focus-visible{outline:2px solid var(--pwsv-accent);outline-offset:2px;}
.pwsv-zoom .pwsv-thumb{transition:transform .15s;}
.pwsv-zoom:hover .pwsv-thumb{transform:scale(1.06);}
.pwsv-zoom-count{
	position:absolute;bottom:-4px;inset-inline-end:-4px;
	min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:9px;
	background:var(--pwsv-accent);color:#fff;border:2px solid #fff;
	font-size:10px;font-weight:700;line-height:14px;text-align:center;
}

/* ---------- gallery lightbox (appended to <body>) ---------- */
html.pwsv-lb-lock,html.pwsv-lb-lock body{overflow:hidden !important;}
.pwsv-lb{
	position:fixed;inset:0;z-index:999999;display:none;
	align-items:center;justify-content:center;
	padding:56px 76px;box-sizing:border-box;
	background:rgba(10,14,40,.94);overscroll-behavior:contain;
}
.pwsv-lb.is-open{display:flex;animation:pwsv-lb-in .18s ease-out;}
@keyframes pwsv-lb-in{from{opacity:0;}to{opacity:1;}}
@media (prefers-reduced-motion:reduce){.pwsv-lb.is-open{animation:none;}}
.pwsv-lb-figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:100%;max-height:100%;}
.pwsv-lb-stage{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;}
.pwsv-lb-img{
	display:block;width:auto;height:auto;
	max-width:min(100%,1100px);max-height:calc(100vh - 170px);max-height:calc(100dvh - 170px);
	object-fit:contain;background:#fff;border-radius:10px;padding:14px;box-sizing:border-box;
	transition:opacity .15s;
}
.pwsv-lb-img.is-loading{opacity:.35;}
.pwsv-lb-caption{display:flex;flex-direction:column;align-items:center;gap:2px;color:#fff;text-align:center;line-height:1.35;font-style:normal;margin:0;}
.pwsv-lb-title{font-size:16px;font-weight:700;}
.pwsv-lb-sub{font-size:13px;color:rgba(255,255,255,.75);}
.pwsv-lb-counter{font-size:12px;color:rgba(255,255,255,.6);margin-top:2px;}
.pwsv-lb-counter:empty,.pwsv-lb-sub:empty,.pwsv-lb-title:empty{display:none;}

.pwsv-lb .pwsv-lb-btn{
	position:absolute;display:block;margin:0;
	width:46px !important;height:46px !important;min-height:0 !important;padding:0 !important;
	border:0 !important;border-radius:50% !important;box-shadow:none !important;
	background:rgba(255,255,255,.14) !important;color:#fff !important;cursor:pointer;
	transition:background .15s;
}
.pwsv-lb .pwsv-lb-btn:hover,.pwsv-lb .pwsv-lb-btn:focus{background:rgba(255,255,255,.28) !important;}
.pwsv-lb .pwsv-lb-btn:focus-visible{outline:2px solid #fff;outline-offset:2px;}
.pwsv-lb-close{top:14px;inset-inline-end:14px;}
.pwsv-lb-close::before,.pwsv-lb-close::after{
	content:"";position:absolute;top:50%;left:50%;width:18px;height:2px;margin:-1px 0 0 -9px;
	background:#fff;border-radius:1px;transform:rotate(45deg);
}
.pwsv-lb-close::after{transform:rotate(-45deg);}
.pwsv-lb-nav{top:50%;margin-top:-23px !important;}
.pwsv-lb-prev{inset-inline-start:16px;}
.pwsv-lb-next{inset-inline-end:16px;}
/* chevrons point along the reading direction: in RTL "next" points left */
.pwsv-lb-nav::before{
	content:"";position:absolute;top:50%;left:50%;width:11px;height:11px;margin:-6px 0 0 -6px;
	border-top:2px solid #fff;border-right:2px solid #fff;box-sizing:border-box;
}
.pwsv-lb-next::before{transform:translateX(2px) rotate(45deg);}
.pwsv-lb-prev::before{transform:translateX(-2px) rotate(-135deg);}
[dir="rtl"] .pwsv-lb-next::before,.rtl .pwsv-lb-next::before{transform:translateX(-2px) rotate(-135deg);}
[dir="rtl"] .pwsv-lb-prev::before,.rtl .pwsv-lb-prev::before{transform:translateX(2px) rotate(45deg);}
.pwsv-lb.is-single .pwsv-lb-nav{display:none;}

@media (max-width:768px){
	.pwsv-lb{padding:62px 12px 84px;}
	.pwsv-lb-img{max-width:100%;max-height:calc(100vh - 220px);max-height:calc(100dvh - 220px);padding:8px;}
	.pwsv-lb-nav{top:auto;bottom:18px;margin-top:0 !important;}
	.pwsv-lb-prev{inset-inline-start:calc(50% - 64px);}
	.pwsv-lb-next{inset-inline-end:calc(50% - 64px);}
}
/* power/non-colour value shown as text in the table (no colour dot) */
.pwsv-value-text{font-weight:600;white-space:nowrap;}

.pwsv-c-price,.pwsv-price{font-weight:700;color:var(--pwsv-accent);white-space:nowrap;}
.pwsv-price del{opacity:.5;font-weight:400;margin-inline-start:4px;}

.pwsv-stock-in{color:#2e7d32;white-space:nowrap;}
.pwsv-stock-out{color:#b3261e;white-space:nowrap;}
.pwsv-stock-low{color:#b26a00;font-weight:600;white-space:nowrap;}

.pwsv-c-docs{text-align:start;}
.pwsv-doc{display:flex;align-items:center;gap:6px;justify-content:flex-start;text-decoration:none;color:var(--pwsv-accent);font-size:14px;}
.pwsv-doc-ico{order:-1;} /* icon first -> sits on the RTL start (right); icons line up across rows */
.pwsv-doc + .pwsv-doc{margin-top:5px;}
.pwsv-doc-ico{width:22px;height:22px;flex:0 0 auto;object-fit:contain;display:inline-block;}
.pwsv-doc-none{color:#aaa;}

.pwsv-cart{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
/* qty stepper + add-to-cart button on ONE row (never let the button drop to a new line) */
.pwsv-cartrow{display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap;}
.pwsv-qty{display:inline-flex;align-items:center;border:1px solid var(--pwsv-border);border-radius:6px;overflow:hidden;}
.pwsv-qminus,.pwsv-qplus{width:30px !important;height:32px !important;border:0 !important;border-radius:0 !important;background:#fff !important;cursor:pointer;font-size:17px;line-height:1;color:#333;padding:0 !important;min-height:0 !important;}
.pwsv-qminus:hover,.pwsv-qplus:hover{background:#f0f0f0 !important;}
.pwsv-qinput{width:40px;height:30px;text-align:center;border:0;border-inline:1px solid var(--pwsv-border);
	-moz-appearance:textfield;appearance:textfield;padding:0;}
.pwsv-qinput::-webkit-inner-spin-button,.pwsv-qinput::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.pwsv-add{
	background:var(--pwsv-accent) !important;color:#fff !important;
	border:0 !important;border-radius:8px !important;
	padding:9px 18px !important;cursor:pointer;font-weight:600;white-space:nowrap;
	width:auto !important;min-height:0 !important;line-height:1.4 !important;transition:filter .15s;
}
.pwsv-add:hover{filter:brightness(1.15);}
.pwsv-add.loading{opacity:.6;pointer-events:none;}
.pwsv-add.done{background:#2e7d32 !important;}
.pwsv-unavailable{color:#b3261e;}
.pwsv-row--out{opacity:.6;}
.pwsv-msg{font-size:13px;margin-top:4px;flex-basis:100%;}
.pwsv-msg.err{color:#b3261e;}

/* ---------- desktop: real table ---------- */
.pwsv-table{
	width:100%;
	border-collapse:collapse;
	background:#fff !important;
	border:0 !important;
}
.pwsv-table th,
.pwsv-table td{
	background:#fff !important;
	border:0 !important;
	vertical-align:middle;
}
.pwsv-table th{
	font-weight:700;
	text-align:start;
	padding:10px 12px;
}
.pwsv-table td{
	padding:12px;
}
.pwsv-c-image{width:80px;}
.pwsv-c-title{min-width:150px;}
.pwsv-table td.pwsv-c-sku{white-space:nowrap;}
.pwsv-c-cart{width:240px;white-space:nowrap;}

.pwsv-cards{display:none;}

/* ---------- archive card swatches ---------- */
.pwsv-card-swatches{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0;}
.pwsv-card-count{font-size:13px;color:#666;}
.pwsv-card-dots{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap;}
.pwsv-card-dot{
	width:20px;height:20px;border-radius:50% !important;
	border:1px solid rgba(0,0,0,.25);display:inline-block;box-sizing:border-box;
	padding:0;margin:0;background-clip:padding-box;cursor:pointer;flex:0 0 auto;
	appearance:none;-webkit-appearance:none;transition:transform .12s,box-shadow .12s;
}
.pwsv-card-dot:hover{transform:scale(1.12);}
.pwsv-card-dot.active{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--e-global-color-primary,#060d27);}
.pwsv-card-more{font-size:12px;color:#666;}
/* non-colour dimension (power/הספק): show the value as a text chip, e.g. 48V-100W */
.pwsv-card-swatches--text .pwsv-card-chips{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;}
.pwsv-card-chip{
	display:inline-block;font-size:12px;line-height:1;padding:4px 8px;border-radius:6px;
	border:1px solid rgba(0,0,0,.15);background:#f3f4f6;color:#111;white-space:nowrap;
	cursor:pointer;transition:background .12s,border-color .12s,box-shadow .12s;
}
.pwsv-card-chip:hover{background:#e5e7eb;}
.pwsv-card-chip.active{
	background:var(--e-global-color-primary,#060d27);color:#fff;border-color:var(--e-global-color-primary,#060d27);
}
.pwsv-swatches--select .pwsv-card-chip{font-size:13px;padding:6px 12px;}

/* larger, clearly-clickable swatches when used as a selector on the single product */
.pwsv-swatches--select .pwsv-card-dot{width:30px;height:30px;}

/* the swatches replace the native colour dropdown of the form they drive */
.pwsv-driven .variations{display:none !important;}
.pwsv-driven .variations + .single_variation_wrap{margin-top:0;}

/* Anti-flash: hide the native variation dropdown IMMEDIATELY (before the JS adds .pwsv-driven)
   on any page that renders our swatch selector, so it never appears on load. */
body:has(.pwsv-card-swatches) form.variations_form .variations,
body:has(.pwsv-table) form.variations_form .variations{display:none !important;}

/* ---------- mobile: accordion cards ---------- */
@media (max-width:768px){
	.pwsv-table{display:none;}
	.pwsv-cards{display:block;}

	.pwsv-card{
		border:1px solid var(--pwsv-border);
		border-radius:10px;
		margin-bottom:10px;
		overflow:hidden;
	}

	.pwsv-card-head{
		display:flex;align-items:center;gap:10px;
		padding:10px 12px;cursor:pointer;
	}
	.pwsv-card-head .pwsv-image{flex:0 0 auto;}
	/* item name on top, a thin divider, then the colour / power value */
	.pwsv-card-head .pwsv-color{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:4px;}
	.pwsv-card-head .pwsv-item-name{font-size:14px;padding-bottom:4px;border-bottom:1px solid var(--pwsv-border);overflow-wrap:anywhere;}
	.pwsv-card-head .pwsv-variant{display:flex;}
	.pwsv-card-head .pwsv-color-name{white-space:normal;color:#555;font-size:14px;}
	.pwsv-card-head .pwsv-price{flex:0 0 auto;}
	.pwsv-card-head .pwsv-thumb,.pwsv-card-head .pwsv-thumb--empty{width:46px;height:46px;}

	.pwsv-toggle{
		flex:0 0 auto;margin-inline-start:auto;
		width:28px !important;height:28px !important;border:1px solid var(--pwsv-border) !important;border-radius:50% !important;
		background:#fff !important;cursor:pointer;position:relative;padding:0 !important;min-height:0 !important;
	}
	.pwsv-toggle::before{
		content:"";position:absolute;inset:0;margin:auto;width:8px;height:8px;
		border-right:2px solid #555;border-bottom:2px solid #555;
		transform:translateY(-2px) rotate(45deg);transition:transform .2s;
	}
	.pwsv-card.open .pwsv-toggle::before{transform:translateY(2px) rotate(-135deg);}

	.pwsv-card-body{display:none;padding:0 12px 12px;border-top:1px dashed var(--pwsv-border);}
	.pwsv-card.open .pwsv-card-body{display:block;}

	.pwsv-card-body .pwsv-cell{
		display:flex;justify-content:space-between;align-items:center;gap:10px;
		padding:8px 0;border-bottom:1px solid #f0f0f0;
	}
	.pwsv-card-body .pwsv-cell:last-child{border-bottom:0;}
	.pwsv-card-body .pwsv-cell[data-label]::before{
		content:attr(data-label);font-weight:700;color:#555;
	}
	.pwsv-card-body .pwsv-cart{justify-content:flex-end;}
}
