/* ═══════════════════════════════════════════════════════════════
   Module: Campaigns  (admin list · view-campaign · public form)
   ═══════════════════════════════════════════════════════════════ */

/* ── Empty state ───────────────────────────────────────────────── */
.campaigns-empty {
	padding: 56px var(--sp-8);
	text-align: center;
	color: var(--text-muted);
}
.campaigns-empty svg {
	display: block;
	margin: 0 auto var(--sp-5);
	opacity: .35;
}
.campaigns-empty p {
	margin-bottom: var(--sp-5);
	font-size: var(--text-base);
}

/* ── Campaigns table ───────────────────────────────────────────── */
.campaigns-table th,
.campaigns-table td { vertical-align: middle; }

.campaign-collect-cell { white-space: normal; min-width: 160px; }

.campaign-collect-badge {
	display: inline-block;
	padding: 2px var(--sp-2);
	border-radius: 4px;
	background: var(--bg-hover);
	font-size: var(--text-2xs);
	font-weight: var(--weight-semibold);
	color: var(--text-secondary);
	margin-right: var(--sp-1);
	margin-bottom: 3px;
	white-space: nowrap;
}

.campaign-products-count {
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	color: var(--text-primary);
}

.campaign-response-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 24px;
	padding: 0 var(--sp-2);
	border-radius: var(--sp-3);
	background: var(--color-primary);
	color: var(--text-inverted);
	font-size: var(--text-xs);
	font-weight: var(--weight-bold);
	text-decoration: none;
	transition: background var(--transition-fast);
}
.campaign-response-count:hover { background: var(--color-primary-hover); }

.campaign-actions-cell {
	width: 140px;
	text-align: right;
	white-space: nowrap;
}
.campaign-actions-cell .btn,
.campaign-actions-cell .btn-icon { margin-left: var(--sp-1); }

.btn-order-sent {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--btn-h-sm);
	height: var(--btn-h-sm);
	border-radius: var(--radius-sm);
	background: var(--color-green-light);
	color: var(--color-green);
	cursor: default;
}

/* Audience badge on campaign name */
.campaign-audience-badge {
	display: inline-block;
	margin-left: 6px;
	padding: 2px 7px;
	border-radius: 4px;
	background: var(--color-orange-light);
	color: var(--color-orange-dark);
	font-size: 10px;
	font-weight: var(--weight-bold);
	letter-spacing: .04em;
	text-transform: uppercase;
	vertical-align: middle;
}

/* Copy link button: copied state */
.btn-copy-campaign-link.is-copied {
	background: var(--color-green-light);
	color: var(--color-green-dark);
	border-color: #bbf7d0;
}

/* ── Campaign popup: sections ─────────────────────────────────── */
.campaign-popup__body {
	overflow-y: auto;
	max-height: calc(100vh - 180px);
	padding: 0;
}

.camp-popup-section {
	border-bottom: 1px solid var(--border-color);
}
.camp-popup-section:last-child { border-bottom: none; }

.camp-popup-section__header {
	display: flex;
	align-items: center;
	gap: var(--sp-2);
	padding: 14px var(--sp-5);
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	color: var(--text-primary);
	background: var(--bg-subtle);
	border-bottom: 1px solid var(--border-color);
}
.camp-popup-section__header svg {
	color: var(--text-muted);
	flex-shrink: 0;
}

.camp-popup-section__body {
	padding: 18px var(--sp-5);
}

/* General section: 2-col grid */
.camp-general-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--sp-3);
}
.camp-field--full { grid-column: 1 / -1; }

/* Collect: sub-labels */
.camp-collect-sublabel {
	font-size: var(--text-2xs);
	font-weight: var(--weight-bold);
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--text-muted);
	margin: 0 0 10px;
}
.camp-popup-section--collect .camp-popup-section__body {
	background: var(--bg-subtle);
}

/* Toggle grid: 3 cards per row */
.camp-toggle-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--sp-2);
	margin-bottom: var(--sp-4);
}
.camp-toggle-grid:last-child { margin-bottom: 0; }

