/* Xenix Custom Sizer. Scoped so TeeSpace and other option plugins keep their own styles. */
.xcs {
	--xcs-accent: #d9141d;
	--xcs-accent-dk: #b00f17;
	--xcs-accent-bg: #fdecec;
	--xcs-ink: #16181d;
	--xcs-ink-2: #3a3f47;
	--xcs-muted: #6b7280;
	--xcs-line: #e4e6ea;
	--xcs-bg: #f5f5f6;
	--xcs-ok: #0f8a5f;
	--xcs-ok-bg: #e8f6f0;
	--xcs-warn: #9a5b00;
	--xcs-warn-bg: #fff5e0;
	--xcs-err: #c0141b;
	--xcs-err-bg: #fdecec;
	--xcs-r: 14px;
	container-type: inline-size;
	color: var(--xcs-ink);
	font: 15px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	margin: 8px 0 18px;
}
.xcs *,
.xcs *::before,
.xcs *::after { box-sizing: border-box; }
.xcs button,
.xcs input,
.xcs textarea { font: inherit; color: inherit; }
.xcs button { cursor: pointer; }
.xcs h2 { font-size: 18px; margin: 0; letter-spacing: -0.015em; }

.xcs-pane[data-xcs-pane="design"] .xcs-tools,
.xcs-pane[data-xcs-pane="design"] .xcs-stage,
.xcs-pane[data-xcs-pane="design"] .xcs-legend,
.xcs-pane[data-xcs-pane="design"] .xcs-layouts { display: none !important; }
.xcs-choice { margin: 0 0 12px; }
.xcs-choice-note { margin: 0 0 8px; font-size: 13px; color: var(--xcs-ink-2); }

