/* Manager-only catalogue controls and current-location customer messaging. */

.tcr-product-manager {
	position: relative;
	z-index: 4;
	display: grid;
	gap: 7px;
	width: calc(100% - 24px);
	margin: 10px 12px 12px;
	padding: 9px;
	border: 1px solid rgba(100, 66, 38, 0.26);
	border-radius: 9px;
	color: #2a1510;
	background: #fff9ea;
	box-shadow: 0 5px 14px rgba(33, 16, 8, 0.1);
	font-family: Arial, sans-serif;
	filter: none;
	opacity: 1;
}

.tcr-product-manager-single {
	width: 100%;
	max-width: 520px;
	margin: 12px auto 18px;
	padding: 12px;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
}

.tcr-product-manager-search {
	width: min(100%, 560px);
	margin: 14px 0 4px;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
}

.tcr-product-manager-home {
	width: 100%;
	margin: 10px 0 0;
}

.tcr-product-manager-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 26px;
	padding: 5px 8px;
	border-radius: 999px;
	color: #14592d;
	background: #dff5e6;
	font-size: 10px;
	font-weight: 900;
	line-height: 1.25;
	letter-spacing: 0.025em;
	text-align: center;
	text-transform: uppercase;
}

.tcr-product-manager-badge.tcr-state-out_of_stock {
	color: #6d3702;
	background: #ffe3b6;
}

.tcr-product-manager-badge.tcr-state-hidden {
	color: #fff;
	background: #5d6268;
}

.tcr-product-state-open {
	min-height: 34px;
	margin: 0 !important;
	padding: 7px 10px !important;
	border: 1px solid #5a2819 !important;
	border-radius: 6px !important;
	color: #fff !important;
	background: #5a2819 !important;
	box-shadow: none !important;
	font-size: 10px !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
	text-align: center;
	text-transform: none !important;
	cursor: pointer;
}

.tcr-product-state-open:hover {
	border-color: #b78922 !important;
	color: #22110d !important;
	background: #e7be54 !important;
}

summary.tcr-product-state-open {
	display: block;
	box-sizing: border-box;
	list-style: none;
	user-select: none;
}

summary.tcr-product-state-open::-webkit-details-marker {
	display: none;
}

.tcr-product-manager-fallback {
	min-width: 0;
	width: 100%;
}

.tcr-product-manager-single > .tcr-product-manager-fallback,
.tcr-product-manager-search > .tcr-product-manager-fallback {
	grid-column: 2;
}

.tcr-product-manager > .tcr-product-manager-fallback[open] {
	grid-column: 1 / -1;
}

.tcr-product-manager-fallback-panel {
	display: grid;
	gap: 10px;
	margin-top: 9px;
	padding: 11px;
	border: 1px solid #d4bd91;
	border-radius: 8px;
	color: #2a1510;
	background: #fffdf7;
}

.tcr-product-manager-fallback-intro {
	margin: 0;
	color: #60483b;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.45;
	text-align: left;
}

.tcr-product-manager-fallback-form {
	display: grid;
	gap: 9px;
	margin: 0;
}

.tcr-product-manager-fallback-row {
	display: grid;
	gap: 4px;
	margin: 0;
	color: #392218;
	font-size: 11px;
	font-weight: 900;
	line-height: 1.3;
	text-align: left;
}

.tcr-product-manager-fallback-row select {
	box-sizing: border-box;
	width: 100%;
	min-height: 38px;
	margin: 0;
	padding: 7px 30px 7px 9px;
	border: 1px solid #775744;
	border-radius: 6px;
	color: #20110d !important;
	background: #fff !important;
	font-size: 12px;
	font-weight: 800;
}

.tcr-product-manager-fallback-save {
	min-height: 38px;
	margin: 1px 0 0 !important;
	padding: 8px 10px !important;
	border: 1px solid #14592d !important;
	border-radius: 6px !important;
	color: #fff !important;
	background: #176b36 !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	line-height: 1.25 !important;
	cursor: pointer;
}

.tcr-product-manager-fallback-save:hover {
	background: #0f5228 !important;
}
a.tcr-product-state-open {
	display: flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	text-decoration: none !important;
	user-select: none;
}

.tcr-product-manager-fallback-closed,
.tcr-product-manager-fallback-overlay {
	display: none;
}

.tcr-product-manager-fallback-overlay:target {
	position: fixed;
	inset: 0;
	z-index: 2147483000;
	display: grid;
	box-sizing: border-box;
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	padding: 14px;
	place-items: center;
	overflow: auto;
	color: #24130e;
	background: rgba(24, 10, 6, 0.78);
	font-family: Arial, sans-serif;
}