.camp-toggle-card {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px var(--sp-3);
	background: var(--bg-card);
	border: 1.5px solid var(--border-color);
	border-radius: var(--radius-lg);
	cursor: pointer;
	user-select: none;
	transition: border-color var(--transition-fast);
}
.camp-toggle-card:hover { border-color: #c4c6cd; }
.camp-toggle-card:has(input:checked) {
	border-color: var(--color-primary);
}
.camp-toggle-card__label {
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	color: var(--text-primary);
	line-height: 1.3;
}

/* Toggle switch */
.camp-toggle { position: relative; flex-shrink: 0; }
.camp-toggle input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}
.camp-toggle__slider {
	display: block;
	width: 38px;
	height: 22px;
	border-radius: 11px;
	background: var(--border-color);
	transition: background var(--transition-base);
	position: relative;
	cursor: pointer;
}
.camp-toggle__slider::after {
	content: '';
	position: absolute;
	top: 3px;
	left: 3px;
	width: 16px;
	height: 16px;
	border-radius: var(--radius-full);
	background: var(--bg-card);
	box-shadow: 0 1px 3px rgba(0,0,0,.2);
	transition: transform var(--transition-base);
}
.camp-toggle input:checked + .camp-toggle__slider {
	background: var(--color-primary);
}
.camp-toggle input:checked + .camp-toggle__slider::after {
	transform: translateX(16px);
}

/* Shipping section */
.camp-popup-section--shipping .camp-popup-section__body {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.camp-toggle-card--inline {
	border: none;
	padding: 0;
	gap: 10px;
	cursor: pointer;
}
.camp-toggle-card--inline:hover { border: none; }
.camp-toggle-card--inline .camp-toggle-card__label {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.camp-toggle-card--inline .camp-toggle-card__label strong {
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	color: var(--text-primary);
}
.camp-toggle-card--inline .camp-toggle-card__label small {
	font-size: var(--text-xs);
	color: var(--text-muted);
}
.camp-auto-shipping-wrap {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.camp-auto-shipping-wrap .form-label {
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	color: var(--text-secondary);
	text-transform: uppercase;
	letter-spacing: .04em;
}

/* Merchandise section */
.camp-popup-section--merch .camp-popup-section__header {
	background: var(--color-primary);
	color: var(--text-inverted);
	border-bottom-color: rgba(255,255,255,.1);
}
.camp-popup-section--merch .camp-popup-section__header svg { color: rgba(255,255,255,.6); }
.camp-popup-section--merch .camp-popup-section__body { background: #2a2b35; }
.camp-merch-desc {
	font-size: var(--text-xs);
	color: rgba(255,255,255,.55);
	margin: 0 0 var(--sp-3);
}

/* Full-width search field */
.camp-tag-input__field--full {
	width: 100%;
	min-height: var(--btn-h-lg);
	padding: var(--sp-2) 10px;
	background: rgba(255,255,255,.08);
	border: 1.5px solid rgba(255,255,255,.15);
	border-radius: var(--radius-md);
	outline: none;
	font-size: var(--text-sm);
	color: var(--text-inverted);
	font-family: inherit;
	transition: border-color var(--transition-fast), background var(--transition-fast);
}
.camp-tag-input__field--full:focus {
	border-color: rgba(255,255,255,.4);
	background: rgba(255,255,255,.12);
}
.camp-tag-input__field--full::placeholder { color: rgba(255,255,255,.35); }

/* ── Product search ─────────────────────────────────────────────── */
.camp-product-search-wrap {
	position: relative;
}
.camp-product-suggestions {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	background: var(--bg-card);
	border: 1px solid var(--border-color);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-hover);
	z-index: var(--z-sticky);
	max-height: 240px;
	overflow-y: auto;
	display: none;
}
.camp-suggestion-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: var(--sp-2) var(--sp-3);
	cursor: pointer;
	font-size: var(--text-sm);
	transition: background .1s;
}
.camp-suggestion-item:hover { background: var(--bg-hover); }
.camp-suggestion-item img {
	width: 32px;
	height: 32px;
	border-radius: 4px;
	object-fit: cover;
	flex-shrink: 0;
	border: 1px solid var(--border-color);
}

/* Selected product chips — grid below search */
.camp-selected-products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: var(--sp-2);
	margin-top: var(--sp-3);
}
.camp-selected-products:empty { display: none; }
.camp-product-chip {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: var(--sp-2);
	background: rgba(255,255,255,.08);
	border-radius: var(--radius-md);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	border: 1px solid rgba(255,255,255,.12);
	color: var(--text-inverted);
	position: relative;
	transition: background .15s;
}
.camp-product-chip:hover {
	background: rgba(255,255,255,.14);
}
.camp-product-chip img {
	width: 100%;
	aspect-ratio: 1;
	border-radius: 6px;
	object-fit: cover;
}
.camp-product-chip span {
	text-align: center;
	line-height: 1.3;
	word-break: break-word;
}
.camp-product-chip__remove {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,.5);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	font-size: 13px;
	line-height: 1;
	color: rgba(255,255,255,.7);
	padding: 0;
	transition: background .15s, color .15s;
	backdrop-filter: blur(4px);
}
.camp-product-chip__remove:hover {
	background: rgba(220,50,50,.8);
	color: #fff;
}

