/**
 * Front-end styling for the calculator, cart and checkout. RTL-first (the site
 * is Hebrew); uses logical properties so it also works LTR.
 */

/* -----------------------------------------------------------------------
 * Unified button language — colours come from the site theme (Flatsome):
 * primary #4382c3 · success #43a655 · alert #ba1200. Add-to-cart buttons are
 * outline; funnel-advance buttons (checkout / place order) are filled blue.
 * Every button shares the same radius (6px), weight, motion and focus ring.
 * --------------------------------------------------------------------- */
:root {
	--dpc-primary: #4382c3;
	--dpc-primary-fill: #3a76b5; /* brand blue, darkened just enough for 4.5:1 white text (WCAG AA) */
	--dpc-primary-dark: #35699f;
	--dpc-primary-tint: #edf4fb;
	--dpc-success: #43a655;
	--dpc-success-text: #2e7d3c; /* AA-compliant green for text on white/tint */
	--dpc-success-dark: #388d48;
	--dpc-success-tint: #ecf7ee;
	--dpc-danger: #ba1200;
	--dpc-danger-dark: #8f0e00;
	--dpc-danger-tint: #fbebe9;
	--dpc-danger-soft: #eaa9a1;
	--dpc-muted: #6b7280;
	--dpc-muted-dark: #4b5563;
	--dpc-neutral: #58595b;
	--dpc-neutral-dark: #414244;
	--dpc-btn-shadow: 0 4px 10px rgba(50, 50, 93, 0.18);
	--dpc-focus-ring: 0 0 0 3px rgba(67, 130, 195, 0.35);
}

/* Shared treatment: one motion + focus + disabled language for all buttons.
 * The neutralising properties (margin/min-height/line-height/letter-spacing/
 * text-transform) undo Flatsome's global `button` element styling, so real
 * <button> elements render identically to our <a> "buttons". */
.dpc-add-btn,
.dpc-checkout-btn,
.dpc-place-order-btn,
.dpc-back-btn,
.dpc-wishlist-add-btn,
.dpc-wl-to-cart,
.dpc-wl-add-all-btn,
.dpc-add-size,
.dpc-remove-size,
.dpc-remove-cart-size,
.dpc-remove,
.dpc-wl-remove,
.dpc-combo-clear {
	margin: 0;
	min-height: 0;
	letter-spacing: 0;
	text-transform: none;
	transition: background-color 0.2s ease, color 0.2s ease,
		border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}
.dpc-add-btn,
.dpc-checkout-btn,
.dpc-place-order-btn,
.dpc-back-btn,
.dpc-wishlist-add-btn,
.dpc-wl-to-cart,
.dpc-wl-add-all-btn,
.dpc-add-size {
	line-height: 1.4;
	vertical-align: middle;
}
/* Full-size action buttons lift gently on hover. */
.dpc-add-btn:hover,
.dpc-checkout-btn:hover,
.dpc-place-order-btn:hover,
.dpc-back-btn:hover,
.dpc-wishlist-add-btn:hover,
.dpc-wl-add-all-btn:hover {
	transform: translateY(-1px);
	box-shadow: var(--dpc-btn-shadow);
}
/* Clear pressed feedback (inset shadow reads as "pushed in"). */
.dpc-add-btn:active,
.dpc-checkout-btn:active,
.dpc-place-order-btn:active,
.dpc-back-btn:active,
.dpc-wishlist-add-btn:active,
.dpc-wl-add-all-btn:active {
	transform: translateY(0);
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.15);
}
.dpc-wl-to-cart:active,
.dpc-add-size:active,
.dpc-remove-size:active,
.dpc-remove-cart-size:active {
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
}
.dpc-add-btn:focus-visible,
.dpc-checkout-btn:focus-visible,
.dpc-place-order-btn:focus-visible,
.dpc-back-btn:focus-visible,
.dpc-wishlist-add-btn:focus-visible,
.dpc-wl-to-cart:focus-visible,
.dpc-wl-add-all-btn:focus-visible,
.dpc-add-size:focus-visible,
.dpc-remove-size:focus-visible,
.dpc-remove-cart-size:focus-visible,
.dpc-remove:focus-visible,
.dpc-wl-remove:focus-visible,
.dpc-combo-clear:focus-visible {
	outline: 0;
	box-shadow: var(--dpc-focus-ring);
}
.dpc-add-btn:disabled,
.dpc-place-order-btn:disabled,
.dpc-wishlist-add-btn:disabled,
.dpc-wl-to-cart:disabled,
.dpc-wl-add-all-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

