
/* ==========================================================================
   Product options (WCPA) – unified design
   Header row: LABEL · selected value ........ Size Guide
   Fit / Print on: segmented control · Style: icon cards
   Colour: round swatches · Size: equal grid
   ========================================================================== */

body.tb-navy .wcpa_form_outer { margin-top: 4px; }
body.tb-navy .wcpa_form_outer .wcpa_row { margin: 0; }
body.tb-navy .wcpa_form_outer .wcpa_form_item {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 8px;
	margin: 0 0 22px !important;
	padding: 0;
}
body.tb-navy .wcpa_form_outer .wcpa_form_item > label {
	margin: 0 0 10px !important;
	font-family: var(--tb-head);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--tb-navy);
}
body.tb-navy .wcpa_form_outer .wcpa_form_item > label .required_ast { display: none; }
body.tb-navy .wcpa_form_outer .wcpa_form_item > label::after { content: ":"; }
body.tb-navy .wcpa_form_outer .wcpa_form_item > .wcpa_helptext,
body.tb-navy .color-custom-v1_parent .wcpa_helptext {
	order: 1;
	margin: 0 0 10px;
	padding: 0;
	background: none;
	text-shadow: none;
	font-family: var(--tb-body);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--tb-ink);
}
body.tb-navy .wcpa_form_outer .wcpa_form_item > .color-group,
body.tb-navy .wcpa_form_outer .wcpa_form_item > .image-group,
body.tb-navy .wcpa_form_outer .wcpa_form_item > .radio-group {
	order: 3;
	flex: 0 0 100%;
	margin: 0 !important;
}
body.tb-navy .wcpa_form_outer .wcpa_form_item > .wcpa_priceouter { order: 4; flex: 0 0 100%; }

/* Size guide link on the right of the header row */
body.tb-navy .size a.size-guide {
	order: 2;
	margin: 0 0 10px auto !important;
	padding: 0 0 0 22px !important;
	font-family: var(--tb-head);
	font-weight: 700 !important;
	font-size: 14px;
	letter-spacing: .08em;
	text-transform: uppercase !important;
	text-decoration: none;
	color: var(--tb-navy) !important;
	border-bottom: 1px solid currentColor !important;
	line-height: 1.2;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230c2340' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='10' rx='1'/%3E%3Cpath d='M6 7v4M10 7v3M14 7v4M18 7v3'/%3E%3C/svg%3E") left center / 16px no-repeat !important;
}
body.tb-navy .size a.size-guide:before { display: none; }
body.tb-navy .size a.size-guide:hover { color: var(--tb-red) !important; }

/* ---------- Text options (Fit style, Size): shared button look ---------- */
body.tb-navy .wcpa_form_outer .color-group .wcpa_color { margin: 0 !important; }
body.tb-navy .wcpa_form_outer .color-group .wcpa_color label { display: block; margin: 0; padding: 0 !important; }
body.tb-navy .wcpa_form_outer .wcpa_color label span.label_inside {
	display: flex !important;
	align-items: center;
	justify-content: center;
	height: 46px !important;
	min-width: 0 !important;
	width: 100%;
	padding: 0 10px !important;
	line-height: 1 !important;
	background: #fff !important;
	border: 1px solid #c9ced6 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: var(--tb-head);
	font-weight: 700;
	font-size: 16px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--tb-navy) !important;
	transition: border-color .15s, background-color .15s, color .15s;
}
body.tb-navy .wcpa_form_outer .wcpa_color label span.label_inside:hover { border-color: var(--tb-navy) !important; }
body.tb-navy .wcpa_form_outer .wcpa_color input:checked + label span.label_inside {
	background: var(--tb-navy) !important;
	border-color: var(--tb-navy) !important;
	color: #fff !important;
}

/* Fit style: segmented control (joined buttons, equal width) */
body.tb-navy .wcpa_form_outer .wcpa_row:not(.size) .wcpa_form_item > .color-group:not(.color-custom-v1) {
	display: grid !important;
	grid-auto-flow: column;
	grid-auto-columns: 1fr;
}
body.tb-navy .wcpa_form_outer .wcpa_row:not(.size) .wcpa_form_item > .color-group:not(.color-custom-v1) .wcpa_color + .wcpa_color label span.label_inside { margin-left: -1px; }

/* Size: equal grid */
body.tb-navy .wcpa_row.size .color-group {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(64px, 1fr));
	gap: 8px;
}