/* ── Campaign image upload ─────────────────────────────────────── */
.camp-image-upload {
	position: relative;
}
.camp-image-upload__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: var(--sp-4) var(--sp-3);
	background: rgba(255,255,255,.06);
	border: 2px dashed rgba(255,255,255,.2);
	border-radius: var(--radius-lg);
	color: rgba(255,255,255,.5);
	font-size: var(--text-sm);
	font-family: inherit;
	cursor: pointer;
	transition: background .15s, border-color .15s, color .15s;
}
.camp-image-upload__btn:hover {
	background: rgba(255,255,255,.1);
	border-color: rgba(255,255,255,.35);
	color: rgba(255,255,255,.8);
}
.camp-image-upload__preview {
	position: relative;
	border-radius: var(--radius-lg);
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.15);
}
.camp-image-upload__preview img {
	display: block;
	width: 100%;
	max-height: 200px;
	object-fit: cover;
	border-radius: var(--radius-lg);
}
.camp-image-upload__remove {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,.6);
	border: none;
	border-radius: 50%;
	color: #fff;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	backdrop-filter: blur(4px);
	transition: background .15s;
}
.camp-image-upload__remove:hover { background: rgba(220,50,50,.8); }

/* ── Campaign link copy row (in "created!" popup) ──────────────── */
.camp-link-copy-row {
	display: flex;
	gap: var(--sp-2);
}
.camp-link-copy-row .form-input { flex: 1; font-size: var(--text-xs); }

/* ── View-Campaign page ─────────────────────────────────────────── */
.app-view-campaign-page .app-page__header .app-page__actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.vc-meta-row {
	display: grid;
	grid-template-columns: 1fr 1fr auto;
	gap: var(--sp-3);
	margin-bottom: var(--sp-4);
}
@media (max-width: 680px) {
	.vc-meta-row { grid-template-columns: 1fr; }
}

.vc-meta-card {
	padding: var(--sp-4) 18px;
}
.vc-meta-label {
	font-size: var(--text-2xs);
	font-weight: var(--weight-bold);
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--text-muted);
	margin-bottom: var(--sp-2);
}
.vc-meta-value {
	font-size: var(--text-sm);
	color: var(--text-primary);
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-1);
	align-items: center;
}
.vc-merch-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px var(--sp-2);
	background: var(--bg-hover);
	border-radius: var(--radius-sm);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
}
.vc-merch-chip img {
	width: 22px;
	height: 22px;
	border-radius: 3px;
	object-fit: cover;
}
.vc-meta-card--stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 100px;
	text-align: center;
}
.vc-stat-number {
	font-size: 36px;
	font-weight: 800;
	color: var(--text-primary);
	line-height: 1;
}

.vc-responses-card { overflow: hidden; }
.vc-responses-table th,
.vc-responses-table td { vertical-align: middle; }

/* ═══════════════════════════════════════════════════════════════
   PUBLIC CAMPAIGN FORM PAGE
   ═══════════════════════════════════════════════════════════════ */

/* Hide any Flatsome remnants on campaign pages */
body.campaign-page #header,
body.campaign-page .header-wrapper,
body.campaign-page #footer,
body.campaign-page .footer-wrapper { display: none !important; }

.camp-form-page {
	min-height: 100vh;
	background: var(--bg-main);
	padding: var(--sp-8) var(--sp-4) 64px;
	box-sizing: border-box;
}