html:has(.tcr-product-manager-fallback-overlay:target) {
	overflow: hidden;
}

.tcr-product-manager-fallback-backdrop {
	position: absolute;
	inset: 0;
}

.tcr-product-manager-fallback-panel {
	position: relative;
	z-index: 1;
	display: block;
	box-sizing: border-box;
	width: min(680px, 100%);
	max-height: calc(100vh - 28px);
	max-height: calc(100dvh - 28px);
	margin: 0;
	padding: 0;
	overflow: auto;
	border: 1px solid #caa14a;
	border-radius: 18px;
	color: #24130e;
	background: #fffaf0;
	box-shadow: 0 28px 90px rgba(17, 7, 4, 0.48);
}

.tcr-product-manager-fallback-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 18px;
	align-items: start;
	padding: 20px 22px 17px;
	color: #fff;
	background: linear-gradient(145deg, #35130d, #6b2e1e);
}

.tcr-product-manager-fallback-head span {
	color: #eccb78;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.tcr-product-manager-fallback-head h2 {
	margin: 5px 0 0;
	color: #fff;
	font: 700 clamp(24px, 4vw, 34px) / 1.08 Georgia, "Times New Roman", serif;
}

.tcr-product-manager-fallback-head p {
	margin: 8px 0 0;
	color: #f6e9d7;
	font-size: 13px;
	line-height: 1.45;
}

.tcr-product-manager-fallback-close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(255, 255, 255, 0.44);
	border-radius: 999px;
	color: #fff !important;
	text-decoration: none !important;
	font-size: 25px;
	line-height: 1;
}

.tcr-product-manager-fallback-form {
	display: grid;
	gap: 0;
	margin: 0;
}

.tcr-product-manager-fallback-list {
	display: grid;
	gap: 10px;
	padding: 16px 22px;
}

.tcr-product-manager-fallback-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(190px, 0.8fr);
	gap: 18px;
	align-items: center;
	margin: 0;
	padding: 13px 14px;
	border: 1px solid #dbc9aa;
	border-radius: 11px;
	color: #392218;
	background: #fff;
	font-size: 12px;
	font-weight: 900;
	line-height: 1.3;
	text-align: left;
}

.tcr-product-manager-fallback-row small {
	display: block;
	margin-top: 3px;
	color: #725f51;
	font-size: 11px;
	font-weight: 700;
}

.tcr-product-manager-fallback-row select {
	box-sizing: border-box;
	width: 100%;
	min-height: 43px;
	margin: 0;
	padding: 8px 34px 8px 11px;
	border: 1px solid #775744;
	border-radius: 7px;
	color: #20110d !important;
	background: #fff !important;
	font-size: 14px;
	font-weight: 800;
}

.tcr-product-manager-fallback-help {
	display: grid;
	gap: 5px;
	margin: 0 22px 17px;
	padding: 12px 14px;
	border-left: 4px solid #c59a3c;
	color: #5f4d40;
	background: #f7eedc;
}

.tcr-product-manager-fallback-help p {
	margin: 0;
	font-size: 11px;
	line-height: 1.45;
}

.tcr-product-manager-fallback-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px;
	padding: 14px 22px 19px;
	border-top: 1px solid #dbc9aa;
	background: #f5ead5;
}

.tcr-product-manager-fallback-editor-note,
.tcr-product-location-editor-note {
	flex: 1 1 280px;
	align-self: center;
	margin: 0 auto 0 0;
	color: #6d5144;
	font: 700 11px/1.45 Arial, sans-serif;
}

.tcr-product-location-editor-entry {
	display: flex;
	flex: 1 1 260px;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	margin-right: auto;
}

.tcr-product-location-editor-link {
	display: inline-flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 9px 14px;
	border: 1px solid #6a351d;
	border-radius: 7px;
	color: #fff !important;
	background: #6a351d;
	font-size: 13px;
	font-weight: 900;
	line-height: 1.25;
	text-align: center;
	text-decoration: none !important;
}

.tcr-product-location-editor-link:hover {
	border-color: #b78922;
	color: #25120d !important;
	background: #e7be54;
}

.tcr-product-location-editor-entry [data-tcr-product-editor-load-status] {
	margin: 6px 0 0;
	color: #563406;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.4;
}

.tcr-product-location-editor-entry [data-tcr-product-editor-load-status]:empty {
	display: none;
}