/* Small ×/remove buttons stay visually compact but get an enlarged invisible
 * hit area (comfortable touch target without changing the layout). */
.dpc-remove,
.dpc-wl-remove,
.dpc-remove-size,
.dpc-remove-cart-size {
	position: relative;
}
.dpc-remove::after,
.dpc-wl-remove::after,
.dpc-remove-size::after,
.dpc-remove-cart-size::after {
	content: "";
	position: absolute;
	inset: -4px;
}

/* Respect users who turn animations off. */
@media (prefers-reduced-motion: reduce) {
	.dpc-add-btn,
	.dpc-checkout-btn,
	.dpc-place-order-btn,
	.dpc-back-btn,
	.dpc-wishlist-add-btn,
	.dpc-wl-to-cart,
	.dpc-wl-add-all-btn,
	.dpc-add-size,
	.dpc-remove-size,
	.dpc-remove-cart-size,
	.dpc-remove,
	.dpc-wl-remove,
	.dpc-combo-clear {
		transition: none;
	}
	.dpc-add-btn:hover,
	.dpc-checkout-btn:hover,
	.dpc-place-order-btn:hover,
	.dpc-back-btn:hover,
	.dpc-wishlist-add-btn:hover,
	.dpc-wl-add-all-btn:hover {
		transform: none;
	}
}

.dpc-calculator,
.dpc-cart,
.dpc-checkout,
.dpc-wishlist,
.dpc-my-orders {
	max-width: 960px;
	margin: 1.5em auto;
	font-size: 16px;
	box-sizing: border-box;
}

/* Mobile: keep a gutter so the content doesn't touch the screen edges. */
@media (max-width: 660px) {
	.dpc-calculator,
	.dpc-cart,
	.dpc-checkout,
	.dpc-wishlist,
	.dpc-my-orders {
		padding-inline: 1rem;
	}
}

/* -----------------------------------------------------------------------
 * Progress steps: 1) חישוב מחיר  2) עגלה  3) ביצוע הזמנה
 * Shown at the top of every stage; the current step is highlighted.
 * --------------------------------------------------------------------- */
.dpc-steps {
	position: relative;
	display: flex;
	list-style: none;
	margin: 0 0 1.75em;
	padding: 0;
}
/* Connector line behind the three circles (centred on the 2em circles). */
.dpc-steps::before {
	content: "";
	position: absolute;
	top: 1em;
	inset-inline: 16.66%;
	height: 2px;
	background: #e5e7eb;
	z-index: 0;
}
.dpc-step {
	position: relative;
	z-index: 1;
	flex: 1 1 0;
	text-align: center;
	color: #9ca3af;
	font-size: 0.95em;
	line-height: 1.3;
}
.dpc-step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2em;
	height: 2em;
	margin-bottom: 0.45em;
	border-radius: 50%;
	background: #e5e7eb;
	color: var(--dpc-muted);
	font-weight: 700;
}
.dpc-step-label {
	display: block;
}
.dpc-step a {
	color: inherit;
	text-decoration: none;
}
.dpc-step.is-done {
	color: var(--dpc-primary);
}
.dpc-step.is-done .dpc-step-num,
.dpc-step.is-current .dpc-step-num {
	background: var(--dpc-primary);
	color: #fff;
}
.dpc-step.is-current {
	color: #111827;
	font-weight: 700;
}
/* A forward step made reachable (e.g. cart with items): clickable, tinted blue
   but lighter than a completed step so the current position stays clear. */
.dpc-step.is-available {
	color: var(--dpc-primary);
	cursor: pointer;
}
.dpc-step.is-available .dpc-step-num {
	background: #dbeafe;
	color: var(--dpc-primary);
}