.xcs-pricebar {
	--xcs-accent: #d9141d;
	--xcs-accent-dk: #b00f17;
	--xcs-ink: #16181d;
	--xcs-muted: #6b7280;
	--xcs-line: #e4e6ea;
	--xcs-warn: #9a5b00;
	--xcs-r: 14px;
	position: sticky;
	top: 0;
	z-index: 30;
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid var(--xcs-line);
	border-radius: var(--xcs-r);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	margin-bottom: 14px;
	color: var(--xcs-ink);
	font: 15px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
.xcs-pricebar-in { display: flex; align-items: center; gap: 10px; padding: 10px 12px; }
.xcs-pb-info { min-width: 0; flex: 1; }
.xcs-pb-what { font-size: 12px; color: var(--xcs-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.xcs-pb-price { font-size: 24px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; }
.xcs-pb-min { font-size: 11.5px; color: var(--xcs-warn); font-weight: 600; }

.xcs-btn {
	border: 0;
	border-radius: 11px;
	padding: 12px 18px;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.2;
}
.xcs-btn-acc { background: var(--xcs-accent); color: #fff; box-shadow: 0 2px 0 var(--xcs-accent-dk); }
.xcs-btn-acc:hover { background: var(--xcs-accent-dk); color: #fff; }
.xcs-btn-acc:disabled { background: #c9ccd2; box-shadow: none; cursor: not-allowed; }
.xcs-btn-ghost { background: #fff; border: 1.5px solid var(--xcs-line); color: var(--xcs-ink); }
.xcs-btn-sm { padding: 7px 11px; font-size: 13px; border-radius: 9px; }
.xcs-btn-block { width: 100%; padding: 15px; font-size: 16px; }

.xcs-card {
	background: #fff;
	border: 1px solid var(--xcs-line);
	border-radius: var(--xcs-r);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), 0 4px 16px rgba(0, 0, 0, 0.05);
	padding: 18px 16px;
	margin-bottom: 14px;
}
.xcs-step-h { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; }
.xcs-step-n {
	width: 26px; height: 26px; border-radius: 50%; background: var(--xcs-ink); color: #fff;
	font-size: 13px; font-weight: 800; display: grid; place-items: center; flex: none;
}
.xcs-hint { margin-left: auto; font-size: 12px; color: var(--xcs-muted); }

.xcs-wh { display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; align-items: end; }
.xcs-x { padding-bottom: 16px; color: var(--xcs-muted); font-weight: 700; }
.xcs-fld label, .xcs-qty label, .xcs label[for="xcs-brief"], .xcs label[for="xcs-back"] {
	display: block; font-size: 13px; font-weight: 700; margin-bottom: 6px;
}
.xcs-inp {
	display: flex; align-items: center; border: 1.5px solid #d4d7dc; border-radius: 11px; background: #fff; overflow: hidden;
}
.xcs-inp:focus-within { border-color: var(--xcs-ink); box-shadow: 0 0 0 3px rgba(22, 24, 29, 0.08); }
.xcs-inp.is-bad { border-color: var(--xcs-err); box-shadow: 0 0 0 3px var(--xcs-err-bg); }
.xcs-inp input {
	border: 0; outline: 0; width: 100%; min-width: 0; padding: 12px 10px 12px 12px;
	font-size: 22px; font-weight: 700; letter-spacing: -0.01em; background: transparent; box-shadow: none;
}
.xcs-u { padding: 0 4px; color: var(--xcs-muted); font-weight: 700; }
.xcs-stp { display: flex; flex: 0 0 36px; flex-direction: column; width: 36px; border-left: 1px solid var(--xcs-line); }
.xcs-stp [data-xcs-step] {
	display: flex; align-items: center; justify-content: center; box-sizing: border-box;
	width: 36px; height: 28px; margin: 0; padding: 0; border: 0; background: #fafafa;
	font-size: 16px; font-weight: 700; line-height: 1; color: var(--xcs-ink-2); cursor: pointer; user-select: none;
}
.xcs-stp [data-xcs-step] + [data-xcs-step] { border-top: 1px solid var(--xcs-line); }

.xcs-readout {
	margin-top: 12px; background: var(--xcs-bg); border-radius: 11px; padding: 10px 12px;
	display: flex; flex-wrap: wrap; gap: 4px 14px; align-items: baseline;
}
.xcs-big { font-size: 17px; font-weight: 800; }
.xcs-sq { margin-left: auto; }
.xcs-sm, .xcs-limits, .xcs-cust { font-size: 12.5px; color: var(--xcs-muted); }
.xcs-limits { margin-top: 8px; }
.xcs-msg { margin-top: 10px; border-radius: 11px; padding: 10px 12px; font-size: 13.5px; display: flex; gap: 9px; align-items: flex-start; }
.xcs-ico { flex: none; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 900; color: #fff; }
.xcs-msg-err { background: var(--xcs-err-bg); color: #7a0d11; }
.xcs-msg-err .xcs-ico { background: var(--xcs-err); }
.xcs-msg-warn { background: var(--xcs-warn-bg); color: #5c3700; }
.xcs-msg-warn .xcs-ico { background: #d98b00; }
.xcs-msg-ok { background: var(--xcs-ok-bg); color: #0b5a3f; }
.xcs-msg-ok .xcs-ico { background: var(--xcs-ok); }
.xcs-msg-info { background: #eef2f8; color: #1f3550; }
.xcs-msg-info .xcs-ico { background: #3a5a86; }

.xcs-presets, .xcs-layouts { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 12px; align-items: center; }
.xcs-lbl { font-size: 12px; color: var(--xcs-muted); font-weight: 600; }
.xcs-chip {
	border: 1.5px solid var(--xcs-line); background: #fff; border-radius: 999px; padding: 5px 11px; font-size: 13px; font-weight: 600;
}
.xcs-chip.is-on { border-color: var(--xcs-ink); background: var(--xcs-ink); color: #fff; }

.xcs-fixed { display: flex; align-items: center; gap: 12px; background: var(--xcs-bg); border-radius: 11px; padding: 12px; }
.xcs-fixed .xcs-big { font-size: 20px; }
.xcs-lock {
	margin-left: auto; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
	color: var(--xcs-muted); border: 1px solid var(--xcs-line); border-radius: 6px; padding: 2px 6px; background: #fff;
}
.xcs-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 10px; }
.xcs-seg button { border: 1.5px solid var(--xcs-line); background: #fff; border-radius: 12px; padding: 12px; text-align: left; }
.xcs-seg button b { display: block; }
.xcs-seg button span { font-size: 12.5px; color: var(--xcs-muted); }
.xcs-seg button[aria-pressed="true"] { border-color: var(--xcs-accent); box-shadow: 0 0 0 3px var(--xcs-accent-bg); }

.xcs-opts { display: grid; gap: 8px; }
.xcs-opt {
	display: flex; align-items: center; gap: 12px; border: 1.5px solid var(--xcs-line); border-radius: 12px;
	padding: 12px; background: #fff; cursor: pointer;
}
.xcs-opt:has(input:checked) { border-color: var(--xcs-ink); background: #fafafa; }
.xcs-opt.is-dis { opacity: 0.5; cursor: not-allowed; }
.xcs-opt input { width: 20px; height: 20px; accent-color: var(--xcs-accent); flex: none; margin: 0; }
.xcs-t { flex: 1; }
.xcs-t b { display: block; font-size: 14.5px; }
.xcs-t span { font-size: 12.5px; color: var(--xcs-muted); }
.xcs-p { font-weight: 800; font-size: 14px; white-space: nowrap; }
.xcs-p.is-free { color: var(--xcs-ok); }
.xcs-incl {
	display: flex; align-items: center; gap: 10px; background: var(--xcs-ok-bg); color: #0b5a3f;
	border-radius: 12px; padding: 12px; font-size: 14px; margin-bottom: 8px;
}
.xcs-qty { display: flex; align-items: center; gap: 12px; margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--xcs-line); }
.xcs-qty label { flex: 1; margin: 0; }
.xcs-qty label span { display: block; font-weight: 500; color: var(--xcs-muted); font-size: 12px; }
.xcs-qbox { display: flex; align-items: center; border: 1.5px solid #d4d7dc; border-radius: 11px; overflow: hidden; }
.xcs-qbox button { border: 0; background: #fafafa; width: 44px; height: 44px; font-size: 20px; }
.xcs-qbox input { width: 46px; border: 0; text-align: center; font-weight: 800; font-size: 16px; outline: 0; box-shadow: none; background: #fff; }

.xcs-art-choices { display: grid; gap: 8px; }
.xcs-art {
	display: flex; gap: 12px; align-items: center; text-align: left; border: 1.5px solid var(--xcs-line);
	background: #fff; border-radius: 12px; padding: 12px; width: 100%;
}
.xcs-art[aria-pressed="true"] { border-color: var(--xcs-accent); box-shadow: 0 0 0 3px var(--xcs-accent-bg); }
.xcs-aic {
	width: 40px; height: 40px; border-radius: 10px; background: var(--xcs-bg); display: grid; place-items: center;
	flex: none; color: var(--xcs-accent); font-weight: 800;
}
.xcs-art[aria-pressed="true"] .xcs-aic { background: var(--xcs-accent-bg); }
.xcs-pane { margin-top: 14px; }
.xcs-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 10px; }
.xcs-tools input[type="text"] { flex: 1 1 180px; min-width: 0; border: 1.5px solid #d4d7dc; border-radius: 9px; padding: 7px 10px; }
.xcs-tools input[type="range"] { flex: 1 1 120px; }
.xcs-sw {
	width: 26px; height: 26px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1.5px var(--xcs-line); padding: 0;
}
.xcs-sw.is-on { box-shadow: 0 0 0 2px var(--xcs-ink); }
.xcs-stage {
	background: repeating-conic-gradient(#eceef1 0 25%, #f6f7f8 0 50%) 0 0 / 16px 16px;
	border-radius: 12px; padding: 30px 16px 34px 36px; display: flex; justify-content: center; align-items: center;
	min-height: 260px; position: relative; overflow: hidden;
}
.xcs-canvas-wrap { position: relative; }
.xcs-canvas { position: relative; background: #fff; box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18); overflow: hidden; touch-action: none; }
.xcs-bleed { position: absolute; inset: 0; border: 1px dashed rgba(217, 20, 29, 0.55); pointer-events: none; z-index: 5; }
.xcs-safe { position: absolute; pointer-events: none; border: 1px dotted rgba(0, 0, 0, 0.25); z-index: 5; }
.xcs-dim { position: absolute; font-size: 11px; font-weight: 700; color: var(--xcs-ink-2); white-space: nowrap; }
.xcs-dim-w { left: 0; right: 0; top: -20px; text-align: center; }
.xcs-dim-h { top: 0; bottom: 0; left: -28px; width: 22px; display: flex; align-items: center; justify-content: center; }
.xcs-dim-h span { transform: rotate(-90deg); display: block; }
.xcs-el {
	position: absolute; transform: translate(-50%, -50%); cursor: grab; z-index: 3; user-select: none; touch-action: none;
}
.xcs-el.is-sel { outline: 2px solid #2f7cf6; outline-offset: 3px; }
.xcs-txt, .xcs-sub { font-weight: 900; letter-spacing: -0.01em; white-space: nowrap; line-height: 1; }
.xcs-sub { font-weight: 600; }
.xcs-logo {
	border: 2px dashed #9aa0a8; border-radius: 8px; display: grid; place-items: center; color: var(--xcs-muted);
	font-weight: 700; text-align: center; background: rgba(255, 255, 255, 0.7); overflow: hidden;
}
.xcs-logo img { width: 100%; height: 100%; object-fit: contain; pointer-events: none; }
.xcs-seam { position: absolute; z-index: 4; pointer-events: none; border-color: rgba(217, 20, 29, 0.9); border-style: dashed; border-width: 0; }
.xcs-seam.is-v { top: 0; bottom: 0; border-left-width: 2px; }
.xcs-seam.is-h { left: 0; right: 0; border-top-width: 2px; }
.xcs-seam i { position: absolute; font-style: normal; font-size: 10px; font-weight: 800; color: #fff; background: var(--xcs-accent); padding: 1px 5px; border-radius: 4px; }
.xcs-grom { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #c3c7cd; border: 1.5px solid #7d838b; transform: translate(-50%, -50%); z-index: 4; pointer-events: none; }
.xcs-pocket { position: absolute; left: 0; right: 0; height: 6%; background: repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.06) 0 6px, rgba(0, 0, 0, 0.02) 6px 12px); z-index: 4; pointer-events: none; }
.xcs-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 12px; color: var(--xcs-muted); margin-top: 8px; }
.xcs-legend span::before { content: ""; display: inline-block; width: 14px; border-top: 1.5px dashed rgba(217, 20, 29, 0.6); vertical-align: middle; margin-right: 5px; }
.xcs-legend .is-safe::before { border-top-style: dotted; border-top-color: rgba(0, 0, 0, 0.35); }
.xcs-legend .is-seam::before { border-top-width: 2px; }
.xcs-drop { border: 2px dashed #c4c8ce; border-radius: 12px; padding: 22px 16px; text-align: center; background: #fafbfc; }
.xcs-drop.is-hover { border-color: var(--xcs-accent); background: var(--xcs-accent-bg); }
.xcs-drop b { display: block; font-size: 15px; margin: 6px 0 2px; }
.xcs-types { display: flex; flex-wrap: wrap; gap: 5px; justify-content: center; margin: 10px 0 12px; }
.xcs-types span { font-size: 11px; font-weight: 800; letter-spacing: 0.04em; border: 1px solid var(--xcs-line); background: #fff; border-radius: 6px; padding: 2px 7px; }
.xcs-file { display: flex; align-items: center; gap: 10px; border: 1.5px solid var(--xcs-line); border-radius: 12px; padding: 10px 12px; margin-top: 10px; background: #fff; }
.xcs-ft { width: 38px; height: 44px; border-radius: 6px; background: var(--xcs-accent); color: #fff; font-size: 10px; font-weight: 900; display: grid; place-items: end center; padding-bottom: 6px; flex: none; }
.xcs textarea { width: 100%; border: 1.5px solid #d4d7dc; border-radius: 11px; padding: 10px 12px; min-height: 90px; margin-bottom: 8px; }

.xcs-order { border: 1px solid var(--xcs-line); border-radius: 12px; overflow: hidden; }
.xcs-order table { width: 100%; border-collapse: collapse; font-size: 14px; }
.xcs-order th { text-align: left; color: var(--xcs-muted); font-weight: 600; font-size: 12.5px; width: 34%; padding: 9px 14px; vertical-align: top; border-top: 1px solid var(--xcs-line); }
.xcs-order td { padding: 9px 14px 9px 0; border-top: 1px solid var(--xcs-line); font-weight: 600; }
.xcs-order td small { display: block; font-weight: 500; color: var(--xcs-muted); font-size: 12px; }
.xcs-calc { background: #fafbfc; border-top: 1px solid var(--xcs-line); padding: 10px 14px; font-size: 13.5px; }
.xcs-calc div, .xcs-lines div { display: flex; justify-content: space-between; gap: 10px; padding: 2px 0; }
.xcs-calc .is-tot { font-size: 17px; font-weight: 800; border-top: 1px solid var(--xcs-line); margin-top: 6px; padding-top: 8px; }
.xcs-adj { color: var(--xcs-warn); font-weight: 700; }
.xcs-side { display: none; }
.xcs-sum-prod { font-size: 13px; color: var(--xcs-muted); }
.xcs-sum-size { font-size: 18px; font-weight: 800; margin: 2px 0 12px; }
.xcs-mini { height: 150px; background: var(--xcs-bg); border-radius: 12px; display: grid; place-items: center; margin-bottom: 14px; position: relative; }
.xcs-shape { background: #fff; border: 2px solid var(--xcs-ink); box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1); position: relative; }
.xcs-mini-lbl { position: absolute; bottom: 6px; right: 10px; font-size: 11px; color: var(--xcs-muted); font-weight: 700; }
.xcs-big-price { font-size: 38px; font-weight: 900; letter-spacing: -0.03em; line-height: 1; }
.xcs-big-sub { font-size: 13px; color: var(--xcs-muted); margin: 4px 0 12px; }
.xcs-lines { font-size: 13.5px; border-top: 1px solid var(--xcs-line); padding-top: 10px; margin-bottom: 14px; }
.xcs-minbox { background: var(--xcs-warn-bg); color: #5c3700; border-radius: 10px; padding: 8px 11px; font-size: 13px; margin-bottom: 12px; }
.xcs-minbox b { display: block; }
.xcs-trust { display: grid; gap: 4px; font-size: 12.5px; color: var(--xcs-muted); margin-top: 12px; }
.xcs-trust span::before { content: "✓ "; color: var(--xcs-ok); font-weight: 700; }

.xcs-cart-upload {
	border: 1.5px solid #e4e6ea; border-radius: 12px; padding: 12px 14px; margin: 0 0 16px; background: #fff;
}

@container (min-width: 900px) {
	.xcs-layout { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 18px; align-items: start; }
	.xcs-side { display: block; }
	.xcs-sum-card { position: sticky; top: 16px; }
	.xcs-art-choices { grid-template-columns: 1fr; }
	.xcs-art { flex-direction: row; align-items: center; width: 100%; }
	.xcs-opts { grid-template-columns: 1fr 1fr; }
	.xcs-card { padding: 22px; }
}

@container (min-width: 1040px) {
	.xcs-art-choices { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.xcs-art { flex-direction: column; align-items: flex-start; }
}

@media (min-width: 960px) {
	/* Classic themes (TeeSpace, Storefront) float the gallery at half width.
	   Do not set display:grid on .product — block themes use that class on a page wrapper. */
	.xcs-product #secondary,
	.xcs-product .widget-area {
		display: none !important;
	}
	.xcs-product #primary,
	.xcs-product .content-area {
		width: 100% !important;
		float: none !important;
		max-width: none !important;
	}
	.xcs-product div.product > .woocommerce-product-gallery,
	.xcs-product div.product > div.images {
		float: left !important;
		width: 200px !important;
		max-width: 200px !important;
		margin-right: 28px !important;
	}
	.xcs-product div.product > .summary,
	.xcs-product div.product > .entry-summary {
		float: none !important;
		width: auto !important;
		max-width: none !important;
		overflow: visible !important;
	}
}

.xcs-product form.cart:not(.xcs-form) { display: none !important; }

/* 1.0.1: beat theme/Elementor button and input rules without restyling the theme. */
body .xcs .xcs-wh {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
	width: 100% !important;
	max-width: 100% !important;
}
body .xcs .xcs-fld {
	min-width: 0 !important;
	max-width: 100% !important;
}
html body .xcs .xcs-inp {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	background: #fff !important;
	overflow: hidden !important;
}
html body .xcs .xcs-u {
	flex: 0 0 auto !important;
}
html body .xcs .xcs-stp {
	display: flex !important;
	flex: 0 0 36px !important;
	flex-direction: column !important;
	width: 36px !important;
	min-width: 36px !important;
	max-width: 36px !important;
}
html body .xcs .xcs-inp .xcs-stp [data-xcs-step] {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	box-sizing: border-box !important;
	width: 36px !important;
	min-width: 0 !important;
	max-width: 36px !important;
	height: 28px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	line-height: 1 !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	appearance: none !important;
	position: static !important;
	float: none !important;
	inset: auto !important;
	background: #fafafa !important;
	color: #3a3f47 !important;
}
html body .xcs .xcs-qbox {
	display: flex !important;
	flex-wrap: nowrap !important;
	overflow: hidden !important;
}
html body .xcs .xcs-qbox button {
	flex: 0 0 36px !important;
	box-sizing: border-box !important;
	width: 36px !important;
	min-width: 0 !important;
	max-width: 36px !important;
	height: 36px !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
}
html body .xcs input#xcs-width,
html body .xcs input#xcs-height,
html body.xcs-product .xcs .xcs-inp input[type="text"] {
	display: block !important;
	flex: 1 1 auto !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: auto !important;
	color: #16181d !important;
	-webkit-text-fill-color: #16181d !important;
	caret-color: #16181d !important;
	background: transparent !important;
	opacity: 1 !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	padding: 12px 8px 12px 12px !important;
	position: relative !important;
}
body .xcs button.xcs-art {
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
}
body .xcs button.xcs-art,
body .xcs .xcs-art-choices,
body .xcs .xcs-pane,
body .xcs .xcs-drop,
body .xcs button.xcs-chip,
body .xcs .xcs-seg button,
body .xcs button.xcs-btn,
body .xcs .xcs-opt {
	position: relative !important;
	float: none !important;
	inset: auto !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
}
body .xcs .xcs-art-choices {
	display: grid !important;
	width: 100% !important;
	grid-auto-rows: auto !important;
}
body .xcs .xcs-pane[hidden],
body .xcs [hidden] {
	display: none !important;
}
body .xcs .xcs-pane:not([hidden]) {
	display: block !important;
	clear: both !important;
	width: 100% !important;
	margin-top: 14px !important;
	overflow: visible !important;
}
body .xcs .xcs-drop {
	display: block !important;
	width: auto !important;
}
body .xcs .xcs-seg button,
body .xcs .xcs-seg button b,
body .xcs .xcs-seg button span,
body .xcs .xcs-seg button[aria-pressed="true"],
body .xcs .xcs-seg button[aria-pressed="true"] b,
body .xcs .xcs-seg button[aria-pressed="true"] span {
	position: static !important;
	float: none !important;
	inset: auto !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	transform: none !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	overflow: visible !important;
	white-space: normal !important;
	background: #fff !important;
	color: #16181d !important;
	opacity: 1 !important;
}
body .xcs .xcs-seg button {
	width: 100% !important;
	height: auto !important;
	overflow: visible !important;
	margin-bottom: 0 !important;
}
body .xcs .xcs-seg {
	margin-bottom: 16px !important;
}
body .xcs .xcs-limits {
	clear: both !important;
	position: static !important;
	margin-top: 10px !important;
}
body .xcs .xcs-seg button[aria-pressed="true"] {
	border-color: #d9141d !important;
	box-shadow: 0 0 0 3px #fdecec !important;
}
body .xcs .xcs-opt,
body .xcs .xcs-opt .xcs-p,
body .xcs .xcs-opt:has(input:checked),
body .xcs .xcs-opt:has(input:checked) .xcs-p,
body .xcs button.xcs-art,
body .xcs button.xcs-art b,
body .xcs button.xcs-art .xcs-p,
body .xcs button.xcs-art[aria-pressed="true"],
body .xcs button.xcs-art[aria-pressed="true"] b,
body .xcs button.xcs-art[aria-pressed="true"] .xcs-p {
	background-color: #fff !important;
	color: #16181d !important;
	opacity: 1 !important;
}
body .xcs .xcs-p.is-free,
body .xcs button.xcs-art .xcs-p.is-free,
body .xcs .xcs-opt .xcs-p.is-free,
body .xcs button.xcs-art[aria-pressed="true"] .xcs-p.is-free {
	color: #0f8a5f !important;
}
body .xcs button.xcs-chip,
body .xcs button.xcs-chip:hover,
body .xcs button.xcs-chip:focus,
body .xcs button.xcs-chip:active,
body .xcs button.xcs-chip.is-on,
body .xcs button.xcs-chip[disabled],
body .xcs button.xcs-chip:disabled {
	opacity: 1 !important;
	filter: none !important;
}
body .xcs button.xcs-chip.is-on {
	background: #16181d !important;
	color: #fff !important;
}
body .xcs button.xcs-chip:not(.is-on) {
	background: #fff !important;
	color: #16181d !important;
}
.xcs-cart-upload,
.xcs-cart-upload-dock {
	display: block !important;
	position: relative !important;
	clear: both;
}
.xcs-cart-upload-dock:empty { display: none !important; }

/* Price and the next step stay on screen on desktop and on a phone. */
body.xcs-product .xcs-pricebar {
	position: fixed;
	left: 0;
	right: 0;
	top: auto !important;
	bottom: 0;
	z-index: 100000;
	margin: 0;
	width: auto;
	border-radius: 0;
	border-left: 0;
	border-right: 0;
	box-shadow: 0 -2px 16px rgba(0, 0, 0, 0.08);
}
body.xcs-product {
	padding-bottom: var(--xcs-bar-space, 96px) !important;
}

@media (max-width: 782px) {
	body.xcs-product {
		scroll-padding-top: 120px;
		scroll-padding-bottom: 120px;
	}
	body.xcs-product div.product,
	body.xcs-product .product {
		padding-top: 84px;
	}
	body.xcs-product h1,
	body.xcs-product .product_title,
	body.xcs-product .entry-title {
		scroll-margin-top: 120px;
	}
	body.xcs-product .xcs,
	body.xcs-product form.xcs-form {
		padding-bottom: 120px;
	}
	body.xcs-product {
		padding-bottom: var(--xcs-bar-space, 180px) !important;
	}
	body.xcs-product .xcs-pricebar {
		position: fixed;
		left: 0;
		right: 0;
		top: auto !important;
		bottom: 64px;
		z-index: 100000;
		margin: 0;
		border-radius: 0;
		border-left: 0;
		border-right: 0;
	}
	body.xcs-product .xcs-pricebar-in {
		flex-wrap: wrap;
		align-items: center;
	}
	body.xcs-product .xcs-pb-info {
		flex: 1 1 160px;
		min-width: 0;
	}
	body.xcs-product .xcs-pb-what {
		white-space: normal;
		overflow: visible;
		text-overflow: unset;
		line-height: 1.25;
		font-size: 12px;
	}
	body.xcs-product .xcs-pricebar .xcs-btn {
		flex: 0 1 auto;
		white-space: normal;
		line-height: 1.2;
		font-size: 14px;
	}
	body.xcs-product .xcs .xcs-pricebar .xcs-btn,
	body.xcs-product .xcs .xcs-side .xcs-btn {
		position: relative !important;
	}
	body.xcs-product .back-to-top,
	body.xcs-product #to-top,
	body.xcs-product .ast-scroll-top,
	body.xcs-product .ast-scroll-top-button,
	body.xcs-product #ast-scroll-top,
	body.xcs-product .scroll-top,
	body.xcs-product .go-top,
	body.xcs-product a.scroll-to-top,
	body.xcs-product [data-xcs-hidetop] {
		display: none !important;
	}
}
.xcs-fit {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
}
body .xcs .xcs-fit button[data-xcs-fit],
body .xcs .xcs-fit button[data-xcs-fit]:hover,
body .xcs .xcs-fit button[data-xcs-fit]:focus,
body .xcs .xcs-fit button[data-xcs-fit]:active,
body .xcs .xcs-fit button[data-xcs-fit][aria-pressed="false"] {
	background: #fff !important;
	color: #16181d !important;
	border: 1.5px solid #c5cad1 !important;
	box-shadow: none !important;
	opacity: 1 !important;
}
body .xcs .xcs-fit button[data-xcs-fit][aria-pressed="true"],
body .xcs .xcs-fit button[data-xcs-fit][aria-pressed="true"]:hover,
body .xcs .xcs-fit button[data-xcs-fit][aria-pressed="true"]:focus,
body .xcs .xcs-fit button[data-xcs-fit][aria-pressed="true"]:active {
	background: #fdecec !important;
	color: #16181d !important;
	border: 2px solid #d9141d !important;
	box-shadow: inset 0 0 0 1px #d9141d !important;
}

/* 1.0.2: unselected cards keep a visible border when the theme zeros button borders. */
body .xcs button.xcs-art,
body .xcs .xcs-seg button,
body .xcs label.xcs-opt,
body .xcs .xcs-opt {
	border: 1.5px solid #c5cad1 !important;
	box-sizing: border-box !important;
	max-width: 100% !important;
}
body .xcs button.xcs-art[aria-pressed="false"],
body .xcs .xcs-seg button[aria-pressed="false"] {
	border: 1.5px solid #c5cad1 !important;
	background: #fff !important;
	box-shadow: none !important;
	outline: none !important;
}
body .xcs button.xcs-art[aria-pressed="true"],
body .xcs .xcs-seg button[aria-pressed="true"] {
	border: 2px solid #d9141d !important;
	background: #fdecec !important;
	box-shadow: inset 0 0 0 1px #d9141d !important;
	outline: none !important;
}
body .xcs .xcs-seg button[aria-pressed="true"] b::before {
	content: "\2713  ";
	color: #d9141d;
}
body .xcs .xcs-opt:has(input:checked) {
	border: 2px solid #d9141d !important;
	background: #fdecec !important;
	box-shadow: inset 0 0 0 1px #d9141d !important;
}
body .xcs .xcs-opt:not(:has(input:checked)) {
	border: 1.5px solid #c5cad1 !important;
	background: #fff !important;
	box-shadow: none !important;
}
body .xcs button.xcs-art span,
body .xcs button.xcs-art b,
body .xcs .xcs-opt span,
body .xcs .xcs-opt b,
body .xcs .xcs-p {
	position: static !important;
	transform: none !important;
}

/* Narrow product columns (about 1024px next to a gallery) stack the size fields. */
@container (max-width: 560px) {
	body .xcs .xcs-wh {
		grid-template-columns: minmax(0, 1fr) !important;
	}
	body .xcs .xcs-x {
		display: none !important;
	}
	body .xcs .xcs-opts,
	body .xcs .xcs-art-choices,
	body .xcs .xcs-seg {
		grid-template-columns: minmax(0, 1fr) !important;
	}
	body .xcs .xcs-opt,
	body .xcs button.xcs-art,
	body .xcs .xcs-inp {
		max-width: 100% !important;
	}
}

/* Theme button rules were inlining these cards: a tiny icon, a white title
   bar, and the price glued to the description. */
body .xcs button.xcs-art,
body .xcs button.xcs-art:hover,
body .xcs button.xcs-art:focus,
body .xcs button.xcs-art:active {
	display: flex !important;
	flex-flow: row nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 12px !important;
	text-align: left !important;
	white-space: normal !important;
	height: auto !important;
	min-height: 72px !important;
	overflow: visible !important;
	line-height: 1.35 !important;
}
body .xcs button.xcs-art .xcs-aic {
	display: grid !important;
	place-items: center !important;
	flex: 0 0 40px !important;
	width: 40px !important;
	height: 40px !important;
	min-width: 40px !important;
	max-width: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 10px !important;
	background: #f5f5f6 !important;
	background-color: #f5f5f6 !important;
	color: #d9141d !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
}
body .xcs button.xcs-art[aria-pressed="true"] .xcs-aic {
	background: #fff !important;
	background-color: #fff !important;
}
body .xcs button.xcs-art .xcs-t {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	flex: 1 1 auto !important;
	gap: 2px !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	text-align: left !important;
}
body .xcs button.xcs-art .xcs-t b,
body .xcs button.xcs-art[aria-pressed="true"] .xcs-t b,
body .xcs button.xcs-art[aria-pressed="true"] b,
body .xcs button.xcs-art .xcs-t span,
body .xcs button.xcs-art .xcs-p,
body .xcs button.xcs-art[aria-pressed="true"] .xcs-p,
body .xcs button.xcs-art[aria-pressed="true"] .xcs-p.is-free {
	position: static !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	transform: none !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	line-height: 1.35 !important;
}
body .xcs button.xcs-art .xcs-t b {
	color: #16181d !important;
	font-size: 14.5px !important;
	font-weight: 800 !important;
}
body .xcs button.xcs-art .xcs-t span {
	color: #6b7280 !important;
	font-size: 12.5px !important;
	font-weight: 500 !important;
	white-space: normal !important;
}
body .xcs button.xcs-art .xcs-p {
	flex: 0 0 auto !important;
	margin-left: 12px !important;
	padding-left: 4px !important;
	font-weight: 800 !important;
	font-size: 14px !important;
	white-space: nowrap !important;
	color: #16181d !important;
}
body .xcs button.xcs-art .xcs-p.is-free,
body .xcs button.xcs-art[aria-pressed="true"] .xcs-p.is-free {
	color: #0f8a5f !important;
}
/* 1.7.4: at 390px the product image was a blank band and the Artwork
   cards sat in a squeezed column beside a floated gallery. */
@media (max-width: 480px) {
	body.xcs-product div.product > .woocommerce-product-gallery,
	body.xcs-product div.product > div.images,
	body.xcs-product div.product div.images,
	body.xcs-product .woocommerce-product-gallery {
		float: none !important;
		clear: both !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		margin: 0 0 16px !important;
		opacity: 1 !important;
		visibility: visible !important;
		position: relative !important;
	}
	body.xcs-product .woocommerce-product-gallery .flex-viewport,
	body.xcs-product .woocommerce-product-gallery__wrapper,
	body.xcs-product .woocommerce-product-gallery__image {
		height: auto !important;
		min-height: 0 !important;
		opacity: 1 !important;
		overflow: hidden !important;
		position: relative !important;
	}
	body.xcs-product .woocommerce-product-gallery__wrapper {
		width: 100% !important;
		transform: none !important;
	}
	body.xcs-product .woocommerce-product-gallery__image {
		width: 100% !important;
	}
	body.xcs-product .woocommerce-product-gallery__image.clone,
	body.xcs-product .woocommerce-product-gallery__image ~ .woocommerce-product-gallery__image,
	body.xcs-product .flex-viewport .clone {
		display: none !important;
	}
	body.xcs-product div.product div.images img.zoomImg,
	body.xcs-product .woocommerce-product-gallery img.zoomImg {
		display: none !important;
		width: 0 !important;
		height: 0 !important;
		max-height: 0 !important;
		position: absolute !important;
	}
	body.xcs-product .woocommerce-product-gallery__image > a > img:not(.zoomImg),
	body.xcs-product div.product div.images > a > img:not(.zoomImg) {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		max-height: 70vw !important;
		object-fit: contain !important;
		opacity: 1 !important;
		visibility: visible !important;
		position: relative !important;
		inset: auto !important;
	}
	body.xcs-product .flex-control-thumbs,
	body.xcs-product .woocommerce-product-gallery ol.flex-control-nav {
		display: flex !important;
		flex-wrap: wrap;
		gap: 6px;
		width: 100% !important;
		margin: 8px 0 0 !important;
	}
	body.xcs-product .flex-control-thumbs li,
	body.xcs-product .woocommerce-product-gallery ol.flex-control-nav li {
		width: 56px !important;
		flex: none !important;
		margin: 0 !important;
		float: none !important;
	}
	body.xcs-product .flex-control-thumbs img,
	body.xcs-product .woocommerce-product-gallery ol.flex-control-nav img {
		display: block !important;
		width: 56px !important;
		height: 56px !important;
		max-height: 56px !important;
		object-fit: cover !important;
		position: relative !important;
	}
	body.xcs-product div.product > .summary,
	body.xcs-product div.product > .entry-summary {
		float: none !important;
		clear: both !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	body .xcs #xcs-artwork .xcs-art-choices {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		width: 100% !important;
	}
	body .xcs #xcs-artwork button.xcs-art,
	body .xcs #xcs-artwork button.xcs-art:hover,
	body .xcs #xcs-artwork button.xcs-art:focus,
	body .xcs #xcs-artwork button.xcs-art:active {
		display: flex !important;
		flex-flow: row wrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		width: 100% !important;
		height: auto !important;
		min-height: 72px !important;
		overflow: visible !important;
		white-space: normal !important;
		background-image: none !important;
	}
	body .xcs #xcs-artwork button.xcs-art::before,
	body .xcs #xcs-artwork button.xcs-art::after {
		content: none !important;
		display: none !important;
		width: 0 !important;
		height: 0 !important;
		background: none !important;
	}
	body .xcs #xcs-artwork button.xcs-art .xcs-t,
	body .xcs #xcs-artwork button.xcs-art .xcs-t b,
	body .xcs #xcs-artwork button.xcs-art .xcs-t span {
		white-space: normal !important;
		overflow: visible !important;
		text-overflow: unset !important;
		max-width: 100% !important;
		height: auto !important;
		line-height: 1.35 !important;
	}
	body .xcs #xcs-artwork button.xcs-art .xcs-t {
		flex: 1 1 12rem !important;
		min-width: 0 !important;
	}
	body .xcs #xcs-artwork button.xcs-art .xcs-p {
		margin-left: auto !important;
	}
}

.xcs-panels{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.xcs-panels li{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;background:#fff;border:1px solid #e4e6ea;border-radius:10px;padding:10px 12px}
.xcs-panels span{color:#52606d;font-size:13px}