/* Campaign page footer */
.camp-page-footer {
	padding: var(--sp-8) var(--sp-4);
	text-align: center;
	background: var(--bg-main);
	border-top: 1px solid var(--border-color);
}
.camp-page-footer p {
	margin: 0;
	font-size: var(--text-sm);
	color: var(--text-muted);
	line-height: 1.8;
}
.camp-page-footer a {
	color: var(--text-muted);
	text-decoration: none;
}
.camp-page-footer a:hover { text-decoration: underline; }
.camp-form-wrap {
	max-width: 640px;
	margin: 0 auto;
}

/* Header */
.camp-form-header {
	text-align: center;
	margin-bottom: 28px;
}
.camp-form-logo { margin-bottom: var(--sp-5); }
.camp-form-logo img { height: 48px; width: auto; }

.camp-form-title {
	font-size: 26px;
	font-weight: var(--weight-bold);
	color: var(--text-primary);
	margin: 0 0 var(--sp-2);
	line-height: 1.2;
}
.camp-form-deadline {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: var(--text-sm);
	color: var(--text-muted);
	margin-bottom: 10px;
}
.camp-form-info {
	font-size: var(--text-base);
	color: var(--text-secondary);
	line-height: 1.65;
	margin-top: 10px;
}

/* Form card */
.camp-form-card {
	background: var(--bg-card);
	border-radius: var(--radius-xl);
	border: 1px solid var(--border-color);
	overflow: hidden;
	margin-bottom: var(--sp-8);
	box-shadow: var(--shadow-card);
}
.camp-form-section {
	padding: 22px var(--sp-6);
	border-bottom: 1px solid var(--border-color);
}
.camp-form-section:last-child { border-bottom: none; }
.camp-form-section__title {
	font-size: var(--text-2xs);
	font-weight: var(--weight-bold);
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--text-muted);
	margin: 0 0 var(--sp-4);
}

/* Form grid */
.camp-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}
.camp-form-grid .form-field--full { grid-column: 1 / -1; }
@media (max-width: 520px) {
	.camp-form-grid { grid-template-columns: 1fr; }
	.camp-form-grid .form-field--full { grid-column: 1; }
}

/* Field + label (self-contained so they work without the app stylesheet) */
.camp-form-page .form-field { display: flex; flex-direction: column; }
.camp-form-page .form-label {
	display: block;
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	color: var(--text-secondary);
	margin-bottom: 6px;
}
.camp-form-page .form-label .req { color: var(--color-red); }
.camp-form-page .form-input {
	width: 100%;
	padding: 9px var(--sp-3);
	border: 1.5px solid var(--border-color);
	border-radius: var(--radius-md);
	font-size: var(--text-base);
	color: var(--text-primary);
	background: var(--bg-card);
	box-sizing: border-box;
	transition: border-color var(--transition-fast);
	font-family: inherit;
	-webkit-appearance: none;
}
.camp-form-page .form-input:focus {
	outline: none;
	border-color: var(--color-primary);
}
.camp-form-page select.form-input { appearance: auto; -webkit-appearance: auto; }

/* Submit row */
.camp-form-submit {
	padding: 18px var(--sp-6);
	display: flex;
	justify-content: center;
}
.camp-submit-btn {
	min-width: 140px;
	height: var(--btn-h-lg);
	padding: 0 var(--sp-6);
	border-radius: var(--radius-md);
	background: var(--color-primary);
	color: var(--text-inverted);
	border: none;
	font-size: var(--text-base);
	font-weight: var(--weight-semibold);
	cursor: pointer;
	transition: background var(--transition-fast);
}
.camp-submit-btn:hover:not(:disabled) { background: var(--color-primary-hover); }
.camp-submit-btn:disabled { opacity: .6; cursor: default; }

/* Error */
.camp-form-error {
	margin: 0 var(--sp-6) var(--sp-4);
	padding: 10px 14px;
	background: rgba(239,68,68,.08);
	border: 1px solid rgba(239,68,68,.25);
	border-radius: var(--radius-sm);
	font-size: var(--text-sm);
	color: var(--color-red-dark);
}