/* -----------------------------------------------------------------------
 * Searchable product combobox (free text + smart, category-grouped list).
 * The native <select> is hidden but kept for form submission.
 * --------------------------------------------------------------------- */
.dpc-hidden-select {
	display: none !important;
}
.dpc-combo {
	position: relative;
}
/* Leave room at the logical end of the input for the "איפוס ✕" button so the
   typed text never slides underneath it. */
.dpc-combo-input {
	padding-inline-end: 5.25em;
}
/* Clear-search button — a small labelled pill ("איפוס ✕") pinned inside the
   input at its logical end (left in RTL), so it reads as part of the field.
   Resting: quiet neutral pill. Hover: soft red tint, signalling it clears the
   field (a mildly destructive action). */
.dpc-combo-clear {
	position: absolute;
	inset-inline-end: 0.4em;
	top: 50%;
	transform: translateY(-50%);
	z-index: 31;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	gap: 0.3em;
	/* Sized to its own content (no % height), so it always sits comfortably
	   inside the input and stays vertically centred regardless of field height. */
	padding: 0.2em 0.3em 0.2em 0.6em;
	border: 1px solid #e2e8f0;
	border-radius: 999px;
	background: #fff;
	color: var(--dpc-muted-dark);
	font-size: 0.78em;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.dpc-combo-clear:hover {
	background: var(--dpc-danger-tint);
	border-color: var(--dpc-danger-soft);
	color: var(--dpc-danger);
}
.dpc-combo-clear:active {
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.12);
}
.dpc-combo-clear-label {
	padding-inline-start: 0.05em;
}
/* The × sits in its own soft circular badge so it reads as a distinct
   "remove" affordance, not just a character next to the label. */
.dpc-combo-clear-x {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 1.4em;
	height: 1.4em;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.06);
	font-size: 1em;
	font-weight: 700;
	line-height: 1;
}
.dpc-combo-clear:hover .dpc-combo-clear-x {
	background: rgba(186, 18, 0, 0.12);
}
.dpc-combo-clear[hidden] {
	display: none;
}
.dpc-combo-list {
	position: absolute;
	z-index: 30;
	inset-inline: 0;
	top: calc(100% + 3px);
	max-height: 280px;
	overflow-y: auto;
	margin: 0;
	padding: 0.25em 0;
	list-style: none;
	background: #fff;
	border: 1px solid #d1d5db;
	border-radius: 6px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
}
.dpc-combo-list[hidden] {
	display: none;
}
.dpc-combo-group {
	padding: 0.4em 1em;
	font-size: 0.8em;
	font-weight: 700;
	color: var(--dpc-muted);
	background: #f9fafb;
}
.dpc-combo-item {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75em;
	padding: 0.55em 1em;
	cursor: pointer;
}
.dpc-combo-cat {
	flex: 0 0 auto;
	font-size: 0.78em;
	color: #9ca3af;
	white-space: nowrap;
}
.dpc-combo-item:hover,
.dpc-combo-item.is-active {
	background: var(--dpc-primary);
	color: #fff;
}
.dpc-combo-item:hover .dpc-combo-cat,
.dpc-combo-item.is-active .dpc-combo-cat {
	color: rgba(255, 255, 255, 0.85);
}
.dpc-combo-empty {
	padding: 0.6em 1em;
	color: #9ca3af;
}

/* Category + product search share one row; in RTL the category (first child)
   sits on the right and the main product search fills the rest. */
.dpc-search-row {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}
.dpc-search-row .dpc-field-category {
	flex: 0 0 200px;
}
.dpc-search-row .dpc-field-product {
	flex: 1 1 220px;
}
@media (max-width: 480px) {
	.dpc-search-row .dpc-field-category,
	.dpc-search-row .dpc-field-product {
		flex: 1 1 100%;
	}
}

