/* UCI B2B – shop display. Colours follow the child theme (copper accent). */
:root {
	--uci-copper: #B9825A;
	--uci-copper-dark: #9C6A45;
	--uci-ink: #231A15;
	--uci-text: #5A5550;
	--uci-cream: #F7F2EE;
	--uci-line: #E6DFD8;
}

.uci-store-notice {
	background: var(--uci-cream);
	border-left: 4px solid var(--uci-copper);
	color: var(--uci-ink);
	padding: 12px 16px;
	margin: 0 0 24px;
	font-size: 0.95em;
}
.uci-store-notice p { margin: 0; }
.uci-store-notice p + p { margin-top: 4px; }

/* Grid card */
.uci-card-details {
	margin: 6px 0 10px;
	font-size: 0.85em;
	color: var(--uci-text);
	line-height: 1.45;
}
.uci-card-details div,
.uci-single-details div { display: flex; gap: 6px; }
.uci-card-details dt,
.uci-single-details dt { font-weight: 600; color: var(--uci-ink); margin: 0; }
.uci-card-details dt::after,
.uci-single-details dt::after { content: ":"; }
.uci-card-details dd,
.uci-single-details dd { margin: 0; overflow-wrap: anywhere; }

.uci-price { display: inline-flex; align-items: baseline; gap: 4px; flex-wrap: wrap; }
.uci-price-unit { font-size: 0.75em; font-weight: 400; color: var(--uci-text); }
.uci-tier-tag {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 8px;
	border-radius: 10px;
	background: var(--uci-copper);
	color: #fff;
	font-size: 0.7em;
	vertical-align: middle;
}

a.button.uci-view-button {
	background: var(--uci-copper);
	border-color: var(--uci-copper);
	color: #fff;
	min-width: 96px;
	text-align: center;
}
a.button.uci-view-button:hover,
a.button.uci-view-button:focus { background: var(--uci-copper-dark); border-color: var(--uci-copper-dark); color: #fff; }

/* Product page */
.uci-single-details {
	margin: 12px 0 18px;
	padding: 12px 0;
	border-top: 1px solid var(--uci-line);
	border-bottom: 1px solid var(--uci-line);
	color: var(--uci-text);
}
.uci-single-details div + div { margin-top: 4px; }

.uci-calc { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; width: 100%; }
.uci-calc-label { font-weight: 600; color: var(--uci-ink); }
.uci-calc .quantity input.qty { width: 7.5em; }
.uci-calc-result { margin: 0; font-size: 0.92em; color: var(--uci-ink); }
.uci-calc-result strong { color: var(--uci-copper-dark); }
form.cart:has(.uci-calc) { flex-wrap: wrap; }

.uci-login-to-order { margin: 16px 0; }
.uci-login-to-order small { color: var(--uci-text); }

.uci-unit { margin-left: 4px; color: var(--uci-text); font-size: 0.9em; }

.uci-preview-badge {
	position: fixed; right: 16px; bottom: 16px; z-index: 9999;
	background: var(--uci-ink); color: #fff; padding: 8px 12px; border-radius: 6px; font-size: 13px;
}
.uci-preview-badge a { color: #F2C9A8; }

/* Cart quantity box wide enough for e.g. 100.80 */
.woocommerce-cart-form .quantity input.qty.uci-m2-qty { width: 6em; }

/* Add to cart: spinner while the cart is updating */
.single_add_to_cart_button.uci-loading {
	position: relative;
	pointer-events: none;
	opacity: 0.85;
	color: transparent !important;
}
.single_add_to_cart_button.uci-loading::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 18px;
	height: 18px;
	margin: -9px 0 0 -9px;
	border: 2px solid rgba(255, 255, 255, 0.45);
	border-top-color: #fff;
	border-radius: 50%;
	animation: uci-spin 0.7s linear infinite;
}
@keyframes uci-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
	.single_add_to_cart_button.uci-loading::after { animation-duration: 2s; }
}

/* Cart count on the Cart menu link */
.uci-cart-link { display: inline-flex; align-items: center; gap: 6px; }
.uci-cart-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 10px;
	background: var(--uci-copper);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	transition: transform 0.2s ease;
}
.uci-cart-count[data-count="0"] { background: var(--uci-line); color: var(--uci-text); }
.uci-cart-count.uci-bump { transform: scale(1.25); }

/* My orders and invoice */
.uci-account-note { color: var(--uci-text); font-size: 0.92em; }
.uci-table-wrap { overflow-x: auto; }
.uci-orders td, .uci-orders th { vertical-align: middle; }
a.button.uci-order-view { background: var(--uci-copper); border-color: var(--uci-copper); color: #fff; padding: 6px 16px; }
.uci-pager { display: flex; gap: 8px; justify-content: space-between; margin-top: 16px; }
.uci-invoice-actions { display: flex; gap: 8px; justify-content: space-between; flex-wrap: wrap; margin-bottom: 16px; }
.uci-invoice { background: #fff; border: 1px solid var(--uci-line); padding: 24px; color: var(--uci-ink); font-size: 14px; }
.uci-inv-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 16px; }
.uci-inv-head h2 { margin: 0; font-size: 1.6em; }
.uci-inv-head img { max-height: 70px; width: auto; }
.uci-inv-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; background: var(--uci-cream); padding: 10px 12px; margin-bottom: 16px; }
.uci-inv-meta span { display: block; font-weight: 700; }
.uci-inv-parties { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 16px; }
.uci-inv-parties h3, .uci-inv-terms h3 { font-size: 1em; margin: 0 0 4px; }
.uci-inv-instr { font-style: italic; font-weight: 600; margin-top: 8px; }
.uci-inv-lines { width: 100%; border-collapse: collapse; margin-bottom: 16px; }
.uci-inv-lines th { background: var(--uci-cream); text-align: left; padding: 8px; }
.uci-inv-lines td { padding: 8px; border-bottom: 1px solid var(--uci-line); vertical-align: top; }
.uci-inv-lines .num { text-align: right; white-space: nowrap; }
.uci-inv-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.uci-inv-totals { width: 100%; }
.uci-inv-totals th { text-align: right; font-weight: 400; padding: 4px 8px; }
.uci-inv-totals td { text-align: right; padding: 4px 0; }
.uci-inv-totals tr.sep th, .uci-inv-totals tr.sep td { border-top: 1px solid var(--uci-line); }
.uci-inv-totals tr.grand th, .uci-inv-totals tr.grand td { font-weight: 700; }
.uci-inv-bank { display: grid; grid-template-columns: auto auto 1fr 1fr; gap: 12px; border-top: 1px solid var(--uci-line); border-bottom: 1px solid var(--uci-line); padding: 12px 0; margin: 20px 0; }
.uci-inv-bank span { display: block; font-weight: 700; }
.uci-inv-foot { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; font-size: 0.9em; }
@media (max-width: 640px) {
	.uci-inv-meta, .uci-inv-parties, .uci-inv-bottom, .uci-inv-bank, .uci-inv-foot { grid-template-columns: 1fr 1fr; }
	.uci-invoice { padding: 14px; }
}