.tcr-product-location-editor-entry [data-tcr-product-editor-load-status].is-error {
	padding: 7px 9px;
	border: 1px solid #d9a09a;
	border-radius: 7px;
	color: #7b1815;
	background: #fff0ee;
}

.tcr-product-location-editor-entry [data-tcr-product-editor-load-status]:not(:empty):not(.is-error) {
	padding: 7px 9px;
	border: 1px solid #d8bc74;
	border-radius: 7px;
	background: #fff6d9;
}

.tcr-product-manager-fallback-cancel,
.tcr-product-manager-fallback-save {
	display: flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	margin: 0 !important;
	padding: 9px 16px !important;
	border-radius: 7px !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	text-decoration: none !important;
}

.tcr-product-manager-fallback-cancel {
	border: 1px solid #6e594d;
	color: #40261d !important;
	background: transparent;
}

.tcr-product-manager-fallback-save {
	border: 1px solid #14592d !important;
	color: #fff !important;
	background: #176b36 !important;
	cursor: pointer;
}

.tcr-product-manager-fallback-save:hover {
	background: #0f5228 !important;
}

.tcr-product-manager-fallback-close:focus-visible,
.tcr-product-manager-fallback-cancel:focus-visible,
.tcr-product-manager-fallback-save:focus-visible,
.tcr-product-location-editor-link:focus-visible,
.tcr-product-manager-fallback-row select:focus-visible {
	outline: 3px solid #e4b43f;
	outline-offset: 2px;
}

@media (max-width: 620px) {
	.tcr-product-manager-fallback-overlay:target {
		padding: 8px;
	}

	.tcr-product-manager-fallback-panel {
		max-height: calc(100vh - 16px);
		max-height: calc(100dvh - 16px);
	}

	.tcr-product-manager-fallback-head,
	.tcr-product-manager-fallback-list,
	.tcr-product-manager-fallback-actions {
		padding-right: 16px;
		padding-left: 16px;
	}

	.tcr-product-manager-fallback-row {
		grid-template-columns: minmax(0, 1fr);
		gap: 9px;
	}

	.tcr-product-manager-fallback-help {
		margin-right: 16px;
		margin-left: 16px;
	}
}


.tcr-product-manager-result {
	grid-column: 1 / -1;
	margin: 0;
	padding: 7px 8px;
	border: 1px solid #6b99c8;
	border-radius: 6px;
	color: #173b63;
	background: #eef6ff;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.4;
	text-align: left;
}

.tcr-product-manager-result.is-saved {
	border-color: #70a985;
	color: #14592d;
	background: #e8f7ed;
}

.tcr-product-manager-result.is-error {
	border-color: #bd3d3d;
	color: #731818;
	background: #fff0f0;
}

.tcr-product-state-open:focus-visible,
.tcr-product-location-editor-link:focus-visible,
.tcr-product-location-dialog button:focus-visible,
.tcr-product-location-dialog select:focus-visible {
	outline: 3px solid #2d78c8 !important;
	outline-offset: 2px;
}

.tcr-product-manager-runtime-status {
	grid-column: 1 / -1;
	margin: 0;
	padding: 7px 8px;
	border: 1px solid #6b99c8;
	border-radius: 6px;
	color: #173b63;
	background: #eef6ff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	text-align: left;
}

.tcr-product-manager-runtime-status[data-state="blocked"] {
	border-color: #b87716;
	color: #613700;
	background: #fff2d3;
}

.tcr-product-manager-runtime-status[data-state="error"] {
	border-color: #bd3d3d;
	color: #731818;
	background: #fff0f0;
}

.tcr-product-manager-runtime-status:focus-visible {
	outline: 3px solid #2d78c8;
	outline-offset: 2px;
}

.tcr-product-manager-runtime-status[hidden] {
	display: none !important;
}

/* Grey the merchandise presentation, not the recovery control. */
.tcr-manager-product.tcr-location-state-hidden,
article.search-result:has(.tcr-product-manager-badge.tcr-state-hidden) {
	border-color: #92979c !important;
	background: #e4e5e6 !important;
}

.tcr-manager-product.tcr-location-state-hidden > a img,
.tcr-manager-product.tcr-location-state-hidden .woocommerce-product-gallery img,
article.search-result:has(.tcr-product-manager-badge.tcr-state-hidden) img {
	filter: grayscale(1) !important;
	opacity: 0.55;
}

.tcr-manager-product.tcr-location-state-hidden .woocommerce-loop-product__title,
.tcr-manager-product.tcr-location-state-hidden .price,
.tcr-manager-product.tcr-location-state-hidden .summary > :not(.tcr-product-manager),
article.search-result:has(.tcr-product-manager-badge.tcr-state-hidden) > :not(.tcr-product-manager) {
	color: #4f555b !important;
}