/* Top notice (e.g. "enter width & height" for m²-priced materials) */
.dpc-notice {
	background: #fff8e1;
	border: 1px solid #f5d67b;
	color: #7a5b00;
	padding: 0.7em 1em;
	border-radius: 6px;
	margin-top: 1em;
	font-weight: 600;
}
.dpc-notice[hidden] {
	display: none;
}
/* Compact inline variant: a small hint right under the size row (not a banner) */
.dpc-notice.dpc-notice-inline {
	margin-top: 0.3em;
	padding: 0;
	background: transparent;
	border: 0;
	color: #b45309;
	font-size: 0.8em;
	font-weight: 500;
}

.dpc-field {
	margin-bottom: 1em;
}
.dpc-field label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.35em;
}
.dpc-field input,
.dpc-field select,
.dpc-field textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0.6em 0.7em;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 1em;
}
.dpc-hint {
	color: #777;
	font-size: 0.8em;
}
.dpc-req {
	color: var(--dpc-danger);
}

/* Width / height / quantity on one responsive row */
.dpc-row {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}
.dpc-row .dpc-field {
	flex: 1 1 120px;
}

/* Per-unit materials: dimensions don't apply, but quantity still does — keep
   the quantity field, drop width/height and the "add another size" button. */
.dpc-mode-unit .dpc-dim-field,
.dpc-mode-unit .dpc-add-size {
	display: none;
}

/* Repeatable size rows (multiple measurements, shared options) */
.dpc-size-row {
	align-items: flex-end;
	position: relative;
	padding-bottom: 0.5em;
	margin-bottom: 0.5em;
	border-bottom: 1px dashed #e2e8f0;
}
.dpc-size-row:last-of-type {
	border-bottom: 0;
}
/* Live square-metre readout for a measurement (width × height) */
.dpc-size-area {
	flex: 0 0 auto;
	align-self: center;
	font-weight: 600;
	font-size: 0.85em;
	color: #64748b;
	white-space: nowrap;
	min-width: 4.5em;
	text-align: start;
}
.dpc-size-subtotal {
	flex: 0 0 auto;
	align-self: center;
	display: flex;
	flex-direction: column;
	line-height: 1.25;
	font-weight: 700;
	color: #1a7f37;
	min-width: 4em;
	text-align: start;
}
.dpc-size-subtotal .dpc-sub-unit {
	font-weight: 500;
	font-size: 0.8em;
	color: #64748b;
}
/* Per-size minimum top-up performed on this measurement (amber, like the cart) */
.dpc-size-subtotal .dpc-sub-topup {
	font-weight: 600;
	font-size: 0.78em;
	color: #7a4f00;
}
/* Per-material minimum billing-area note under the size rows */
.dpc-min-note {
	display: flex;
	flex-direction: column;
	gap: 0.15em;
	margin-top: 0.4em;
	color: #b45309;
	font-size: 0.85em;
	font-weight: 600;
}
.dpc-min-note .dpc-min-note-topup {
	color: #1a7f37;
}
.dpc-remove-size {
	flex: 0 0 auto;
	align-self: center;
	background: transparent;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	color: var(--dpc-danger);
	font-size: 1.2em;
	line-height: 1;
	width: 2em;
	height: 2.4em;
	cursor: pointer;
}
.dpc-remove-size:hover {
	background: var(--dpc-danger-tint);
}
.dpc-add-size {
	background: transparent;
	border: 1px dashed var(--dpc-primary);
	color: var(--dpc-primary-dark);
	border-radius: 6px;
	padding: 0.5em 1em;
	font-size: 0.95em;
	font-weight: 600;
	cursor: pointer;
	margin-bottom: 1em;
}
.dpc-add-size:hover {
	background: var(--dpc-primary-tint);
}

/* Price box */
.dpc-price-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #f7f9fc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 0.8em 1em;
	margin: 1em 0;
}
.dpc-price-label {
	font-weight: 600;
}
.dpc-price-value {
	font-size: 1.5em;
	font-weight: 700;
	color: #1a7f37;
}

/* Buttons */
.dpc-add-btn,
.dpc-checkout-btn,
.dpc-place-order-btn {
	display: inline-block;
	background: var(--dpc-primary-fill);
	color: #fff;
	border: 0;
	border-radius: 6px;
	padding: 0.55em 1.1em;
	font-size: 0.95em;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
}
.dpc-add-btn:hover,
.dpc-checkout-btn:hover,
.dpc-place-order-btn:hover {
	background: var(--dpc-primary-dark);
	color: #fff;
}
/* Add-to-cart is outline (not filled) — the filled blue is reserved for the
   funnel-advance buttons (checkout / place order). */
