/* A separate availability control beside the catalogue sort dropdown. */
.woocommerce .woocommerce-ordering.tt-catalog-toolbar {
	display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap;
	gap: 12px; margin: 0 0 28px; float: right;
}
.tt-stock-switch { position: relative; display: inline-block; cursor: pointer; margin: 0; }
.tt-stock-switch > input[type="checkbox"] { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tt-stock-switch__surface {
	display: flex; align-items: center; justify-content: center; gap: 12px;
	min-height: 48px; padding: 10px 18px; border: 2px solid var(--tt-forest);
	border-radius: 6px; background: var(--tt-paper); color: var(--tt-forest);
	font-size: .85rem; font-weight: 700; line-height: 1.2;
	box-shadow: none; transition: background .15s, color .15s;
}
.tt-stock-switch__track { position: relative; flex: 0 0 36px; width: 36px; height: 22px; border-radius: 20px; background: #d8e2d7; }
.tt-stock-switch__track::after { content: ''; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: var(--tt-forest); transition: transform .15s; }
.tt-stock-switch input:checked + .tt-stock-switch__surface { background: var(--tt-forest); color: var(--tt-paper); }
.tt-stock-switch input:checked + .tt-stock-switch__surface .tt-stock-switch__track { background: var(--tt-paper); }
.tt-stock-switch input:checked + .tt-stock-switch__surface .tt-stock-switch__track::after { transform: translateX(14px); }
.tt-stock-switch:hover .tt-stock-switch__surface { border-color: var(--tt-ink); }
.tt-stock-switch input:focus-visible + .tt-stock-switch__surface { outline: 3px solid var(--tt-orange); outline-offset: 5px; }
.woocommerce .tt-catalog-toolbar select { min-height: 48px; max-width: 100%; margin: 0; border: 2px solid var(--tt-forest); border-radius: 6px; }
.woocommerce .woocommerce-result-count { padding-top: 14px; }
/* Rounded, slanted corners match the existing product VIEW tabs. */
body .tt-catalog-filters .tt-catalog-filters__panel button.tt-catalog-filters__submit {
	width: calc(100% - 1.6rem); margin-left: .8rem;
	border-radius: .32rem .55rem .32rem .55rem !important;
	clip-path: none; transform: skewX(-30deg);
}
.tt-catalog-filters__submit > span { display: block; transform: skewX(30deg); }
.tt-condition-filter input[type="range"]:focus { z-index: 3; }
.tt-condition-filter input[type="range"]:focus-visible::-webkit-slider-thumb { outline: 3px solid var(--tt-orange); outline-offset: 3px; }
.tt-condition-filter input[type="range"]:focus-visible::-moz-range-thumb { outline: 3px solid var(--tt-orange); outline-offset: 3px; }
/* Independent of each shirt's colour and the gold 10/10 treatment. */
.woocommerce ul.products li.product .tt-stock-badge {
	position: absolute; z-index: 3; top: 14px; left: 14px;
	display: inline-flex; align-items: center; gap: 6px;
	padding: 8px 11px; border: 1px solid var(--tt-paper); border-radius: 4px;
	background: var(--tt-forest); color: var(--tt-paper); box-shadow: 0 2px 8px #0002;
	font-size: clamp(.58rem, 2.6cqw, .72rem); font-weight: 700; line-height: 1;
	letter-spacing: .045em; text-transform: uppercase; pointer-events: none;
}
.woocommerce ul.products li.product .tt-stock-badge--outofstock { background: #26342f; color: var(--tt-paper); }
.woocommerce ul.products li.product .tt-stock-badge--onbackorder { background: var(--tt-orange); color: var(--tt-ink); }
@media (max-width: 767px) {
	.woocommerce .woocommerce-ordering.tt-catalog-toolbar { float: none; justify-content: flex-start; width: 100%; gap: 14px; }
	.woocommerce .tt-catalog-toolbar__sort { flex: 1 1 170px; }
	.woocommerce .tt-catalog-toolbar__sort select { width: 100%; }
	.woocommerce .woocommerce-result-count { padding-top: 0; }
	.woocommerce ul.products li.product .tt-stock-badge { top: 9px; left: 9px; padding: 7px 8px; }
}
@media (prefers-reduced-motion: reduce) { .tt-stock-switch__surface, .tt-stock-switch__track::after { transition: none; } }
