.rupu-swatches {
	--rupu-primary: #16D4D0;
	--rupu-accent: #FF5A00;
	--rupu-dark: #101C28;
	--rupu-white: #FFFFFF;
	--rupu-light: #F3F5F6;
	--rupu-border: #D9DEE2;
	--rupu-selected: #16D4D0;
	--rupu-size-desktop: 36px;
	--rupu-size-tablet: 34px;
	--rupu-size-mobile: 32px;
	--rupu-size: var(--rupu-size-desktop);
	--rupu-radius: 50%;
	max-width: 100%;
}
.rupu-ready > select, .rupu-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
.rupu-selected-name { margin: 0 0 10px; color: var(--rupu-dark); font-size: 14px; font-weight: 600; }
.rupu-options { display: flex; flex-wrap: wrap; gap: 8px; padding: 4px; max-width: 100%; }
.variations_form .variations .rupu-swatches button.rupu-option {
	appearance:none !important; position:relative !important; box-sizing:border-box !important; flex:0 0 auto !important;
	margin:0 !important; border:1px solid var(--rupu-border) !important; color:var(--rupu-dark) !important;
	background:var(--rupu-white) !important; box-shadow:none !important; font:inherit !important; font-size:14px !important;
	line-height:1.2 !important; cursor:pointer !important; text-transform:none !important; letter-spacing:normal !important;
	transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}
.variations_form .variations .rupu-swatches button.rupu-option.rupu-color {
	width:var(--rupu-size) !important; min-width:var(--rupu-size) !important; height:var(--rupu-size) !important;
	min-height:0 !important; padding:0 !important; border-radius:var(--rupu-radius) !important; background:var(--rupu-color) !important;
}
.variations_form .variations .rupu-swatches button.rupu-option.rupu-size { min-width:44px !important; min-height:38px !important; padding:8px 14px !important; border-radius:6px !important; max-width:100% !important; overflow-wrap:anywhere !important; }
.variations_form .variations .rupu-swatches button.rupu-option:hover:not(:disabled) { border-color:var(--rupu-primary) !important; }
.variations_form .variations .rupu-swatches button.rupu-option[aria-checked="true"] { outline:2px solid var(--rupu-selected) !important; outline-offset:2px !important; }
.variations_form .variations .rupu-swatches button.rupu-option.rupu-size[aria-checked="true"] { background:var(--rupu-selected) !important; border-color:var(--rupu-selected) !important; color:var(--rupu-white) !important; font-weight:700 !important; }
.variations_form .variations .rupu-swatches button.rupu-option.rupu-color[aria-checked="true"]::after {
	content:'✓' !important; position:absolute !important; right:-4px !important; bottom:-4px !important; width:16px !important; height:16px !important;
	border-radius:50% !important; background:var(--rupu-dark) !important; color:var(--rupu-white) !important; font-size:12px !important; line-height:16px !important; text-align:center !important;
}
.variations_form .variations .rupu-swatches button.rupu-option:focus-visible { outline:3px solid var(--rupu-dark) !important; outline-offset:4px !important; }
.variations_form .variations .rupu-swatches button.rupu-option:disabled { opacity:.35 !important; cursor:not-allowed !important; }
.variations_form .variations .rupu-swatches button.rupu-option:disabled::before { content:'' !important; position:absolute !important; top:50% !important; left:8% !important; width:84% !important; height:2px !important; background:var(--rupu-dark) !important; transform:rotate(-35deg) !important; }
@media (max-width: 1024px) { .rupu-swatches { --rupu-size: var(--rupu-size-tablet); } }
@media (max-width: 767px) { .rupu-swatches { --rupu-size: var(--rupu-size-mobile); } }
@media (prefers-reduced-motion: reduce) { .variations_form .variations .rupu-swatches button.rupu-option { transition:none !important; } }
@media (forced-colors: active) { .variations_form .variations .rupu-swatches button.rupu-option.rupu-color { forced-color-adjust:none !important; } }

/* Keep template button spacing and table stripes out of enhanced rows. */
.variations_form .variations .rupu-swatches .rupu-options {
 display: flex !important; flex-wrap: wrap !important; justify-content: flex-start !important;
 align-items: center !important; gap: 8px !important; padding: 4px !important;
}
.variations_form .variations .rupu-swatches button.rupu-option {
 display: inline-flex !important; align-items: center !important; justify-content: center !important;
 width: auto !important; height: auto !important; float: none !important;
 transform: none !important; text-decoration: none !important;
}
.variations_form .variations .rupu-swatches button.rupu-option.rupu-color {
 width: var(--rupu-size) !important; height: var(--rupu-size) !important;
 max-width: var(--rupu-size) !important; max-height: var(--rupu-size) !important;
}
.variations_form .variations tr.rupu-row > th,
.variations_form .variations tr.rupu-row > td { background: transparent !important; }
.variations_form .variations tr.rupu-row-named > .label { display: none !important; }
.variations_form .variations .rupu-swatches .rupu-selected-name { color: var(--rupu-dark); }