.dpc-add-btn {
	background: #fff;
	color: var(--dpc-primary-dark);
	border: 1px solid var(--dpc-primary);
	padding: calc(0.55em - 1px) calc(1.1em - 1px);
}
.dpc-add-btn:hover {
	background: var(--dpc-primary-tint);
	color: var(--dpc-primary-dark);
}

/* Step navigation actions (back / forward) */
.dpc-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	align-items: center;
	justify-content: space-between;
	margin-top: 0.6em;
}
.dpc-back-btn {
	display: inline-block;
	background: #fff;
	color: var(--dpc-primary-dark);
	border: 1px solid var(--dpc-primary);
	border-radius: 6px;
	padding: calc(0.55em - 1px) calc(1.1em - 1px);
	font-size: 0.95em;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
}
.dpc-back-btn:hover {
	background: var(--dpc-primary-tint);
	color: var(--dpc-primary-dark);
}

.dpc-calc-message,
.dpc-checkout-message {
	min-height: 1.2em;
	margin: 0.5em 0;
	color: #555;
}
.dpc-checkout-message.dpc-error,
.dpc-calc-message.dpc-error {
	color: var(--dpc-danger);
}

/* Cart / checkout tables */
.dpc-cart-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1em;
}
.dpc-cart-table th,
.dpc-cart-table td {
	border: 1px solid #e5e7eb;
	padding: 0.6em;
	text-align: start;
}
.dpc-cart-table thead th {
	background: #f3f4f6;
}
.dpc-cart-table .dpc-qty {
	width: 70px;
	padding: 0.3em;
}

/* Automatic minimum top-ups in the totals footer: the per-material area minimum
   (dpc-cart-mat-row) and the whole-order minimum (dpc-cart-min-row). These are
   added surcharges, not plain subtotals — set them apart with an amber tint, a
   start-edge accent bar and a leading "+" on the amount, so a customer sees at a
   glance that something was added and why. */
.dpc-cart-table tfoot .dpc-cart-mat-row th,
.dpc-cart-table tfoot .dpc-cart-min-row th {
	background: #fff8e6;   /* amber tint — an added top-up, distinct from brand blue/green */
	color: #7a4f00;
	font-weight: 600;
}
.dpc-cart-table tfoot .dpc-cart-mat-row th:first-child,
.dpc-cart-table tfoot .dpc-cart-min-row th:first-child {
	border-inline-start: 4px solid #e6a417;
}
.dpc-cart-table tfoot .dpc-cart-mat-row th:last-child,
.dpc-cart-table tfoot .dpc-cart-min-row th:last-child {
	white-space: nowrap;
}
.dpc-cart-table tfoot .dpc-cart-mat-row th:last-child::before,
.dpc-cart-table tfoot .dpc-cart-min-row th:last-child::before {
	content: "+ ";
	font-weight: 700;
}

/* Product line total: the folded final price, with a small amber breakdown line
   underneath when part of it is a per-size minimum top-up. */
.dpc-line-total-value {
	display: block;
	font-weight: 700;
}
.dpc-line-total-topup {
	display: block;
	margin-top: 0.15em;
	font-size: 0.78em;
	font-weight: 600;
	color: #7a4f00;
}

