/**
 * TDI Quick Order — child theme styling for elementor-22537 / quick order pages.
 * Matches Horeca Noten Elementor kit colors.
 */

.tqo-container {
	--hnc-qo-green: #3f846a;
	--hnc-qo-green-hover: #357358;
	--hnc-qo-primary: var(--e-global-color-primary, #3d3129);
	--hnc-qo-accent: var(--e-global-color-accent, #2f6f59);
	--hnc-qo-surface: var(--e-global-color-e73d21c, #f8f2f2);
	--hnc-qo-border: rgba(61, 49, 41, 0.14);
	--hnc-qo-border-strong: rgba(61, 49, 41, 0.22);
	--hnc-qo-radius: 4px;

	--tqo-primary-color: var(--hnc-qo-accent);
	--tqo-primary-hover: var(--hnc-qo-green-hover);
	--tqo-success-color: var(--hnc-qo-green);
	--tqo-border-color: var(--hnc-qo-border);
}

/* Search & filters */
.tqo-container .tqo-search__input,
.tqo-container .tqo-filter__select,
.tqo-container .tqo-filter__price-input,
.tqo-container .tqo-filter__weight-input {
	border-color: var(--hnc-qo-border);
	border-radius: var(--hnc-qo-radius);
	background-color: #fff;
	color: var(--hnc-qo-primary);
	font-family: var(--e-global-typography-text-font-family, inherit);
}

.tqo-container .tqo-search__input:focus,
.tqo-container .tqo-filter__select:focus,
.tqo-container .tqo-filter__price-input:focus,
.tqo-container .tqo-filter__weight-input:focus {
	border-color: var(--hnc-qo-accent);
	box-shadow: 0 0 0 1px var(--hnc-qo-accent);
}

.tqo-container .tqo-filters {
	background-color: var(--hnc-qo-surface);
	border: 1px solid var(--hnc-qo-border);
	border-radius: var(--hnc-qo-radius);
}

.tqo-container .tqo-filter__label {
	color: var(--hnc-qo-primary);
	font-weight: 500;
}

/* Table */
.tqo-container .tqo-table {
	border-color: var(--hnc-qo-border);
	border-radius: var(--hnc-qo-radius);
	background-color: #fff;
}

.tqo-container .tqo-table__head {
	background-color: var(--hnc-qo-surface);
}

.tqo-container .tqo-table__header {
	color: var(--hnc-qo-primary);
	border-bottom-color: var(--hnc-qo-border-strong);
	text-transform: none;
	font-weight: 600;
	letter-spacing: 0;
}

.tqo-container .tqo-table__header[data-sort]:hover {
	background-color: rgba(47, 111, 89, 0.08);
}

.tqo-container .tqo-table__row {
	border-bottom-color: var(--hnc-qo-border);
}

.tqo-container .tqo-table__row:hover {
	background-color: rgba(248, 242, 242, 0.65);
}

.tqo-container .tqo-table__cell {
	color: var(--hnc-qo-primary);
}

.tqo-container .tqo-table__image {
	border-color: var(--hnc-qo-border);
}

.tqo-container .tqo-table__cell--price .price ins,
.tqo-container .tqo-table__cell--price .woocommerce-Price-amount {
	color: var(--hnc-qo-accent);
}

/* Product title — show external-link icon inline, directly after text */
.tqo-container .tqo-product-title-link {
	display: inline;
	color: inherit;
	text-decoration: none;
}

.tqo-container .tqo-product-title-link__text {
	display: inline;
}

.tqo-container .tqo-product-title-link__icon {
	display: none;
	width: 0.75em;
	height: 0.75em;
	margin-left: 0.2em;
	vertical-align: baseline;
	opacity: 0.55;
	flex-shrink: 0;
}

.tqo-container .tqo-product-title-link:hover {
	color: var(--hnc-qo-accent);
	text-decoration: underline;
}

.tqo-container .tqo-product-title-link:hover .tqo-product-title-link__icon {
	display: inline;
	vertical-align: baseline;
}

/* Quantity — compact, single unified control (max ~3 digits) */
.tqo-container .tqo-quantity {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid var(--hnc-qo-border-strong);
	border-radius: var(--hnc-qo-radius);
	overflow: hidden;
	background-color: #fff;
}

.tqo-container .tqo-quantity__button {
	width: 26px;
	height: 28px;
	min-width: 26px;
	border: none;
	border-radius: 0;
	background-color: var(--hnc-qo-surface);
	color: var(--hnc-qo-primary);
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
}

.tqo-container .tqo-quantity__button + .tqo-quantity__input,
.tqo-container .tqo-quantity__input + .tqo-quantity__button {
	border-left: 1px solid var(--hnc-qo-border);
}

.tqo-container .tqo-quantity__button:hover:not(:disabled) {
	background-color: rgba(47, 111, 89, 0.12);
	color: var(--hnc-qo-accent);
}

.tqo-container .tqo-quantity__input {
	width: 2.6em;
	min-width: 2.6em;
	max-width: 2.6em;
	height: 28px;
	padding: 0 0.15em;
	border: none;
	border-left: 1px solid var(--hnc-qo-border);
	border-right: 1px solid var(--hnc-qo-border);
	font-size: 13px;
	font-weight: 500;
	text-align: center;
	background-color: #fff;
	color: var(--hnc-qo-primary);
}

.tqo-container .tqo-quantity__input:focus {
	outline: none;
	box-shadow: inset 0 0 0 1px var(--hnc-qo-accent);
}

.tqo-container .tqo-quantity__button--max {
	min-width: auto;
	height: 28px;
	padding: 0 0.45rem;
	font-size: 11px;
	border-left: 1px solid var(--hnc-qo-border);
	background-color: var(--hnc-qo-surface);
}

/* Add to cart */
.tqo-container .tqo-button--add-to-cart {
	background-color: var(--hnc-qo-green);
	border-color: var(--hnc-qo-green);
	color: #fff;
	font-weight: 500;
	border-radius: var(--hnc-qo-radius);
}

.tqo-container .tqo-button--add-to-cart:hover:not(:disabled) {
	background-color: var(--hnc-qo-green-hover);
	border-color: var(--hnc-qo-green-hover);
	color: #fff;
}

.tqo-container .tqo-button--primary {
	background-color: var(--hnc-qo-accent);
	border-color: var(--hnc-qo-accent);
}

.tqo-container .tqo-button--primary:hover:not(:disabled) {
	background-color: var(--hnc-qo-green-hover);
	border-color: var(--hnc-qo-green-hover);
}

/* Pagination & messages */
.tqo-container .tqo-pagination__button {
	border-color: var(--hnc-qo-border);
	color: var(--hnc-qo-primary);
}

.tqo-container .tqo-pagination__button:hover:not(:disabled) {
	background-color: var(--hnc-qo-surface);
	border-color: var(--hnc-qo-accent);
	color: var(--hnc-qo-accent);
}

.tqo-container .tqo-message--success {
	background-color: rgba(63, 132, 106, 0.12);
	border-color: rgba(63, 132, 106, 0.35);
	color: var(--hnc-qo-primary);
}

.tqo-container .tqo-filter__price-slider.ui-slider {
	background: var(--hnc-qo-border);
}

.tqo-container .tqo-filter__price-slider.ui-slider .ui-slider-range {
	background: var(--hnc-qo-accent);
}

.tqo-container .tqo-filter__price-slider.ui-slider .ui-slider-handle {
	border-color: var(--hnc-qo-accent);
}

@media (max-width: 768px) {
	.tqo-container .tqo-quantity__input {
		width: 2.6em;
		min-width: 2.6em;
		max-width: 2.6em;
	}
}