/* ---------- Colour: round swatches ---------- */
body.tb-navy .wcpa_form_outer .color-custom-v1 {
	display: flex !important;
	flex-wrap: wrap;
	gap: 10px;
}
body.tb-navy .wcpa_form_outer .color-custom-v1 .wcpa_color label {
	position: relative;
	width: 40px !important;
	height: 40px !important;
	border-radius: 50%;
	cursor: pointer;
}
body.tb-navy .wcpa_form_outer .color-custom-v1 .wcpa_color label span.disp_squircle {
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	outline: 0 !important;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15) !important;
	transition: box-shadow .15s, transform .15s;
}
body.tb-navy .wcpa_form_outer .color-custom-v1 .wcpa_color label:hover span.disp_squircle { transform: scale(1.06); }
body.tb-navy .wcpa_form_outer .color-custom-v1 .wcpa_color input:checked + label span.disp_squircle {
	outline: 0 !important;
	box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--tb-navy) !important;
}
body.tb-navy .wcpa_form_outer .color-custom-v1 .wcpa_color label span.disp_squircle::before,
body.tb-navy .wcpa_form_outer .color-custom-v1 .wcpa_color label span.disp_squircle::after { display: none !important; }

/* ---------- Style: icon cards, 3 per row ---------- */
body.tb-navy .wcpa_type_image-group .image-group { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
body.tb-navy .wcpa_type_image-group .wcpa_image {
	flex-direction: row !important;
	justify-content: flex-start !important;
	gap: 10px;
	padding: 8px 10px !important;
	min-height: 60px;
	border: 1px solid #c9ced6 !important;
	background: #fff !important;
}
body.tb-navy .wcpa_type_image-group .wcpa_image:hover { border-color: var(--tb-navy) !important; }
body.tb-navy .wcpa_form_outer .wcpa_type_image-group .wcpa_image img,
body.tb-navy .wcpa_form_outer .wcpa_type_image-group .wcpa_image input:checked + img {
	flex: 0 0 36px;
	width: 36px !important;
	height: 36px !important;
}
body.tb-navy .wcpa_type_image-group .wcpa_image label {
	margin: 0 !important;
	text-align: left !important;
	font-size: 13px !important;
	color: var(--tb-navy) !important;
}
body.tb-navy .wcpa_type_image-group .wcpa_image:has(input:checked) {
	border-color: var(--tb-navy) !important;
	box-shadow: inset 0 0 0 1px var(--tb-navy);
}
body.tb-navy .wcpa_type_image-group .wcpa_image:has(input:checked)::before { top: -1px; right: -1px; width: 18px; height: 18px; background-size: 11px; }

/* ---------- Print on: segmented control ---------- */
body.tb-navy .wcpa_form_outer .radio-group {
	display: grid !important;
	grid-auto-flow: column;
	grid-auto-columns: 1fr;
}
body.tb-navy .wcpa_form_outer .radio-group .wcpa_radio { position: relative; margin: 0 !important; display: block !important; }
body.tb-navy .wcpa_form_outer .radio-group .wcpa_radio + .wcpa_radio { margin-left: -1px !important; }
body.tb-navy .wcpa_form_outer .radio-group .wcpa_radio input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	pointer-events: none;
}
body.tb-navy .wcpa_form_outer .radio-group .wcpa_radio label {
	display: flex !important;
	align-items: center;
	justify-content: center;
	height: 46px;
	margin: 0 !important;
	padding: 0 10px !important;
	border: 1px solid #c9ced6;
	background: #fff;
	font-family: var(--tb-head);
	font-weight: 700 !important;
	font-size: 16px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--tb-navy) !important;
	cursor: pointer;
	transition: border-color .15s, background-color .15s, color .15s;
}
body.tb-navy .wcpa_form_outer .radio-group .wcpa_radio label:hover { border-color: var(--tb-navy); position: relative; z-index: 1; }
body.tb-navy .wcpa_form_outer .radio-group .wcpa_radio label .wcpa_check { display: none !important; }
body.tb-navy .wcpa_form_outer .radio-group .wcpa_radio input:checked + label {
	background: var(--tb-navy);
	border-color: var(--tb-navy);
	color: #fff !important;
	position: relative;
	z-index: 2;
}
body.tb-navy .wcpa_form_outer .radio-group .wcpa_radio input:focus-visible + label { outline: 2px solid var(--tb-red); outline-offset: 2px; }

/* Price line under the options */
body.tb-navy .wcpa_form_outer .wcpa_priceouter { margin: 0; }