/* Per-size list in a cart line: each measurement with its own quantity input */
.dpc-cart-sizes {
	list-style: none;
	margin: 0;
	padding: 0;
}
.dpc-cart-size {
	display: flex;
	align-items: center;
	gap: 0.4em;
	padding: 0.15em 0;
}
.dpc-cart-size + .dpc-cart-size {
	border-top: 1px dashed #eef0f3;
}
.dpc-cart-size-dim {
	flex: 1 1 auto;
	white-space: nowrap;
}
/* Admin notice: this line is priced by a specific price list (מחירון). */
.dpc-pricelist-badge {
	display: inline-block;
	margin-top: 0.35em;
	padding: 0.15em 0.6em;
	border-radius: 999px;
	background: #eef2ff;
	color: #3730a3;
	border: 1px solid #c7d2fe;
	font-size: 0.78em;
	font-weight: 600;
	line-height: 1.6;
	white-space: nowrap;
}
.dpc-cart-size-x {
	color: #9ca3af;
}
.dpc-cart-size .dpc-size-qty {
	width: 64px;
	padding: 0.3em;
}
/* Per-unit price shown next to each cart measurement (like the calculator) */
.dpc-cart-size-unit {
	color: #64748b;
	font-size: 0.82em;
	white-space: nowrap;
}
/* Small red "הסר" button that removes a single size from the line */
.dpc-remove-cart-size {
	flex: 0 0 auto;
	background: transparent;
	border: 1px solid var(--dpc-danger-soft);
	border-radius: 6px;
	color: var(--dpc-danger);
	font-size: 0.75em;
	font-weight: 600;
	line-height: 1;
	padding: 0.3em 0.5em;
	cursor: pointer;
}
.dpc-remove-cart-size:hover {
	background: var(--dpc-danger);
	border-color: var(--dpc-danger);
	color: #fff;
}
.dpc-remove {
	background: none;
	border: 0;
	color: var(--dpc-danger);
	font-size: 1.3em;
	line-height: 1;
	cursor: pointer;
}
.dpc-line-actions {
	white-space: nowrap;
}
.dpc-edit-line {
	display: inline-block;
	margin-inline-end: 0.5em;
	color: var(--dpc-primary-dark);
	font-size: 0.9em;
	font-weight: 600;
	text-decoration: none;
}
.dpc-edit-line:hover {
	text-decoration: underline;
}

.dpc-thankyou {
	background: #edfaef;
	border: 1px solid #a7e3b3;
	border-radius: 8px;
	padding: 1.2em;
	font-size: 1.1em;
	color: #0a5d24;
}
.dpc-empty,
.dpc-login-required {
	color: #555;
	background: #f7f7f7;
	padding: 1em;
	border-radius: 6px;
}

/* Responsive: stack cart rows on small screens */
@media ( max-width: 560px ) {
	.dpc-cart-table thead {
		display: none;
	}
	.dpc-cart-table,
	.dpc-cart-table tbody,
	.dpc-cart-table tr,
	.dpc-cart-table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	.dpc-cart-table td {
		text-align: start;
		border: 0;
		border-bottom: 1px solid #eee;
	}
	.dpc-cart-table td::before {
		content: attr( data-label ) ": ";
		font-weight: 600;
	}
	.dpc-cart-table tr {
		border: 1px solid #e5e7eb;
		border-radius: 6px;
		margin-bottom: 0.8em;
		padding: 0.4em;
	}
}

/* Per-product options (loaded dynamically when a material is chosen). */
.dpc-properties {
	margin-bottom: 1em;
}
.dpc-props-title {
	display: block;
	font-weight: 600;
	margin-bottom: 0.5em;
}
.dpc-prop-item {
	display: flex;
	align-items: center;
	gap: 0.4em;
	padding: 0.25em 0;
	cursor: pointer;
}
.dpc-prop-item input {
	width: auto;
	margin: 0;
}

/* Access-denied notice (authorized-users-only mode). */
.dpc-access-denied {
	max-width: 640px;
	margin: 1.5em 0;
	padding: 1em 1.25em;
	border: 1px solid #e0c200;
	background: #fff8db;
	border-radius: 6px;
	font-size: 16px;
}

/* Admin-only backstage controls (price-list preview + save-to-customer) sit
   together in one compact dashed row, apart from the customer-facing form. */
.dpc-admin-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 16px;
	align-items: flex-start;
	padding: 0.5em 0.8em;
	margin-bottom: 1em;
	border: 1px dashed #9ca3af;
	border-radius: 6px;
	background: #f9fafb;
}
.dpc-admin-row .dpc-field {
	flex: 1 1 220px;
	min-width: 0;
	margin-bottom: 0;
}
.dpc-admin-row .dpc-field label {
	font-size: 0.85em;
	font-weight: 600;
	margin-bottom: 0.2em;
	color: var(--dpc-muted-dark);
}
.dpc-admin-row select {
	padding: 0.4em 0.5em;
	font-size: 0.9em;
}
.dpc-admin-row .dpc-hint {
	display: block;
	margin-top: 0.2em;
	font-size: 0.72em;
	line-height: 1.3;
}