.tcr-manager-product.tcr-location-state-out_of_stock,
article.search-result:has(.tcr-product-manager-badge.tcr-state-out_of_stock) {
	box-shadow: inset 0 0 0 2px rgba(196, 125, 32, 0.48) !important;
}

.tcr-product-public-state {
	box-sizing: border-box;
	margin: 8px 12px 10px;
	padding: 7px 9px;
	border: 1px solid #d6a042;
	border-radius: 7px;
	color: #572d06 !important;
	background: #fff1d4;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.35;
	text-align: center;
}

.tcr-product-public-state-card {
	order: 5;
	align-self: center;
	width: calc(100% - 24px);
	max-width: 100%;
}

.tcr-product-public-state-single {
	width: min(100%, 520px);
	margin: 10px auto 16px;
	padding: 11px 14px;
	font-size: 14px;
}

.tcr-product-public-state-search {
	width: min(100%, 560px);
	margin-right: 0;
	margin-left: 0;
}

.stock.tcr-location-unavailable {
	display: block;
	width: min(100%, 520px);
	margin: 10px auto 14px !important;
	padding: 9px 12px;
	border: 1px solid #c78225;
	border-radius: 7px;
	color: #6b3500 !important;
	background: #fff1d4;
	font-weight: 900;
	line-height: 1.4;
	text-align: center;
}

html.tcr-location-products-loading {
	cursor: progress;
}

html.tcr-location-products-loading body {
	opacity: 0.72;
	pointer-events: none;
}

html.tcr-product-dialog-open {
	overflow: hidden;
}

.tcr-product-location-dialog {
	width: min(680px, calc(100vw - 28px));
	max-width: 680px;
	max-height: min(820px, calc(100vh - 28px));
	margin: auto;
	padding: 0;
	overflow: hidden;
	border: 1px solid #caa14a;
	border-radius: 18px;
	color: #24130e;
	background: #fffaf0;
	box-shadow: 0 28px 90px rgba(17, 7, 4, 0.48);
	font-family: Arial, sans-serif;
}

.tcr-product-location-dialog::backdrop {
	background: rgba(24, 10, 6, 0.76);
	backdrop-filter: blur(5px);
}

.tcr-product-location-dialog[open] {
	display: block;
}

/* Complete overlay behavior for browsers or optimizers that cannot use the
 * native dialog top layer. */
.tcr-product-location-dialog.tcr-product-location-dialog-fallback[open] {
	position: fixed;
	inset: 0;
	z-index: 2147483000;
	display: grid;
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: 14px;
	place-items: center;
	overflow: auto;
	border: 0;
	border-radius: 0;
	background: rgba(24, 10, 6, 0.76);
	box-shadow: none;
	box-sizing: border-box;
}

.tcr-product-location-dialog.tcr-product-location-dialog-fallback .tcr-product-location-shell {
	width: min(680px, 100%);
	border: 1px solid #caa14a;
	border-radius: 18px;
	background: #fffaf0;
	box-shadow: 0 28px 90px rgba(17, 7, 4, 0.48);
}

.tcr-product-location-shell {
	display: flex;
	flex-direction: column;
	max-height: min(820px, calc(100vh - 28px));
	margin: 0;
}

.tcr-product-location-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 18px;
	align-items: start;
	padding: 22px 24px 18px;
	color: #fff;
	background: linear-gradient(145deg, #35130d, #6b2e1e);
}

.tcr-product-location-head span {
	display: block;
	margin-bottom: 5px;
	color: #eccb78;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.tcr-product-location-head h2 {
	margin: 0;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(25px, 4vw, 36px);
	line-height: 1.08;
}

.tcr-product-location-head p {
	max-width: 550px;
	margin: 9px 0 0;
	color: #f6e9d7;
	font-size: 13px;
	line-height: 1.5;
}

.tcr-product-location-close {
	width: 38px;
	height: 38px;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(255, 255, 255, 0.44) !important;
	border-radius: 999px !important;
	color: #fff !important;
	background: rgba(255, 255, 255, 0.08) !important;
	font-size: 25px !important;
	line-height: 1 !important;
	cursor: pointer;
}

.tcr-product-location-status {
	min-height: 22px;
	margin: 0;
	padding: 9px 24px 0;
	color: #5d3b18;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.35;
}

.tcr-product-location-status.is-success {
	color: #176b36;
}