/* Success */
.camp-form-success {
	padding: var(--sp-12) var(--sp-6);
	text-align: center;
}
.camp-form-success svg {
	display: block;
	margin: 0 auto 18px;
	color: var(--color-green);
}
.camp-form-success h2 {
	font-size: 22px;
	font-weight: var(--weight-bold);
	margin: 0 0 var(--sp-2);
	color: var(--text-primary);
}
.camp-form-success p {
	color: var(--text-secondary);
	font-size: var(--text-base);
	margin: 0;
}

/* ── Merchandise section ─────────────────────────────────────────── */
.camp-merchandise { margin-top: var(--sp-10); }
.camp-merchandise__title {
	font-size: var(--text-xl);
	font-weight: var(--weight-bold);
	color: var(--text-primary);
	margin: 0 0 var(--sp-4);
}
.camp-merch-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: var(--sp-4);
}
.camp-merch-card {
	background: var(--bg-card);
	border-radius: var(--radius-lg);
	border: 1px solid var(--border-color);
	overflow: hidden;
}
.camp-merch-card__img {
	aspect-ratio: 1;
	overflow: hidden;
	background: var(--bg-hover);
}
.camp-merch-card__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.camp-merch-card__body { padding: 10px var(--sp-3); }
.camp-merch-card__name {
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	color: var(--text-primary);
	margin-bottom: 3px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.camp-merch-card__cat {
	font-size: var(--text-2xs);
	color: var(--text-muted);
}

/* Campaign hero image (overrides product grid) */
.camp-merch-hero {
	border-radius: var(--radius-lg);
	overflow: hidden;
	border: 1px solid var(--border-color);
}
.camp-merch-hero img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

/* ═══════════════════════════════════════════════════════════════
   AUDIENCE SELECTOR (create popup)
   ═══════════════════════════════════════════════════════════════ */

.camp-audience-options {
	display: flex;
	flex-direction: column;
	gap: var(--sp-2);
}
.camp-audience-option {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
}
.camp-audience-option input[type="radio"] {
	margin-top: 3px;
	flex-shrink: 0;
	accent-color: var(--color-primary);
	width: 15px;
	height: 15px;
}
.camp-audience-option__box {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.camp-audience-option__box strong {
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	color: var(--text-primary);
}
.camp-audience-option__box small {
	font-size: var(--text-xs);
	color: var(--text-muted);
}

/* ═══════════════════════════════════════════════════════════════
   CAMPAIGN FORM: LOGGED-IN STATES
   ═══════════════════════════════════════════════════════════════ */

/* ── Not available ──────────────────────────────────────────── */
.camp-not-available {
	padding: var(--sp-12) var(--sp-6);
	text-align: center;
}
.camp-not-available svg {
	display: block;
	margin: 0 auto 18px;
	color: var(--text-muted);
}
.camp-not-available h2 {
	font-size: var(--text-xl);
	font-weight: var(--weight-bold);
	color: var(--text-primary);
	margin: 0 0 var(--sp-2);
}
.camp-not-available p {
	font-size: var(--text-base);
	color: var(--text-secondary);
	margin: 0;
	max-width: 340px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.6;
}

/* ── Logged-in data summary ─────────────────────────────────── */
.camp-logged-in-view {}

.camp-data-summary {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.camp-data-rows {
	padding: var(--sp-6);
}
.camp-data-row {
	display: flex;
	align-items: baseline;
	gap: var(--sp-3);
	padding: 9px 0;
	border-bottom: 1px solid var(--bg-hover);
	font-size: var(--text-sm);
}
.camp-data-row:last-child { border-bottom: none; }
.camp-data-label {
	flex: 0 0 140px;
	font-weight: var(--weight-semibold);
	color: var(--text-muted);
	font-size: var(--text-xs);
}
.camp-data-value {
	color: var(--text-primary);
	font-size: var(--text-sm);
}
.camp-already-submitted {
	font-size: var(--text-sm);
	color: var(--text-muted);
	margin: 0 0 var(--sp-3);
}

/* ── Campaign: Order-for-contact popup ───────────────────────── */
.camp-order-contact-info {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 14px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--border-color);
}
.camp-order-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: var(--text-sm);
}
.camp-order-row span { color: var(--text-muted); }
.camp-order-row strong { color: var(--text-primary); }

.camp-order-products {
	display: flex;
	flex-direction: column;
	gap: var(--sp-2);
}
.camp-order-product {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	color: var(--text-primary);
}
.camp-order-product img {
	width: 36px;
	height: 36px;
	border-radius: var(--radius-sm);
	object-fit: cover;
	border: 1px solid var(--border-color);
	flex-shrink: 0;
}

.camp-order-shipping {
	margin-top: var(--sp-4);
	padding-top: 14px;
	border-top: 1px solid var(--border-color);
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.camp-order-shipping label {
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: .04em;
}
.camp-order-shipping select {
	width: 100%;
	padding: var(--sp-2) 10px;
	border: 1px solid var(--border-color);
	border-radius: var(--radius-md);
	font-size: var(--text-base);
	background: var(--bg-card);
	color: var(--text-primary);
}

/* ── Bulk Shipment popup ──────────────────────────────────── */
.camp-bulk-loading {
	text-align: center;
	color: var(--text-muted);
	padding: var(--sp-6) 0;
	font-size: var(--text-sm);
}
.camp-bulk-stat {
	font-size: var(--text-base);
	font-weight: var(--weight-semibold);
	color: var(--text-primary);
	margin-bottom: var(--sp-3);
}
.camp-bulk-stock-table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--text-sm);
}
.camp-bulk-stock-table th {
	text-align: left;
	font-size: var(--text-2xs);
	font-weight: var(--weight-bold);
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--text-muted);
	padding: var(--sp-1) var(--sp-2) var(--sp-2);
	border-bottom: 1px solid var(--border-color);
}
.camp-bulk-stock-table td {
	padding: 7px var(--sp-2);
	border-bottom: 1px solid var(--border-light);
	color: var(--text-primary);
}
.camp-bulk-skip {
	margin-top: 10px;
	font-size: var(--text-xs);
	color: var(--text-muted);
}