/* Admin-only price-list preview selector — set apart so it's clearly a
   backstage tool and not part of the customer-facing form. */
.dpc-admin-pricelist {
	padding: 0.75em 1em;
	border: 1px dashed #9ca3af;
	border-radius: 6px;
	background: #f9fafb;
}
.dpc-admin-pricelist > label {
	color: var(--dpc-muted-dark);
}
/* Inside the compact admin row the wrapper already provides the box. */
.dpc-admin-row .dpc-admin-pricelist {
	padding: 0;
	border: 0;
	background: none;
	border-radius: 0;
}

/* ---------------------------------------------------------------------------
 * Conditional alerts (shown when the chosen options satisfy a product rule).
 * ------------------------------------------------------------------------- */
.dpc-conditions {
	margin: 10px 0 0;
}
.dpc-condition {
	margin: 8px 0 0;
	padding: 10px 12px;
	border-radius: 6px;
	border: 1px solid transparent;
	font-size: 14px;
	line-height: 1.5;
}
.dpc-condition--warning {
	background: #fcf3e6;
	border-color: #e8b878;
	color: #7a4a00;
}
.dpc-condition--info {
	background: #e9f2fb;
	border-color: #9cc2e8;
	color: #14416b;
}

/* Options affected by a condition action. */
.dpc-prop-item.dpc-prop-hidden {
	display: none;
}
.dpc-prop-item.dpc-prop-disabled {
	color: #9aa0a6; /* grey text so it clearly reads as not selectable */
	cursor: not-allowed;
	opacity: 0.7;
}
.dpc-prop-item.dpc-prop-disabled input {
	cursor: not-allowed;
}

/* -----------------------------------------------------------------------
 * Customer "my orders" area (הזמנות סיטונאי) — account tab + [dpc_my_orders]
 * --------------------------------------------------------------------- */
.dpc-my-orders {
	font-size: 16px;
}
.dpc-my-orders-title {
	margin: 0 0 0.75em;
}
.dpc-orders-list .dpc-status {
	display: inline-block;
	padding: 0.15em 0.6em;
	border-radius: 999px;
	font-size: 0.85em;
	font-weight: 600;
	background: #eef2ff;
	color: #3730a3;
	white-space: nowrap;
}
.dpc-orders-list .dpc-status-completed {
	background: #e6f6ea;
	color: #0a7d33;
}
.dpc-orders-list .dpc-status-cancelled {
	background: var(--dpc-danger-tint);
	color: #b42318;
}
.dpc-orders-list .dpc-status-processing {
	background: #fff4e5;
	color: #b45309;
}
.dpc-order-details > summary {
	cursor: pointer;
	color: var(--dpc-primary);
	font-weight: 600;
	font-size: 0.9em;
	list-style: none;
}
.dpc-order-details > summary::-webkit-details-marker {
	display: none;
}
.dpc-order-details[open] > summary {
	margin-bottom: 0.6em;
}
.dpc-order-items {
	width: 100%;
	border-collapse: collapse;
	margin: 0.4em 0;
	font-size: 0.9em;
}
.dpc-order-items th,
.dpc-order-items td {
	border: 1px solid #e5e7eb;
	padding: 0.4em 0.55em;
	text-align: start;
}
.dpc-order-items thead th {
	background: #f6f7f9;
}
.dpc-order-totals {
	margin-top: 0.5em;
	text-align: start;
}
.dpc-order-totals p {
	margin: 0.15em 0;
}
.dpc-order-notes {
	margin-top: 0.5em;
	color: #555;
}

/* ---------------------------------------------------------------------------
 * Saved list (wishlist)
 * ------------------------------------------------------------------------- */