.tcr-product-location-status.is-error {
	color: #a22222;
}

.tcr-product-location-list {
	display: grid;
	gap: 10px;
	padding: 13px 24px 16px;
	overflow: auto;
}

.tcr-product-location-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(190px, 0.8fr);
	gap: 18px;
	align-items: center;
	padding: 14px 15px;
	border: 1px solid #dbc9aa;
	border-radius: 11px;
	background: #fff;
}

.tcr-product-location-row[data-state="out_of_stock"] {
	border-color: #d79a3a;
	background: #fff6e4;
}

.tcr-product-location-row[data-state="hidden"] {
	border-color: #92979c;
	background: #edf0f1;
}

.tcr-product-location-row strong,
.tcr-product-location-row small {
	display: block;
}

.tcr-product-location-row strong {
	color: #2b1710;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 19px;
}

.tcr-product-location-row small {
	margin-top: 3px;
	color: #725f51;
	font-size: 11px;
	line-height: 1.3;
}

.tcr-product-location-row select {
	width: 100%;
	min-height: 43px;
	margin: 0;
	padding: 8px 34px 8px 11px;
	border: 1px solid #775744;
	border-radius: 7px;
	color: #20110d !important;
	background-color: #fff !important;
	font-size: 14px;
	font-weight: 800;
}

.tcr-product-location-row select option {
	color: #20110d !important;
	background: #fff !important;
}

.tcr-product-location-help {
	display: grid;
	gap: 5px;
	margin: 0 24px 18px;
	padding: 12px 14px;
	border-left: 4px solid #c59a3c;
	color: #5f4d40;
	background: #f7eedc;
}

.tcr-product-location-help p {
	margin: 0;
	font-size: 11px;
	line-height: 1.45;
}

.tcr-product-location-help .tcr-product-location-cache-warning {
	margin-top: 5px;
	padding-top: 8px;
	border-top: 1px solid #cba449;
	color: #7c271e;
}

.tcr-product-location-help strong {
	color: #382019;
}

.tcr-product-location-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px;
	padding: 15px 24px 20px;
	border-top: 1px solid #dbc9aa;
	background: #f5ead5;
}

.tcr-product-location-actions button {
	min-height: 42px;
	margin: 0 !important;
	padding: 9px 16px !important;
	border-radius: 7px !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	cursor: pointer;
}

.tcr-product-location-cancel {
	border: 1px solid #6e594d !important;
	color: #40261d !important;
	background: transparent !important;
}

.tcr-product-location-save {
	border: 1px solid #542218 !important;
	color: #fff !important;
	background: #542218 !important;
}

.tcr-product-location-actions button:disabled,
.tcr-product-location-row select:disabled {
	cursor: wait;
	opacity: 1 !important;
}

.tcr-product-location-actions button:disabled {
	border-color: #8d7a6d !important;
	color: #4b382f !important;
	background: #d9d0c8 !important;
}

.tcr-product-location-row select:disabled {
	border-color: #9a8778 !important;
	color: #4b382f !important;
	background: #e6ddd4 !important;
}

@media (max-width: 620px) {
	.tcr-product-manager-single,
	.tcr-product-manager-search {
		grid-template-columns: minmax(0, 1fr);
	}

	.tcr-product-manager-single > .tcr-product-manager-fallback,
	.tcr-product-manager-search > .tcr-product-manager-fallback {
		grid-column: 1;
	}

	.tcr-product-location-dialog,
	.tcr-product-location-shell {
		width: calc(100vw - 16px);
		max-height: calc(100vh - 16px);
	}

	.tcr-product-location-head {
		gap: 10px;
		padding: 17px 16px 14px;
	}

	.tcr-product-location-status {
		padding-right: 16px;
		padding-left: 16px;
	}

	.tcr-product-location-list {
		padding: 10px 16px 13px;
	}

	.tcr-product-location-row {
		grid-template-columns: minmax(0, 1fr);
		gap: 9px;
		padding: 12px;
	}

	.tcr-product-location-help {
		margin: 0 16px 14px;
	}

	.tcr-product-location-actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
		padding: 12px 16px 16px;
	}

	.tcr-product-location-actions .tcr-product-location-editor-entry {
		grid-column: 1 / -1;
	}
}

@media (prefers-reduced-motion: reduce) {

	.tcr-product-location-actions .tcr-product-location-editor-note,
	.tcr-product-manager-fallback-actions .tcr-product-manager-fallback-editor-note {
		grid-column: 1 / -1;
	}
	.tcr-location-products-loading body {
		transition: none;
	}
}