/* ── Respondent order-status badge ───────────────────────── */
.vc-order-status {
	display: inline-flex;
	align-items: center;
	padding: 2px var(--sp-2);
	border-radius: var(--radius-lg);
	font-size: var(--text-2xs);
	font-weight: var(--weight-semibold);
	white-space: nowrap;
}
.vc-status--hold       { background: #fff3cd; color: #856404; }
.vc-status--processing { background: #d1ecf1; color: #0c5460; }
.vc-status--completed  { background: #d4edda; color: #155724; }
.vc-status--pending    { background: var(--bg-hover); color: var(--text-muted); }
.vc-status--cancelled  { background: #f8d7da; color: #721c24; }
.vc-status--other      { background: var(--bg-hover); color: #374151; }

/* ── Bulk-add customers card in vc-meta-row ─────────────────────────── */
.vc-meta-card--bulk {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
}

/* ── Bulk-add popup body ─────────────────────────────────────────────── */
.vc-bulk-add-body {
	padding: 0;
}
.vc-bulk-add-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--sp-3) var(--sp-5);
	border-bottom: 1px solid var(--border-color);
	background: var(--bg-subtle);
}
.vc-bulk-select-all-label {
	display: flex;
	align-items: center;
	gap: var(--sp-2);
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	cursor: pointer;
}
.vc-bulk-count {
	font-size: var(--text-xs);
	color: var(--text-muted);
}
.vc-bulk-contacts-list {
	max-height: 360px;
	overflow-y: auto;
}
.vc-bulk-contact-row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px var(--sp-5);
	border-bottom: 1px solid var(--border-light);
	cursor: pointer;
	transition: background .1s;
}
.vc-bulk-contact-row:hover { background: var(--bg-subtle); }
.vc-bulk-contact-row--responded { opacity: .65; }
.vc-bulk-contact-name {
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	flex: 1;
}
.vc-bulk-contact-email {
	font-size: var(--text-xs);
	color: var(--text-muted);
}
.vc-bulk-responded-badge {
	display: inline-block;
	padding: 2px 7px;
	border-radius: 99px;
	font-size: 10px;
	font-weight: var(--weight-semibold);
	background: var(--color-green-light);
	color: var(--color-green-dark);
	text-transform: uppercase;
	letter-spacing: .4px;
	white-space: nowrap;
}
.vc-bulk-status {
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
}