@media (max-width: 549px) {
	body.tb-navy .wcpa_type_image-group .image-group { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	body.tb-navy .wcpa_row.size .color-group { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Hide the per-swatch colour name (the selected name shows in the header) */
body.tb-navy .wcpa_form_outer .color-custom-v1 .wcpa_color label label { display: none !important; }

@media (max-width: 549px) {
	body.tb-navy .wcpa_form_outer .color-custom-v1 { gap: 8px; }
	body.tb-navy .wcpa_form_outer .color-custom-v1 .wcpa_color label,
	body.tb-navy .wcpa_form_outer .color-custom-v1 .wcpa_color label span.disp_squircle { width: 34px !important; height: 34px !important; }
}

/* ==========================================================================
   v2 – Catalog with icons, styled select, long labels
   ========================================================================== */

/* ---------- Dropdown (WCPA select: e.g. Ornament style) ---------- */
body.tb-navy .wcpa_form_outer .wcpa_type_select > .select {
	order: 3;
	position: relative;
	flex: 0 0 100%;
	width: 100%;
	margin: 0;
}
body.tb-navy .wcpa_form_outer .wcpa_type_select select {
	-webkit-appearance: none;
	appearance: none;
	width: 100% !important;
	max-width: none;
	height: 48px !important;
	margin: 0;
	padding: 0 48px 0 16px;
	border: 1px solid #c9ced6 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230c2340' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 16px center / 16px no-repeat !important;
	font-family: var(--tb-head);
	font-weight: 700;
	font-size: 16px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--tb-navy);
	cursor: pointer;
	transition: border-color .15s;
}
body.tb-navy .wcpa_form_outer .wcpa_type_select select:hover { border-color: var(--tb-navy) !important; }
body.tb-navy .wcpa_form_outer .wcpa_type_select select:focus {
	outline: none;
	border-color: var(--tb-navy) !important;
	box-shadow: inset 0 0 0 1px var(--tb-navy) !important;
}
body.tb-navy .wcpa_form_outer .wcpa_type_select select option { font-family: var(--tb-body); text-transform: none; font-weight: 500; }
body.tb-navy .wcpa_form_outer .wcpa_type_select .select_arrow { display: none !important; }

/* ---------- Long labels: allow wrapping instead of overflowing ---------- */
body.tb-navy .wcpa_form_outer .wcpa_color label span.label_inside {
	height: auto !important;
	min-height: 46px;
	padding: 8px 10px !important;
	line-height: 1.1 !important;
	white-space: normal !important;
	text-align: center;
	word-break: normal;
}

/* ---------- Catalog: taller buttons with an icon ---------- */
body.tb-navy .wcpa_form_outer .color-group:has(input[value="Apparel"]) .wcpa_color label span.label_inside {
	flex-direction: column;
	gap: 6px;
	min-height: 78px;
	padding: 12px 8px 10px !important;
}
body.tb-navy .wcpa_form_outer .color-group:has(input[value="Apparel"]) .wcpa_color label span.label_inside::before {
	content: "";
	display: block;
	width: 28px;
	height: 28px;
	background-color: currentColor;
	-webkit-mask: var(--tb-icon) center / contain no-repeat;
	mask: var(--tb-icon) center / contain no-repeat;
}
body.tb-navy .wcpa_form_outer span.label_inside[title="Apparel"] {
	--tb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M8 3 3.5 5.5 2 10l3.2 1.4L6 10v11h12V10l.8 1.4L22 10l-1.5-4.5L16 3c-.6 1.6-2.1 2.6-4 2.6S8.6 4.6 8 3z'/%3E%3C/svg%3E");
}
body.tb-navy .wcpa_form_outer span.label_inside[title="Ornaments"] {
	--tb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'%3E%3Crect x='9.5' y='3' width='5' height='3' rx='.6'/%3E%3Ccircle cx='12' cy='14' r='8'/%3E%3Cpath d='M4.6 11.5c2.4 1.4 4.9 2 7.4 2s5-.6 7.4-2M4.6 16.5c2.4-1.4 4.9-2 7.4-2s5 .6 7.4 2'/%3E%3C/svg%3E");
}
body.tb-navy .wcpa_form_outer span.label_inside[title="Mugs"] {
	--tb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M4 6h12v11a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V6z'/%3E%3Cpath d='M16 9h1.5a2.5 2.5 0 0 1 0 5H16'/%3E%3Cpath d='M7 2.5c-.6.8.6 1.2 0 2M10 2.5c-.6.8.6 1.2 0 2M13 2.5c-.6.8.6 1.2 0 2' stroke-linecap='round'/%3E%3C/svg%3E");
}

@media (max-width: 549px) {
	body.tb-navy .wcpa_form_outer .wcpa_color label span.label_inside { font-size: 14px; letter-spacing: .03em; padding: 8px 6px !important; }
	body.tb-navy .wcpa_form_outer .color-group:has(input[value="Apparel"]) .wcpa_color label span.label_inside { min-height: 70px; }
	body.tb-navy .wcpa_form_outer .wcpa_type_select select { font-size: 15px; }
}