/* Calculator: the add-to-cart + save-to-list buttons sit side by side. */
.dpc-calc-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	align-items: center;
	justify-content: flex-end; /* RTL: pin both actions to the left edge */
	margin-top: 0.4em;
}

/* "Save to list" — secondary (outline) style to sit beside the primary button. */
.dpc-wishlist-add-btn {
	display: inline-block;
	background: #fff;
	color: var(--dpc-success-text);
	border: 1px solid var(--dpc-success);
	border-radius: 6px;
	padding: calc(0.55em - 1px) calc(1.1em - 1px);
	font-size: 0.95em;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
}
.dpc-wishlist-add-btn:hover {
	background: var(--dpc-success-tint);
	color: var(--dpc-success-text);
}
.dpc-wishlist-add-btn:disabled {
	opacity: 0.6;
	cursor: default;
}

/* Admin-only "save to a customer's list" selector on the calculator. */
.dpc-admin-wl-user select {
	max-width: 100%;
}

/* Saved-list page heading + intro. */
.dpc-wishlist-title {
	margin-bottom: 0.25em;
}
.dpc-wishlist-intro {
	color: #555;
	margin-top: 0;
	margin-bottom: 1em;
}
.dpc-wishlist-message {
	min-height: 1.2em;
	margin: 0.5em 0;
	color: var(--dpc-success);
	font-weight: 600;
}

/* Optional per-item note badge. */
.dpc-wl-note {
	display: inline-block;
	margin-inline-start: 0.4em;
	padding: 0.1em 0.5em;
	background: #f3f4f6;
	border-radius: 999px;
	font-size: 0.85em;
	color: #555;
}

/* Row actions on the saved list. */
.dpc-wl-to-cart {
	display: inline-block;
	background: #fff;
	color: var(--dpc-primary-dark);
	border: 1px solid var(--dpc-primary);
	border-radius: 6px;
	padding: 0.35em 0.8em;
	font-size: 0.9em;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
}
.dpc-wl-to-cart:hover {
	background: var(--dpc-primary-tint);
	color: var(--dpc-primary-dark);
}
.dpc-wl-to-cart:disabled {
	opacity: 0.6;
	cursor: default;
}
.dpc-wl-remove {
	background: transparent;
	border: 0;
	color: var(--dpc-danger);
	font-size: 1.3em;
	line-height: 1;
	cursor: pointer;
	margin-inline-start: 0.4em;
}
.dpc-wl-remove:hover {
	color: var(--dpc-danger-dark);
}

/* "Add whole list to cart" — outline, like every other add-to-cart button. */
.dpc-wl-add-all-btn {
	display: inline-block;
	background: #fff;
	color: var(--dpc-success-text);
	border: 1px solid var(--dpc-success);
	border-radius: 6px;
	padding: calc(0.55em - 1px) calc(1.1em - 1px);
	font-size: 0.95em;
	font-weight: 600;
	cursor: pointer;
}
.dpc-wl-add-all-btn:hover {
	background: var(--dpc-success-tint);
	color: var(--dpc-success-text);
}
.dpc-wl-add-all-btn:disabled {
	opacity: 0.6;
	cursor: default;
}

/* Saved-list footer actions: all three buttons share ONE style (size + shape +
 * treatment), each in its own matching colour. */
/* All three footer buttons on ONE line (desktop), spread across the row:
 * back on the right (RTL start), add-all in the middle, go-to-cart on the
 * left. Back + add-all are outline; go-to-cart is the only filled one. */
.dpc-wishlist-actions {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}
.dpc-wishlist-actions > .dpc-back-btn,
.dpc-wishlist-actions > .dpc-wl-add-all-btn,
.dpc-wishlist-actions > .dpc-checkout-btn {
	flex: 0 1 auto;
	min-width: 0;
	box-sizing: border-box;
	text-align: center;
	line-height: 1.2;
}
@media (max-width: 560px) {
	.dpc-wishlist-actions {
		flex-wrap: wrap;
	}
	.dpc-wishlist-actions > .dpc-back-btn,
	.dpc-wishlist-actions > .dpc-wl-add-all-btn,
	.dpc-wishlist-actions > .dpc-checkout-btn {
		flex: 1 1 100%;
	}
}
