/**
 * Kanepi Multiost — Cart styles
 *
 * Visual grouping of cart items by delivery group.
 * Uses theme's color variables: --color-primary, --color-secondary, --color-light.
 */

/* Info banner — shown when cart has multiple delivery groups */
.ka-multiost-banner {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 1rem 1.25rem;
	margin-bottom: 1.5rem;
	background: #eff6ff;
	border-left: 4px solid #3b82f6;
	border-radius: 0.625rem;
}

.ka-multiost-banner__icon {
	flex-shrink: 0;
	color: #3b82f6;
	margin-top: 0.125rem;
}

.ka-multiost-banner__text {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: #1e3a5f;
}

.ka-multiost-banner__text strong {
	font-weight: 700;
	font-size: 0.9375rem;
}

/* Group header — section divider between delivery groups */
.ka-cart-group-header {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	padding: 0.75rem 1rem;
	margin-top: 1.5rem;
	margin-bottom: 0.75rem;
	background: var(--color-light, #FFF5F2);
	border: 1.5px solid rgba(0, 0, 0, 0.06);
	border-radius: 0.75rem;
	color: var(--color-primary, #4A2C2A);
}

.ka-cart-group-header:first-child {
	margin-top: 0;
}

.ka-cart-group-header i,
.ka-cart-group-header svg {
	flex-shrink: 0;
	opacity: 0.7;
}

.ka-cart-group-header__label {
	font-weight: 700;
	font-size: 0.9375rem;
}

.ka-cart-group-header__badge {
	margin-left: auto;
	font-size: 0.75rem;
	font-weight: 600;
	padding: 0.25rem 0.625rem;
	background: var(--color-secondary, #E8A598);
	color: white;
	border-radius: 999px;
	white-space: nowrap;
}

/* Merge control — two-line descriptive layout */
.ka-merge-control {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 1rem 1.25rem;
	margin-bottom: 1.5rem;
	background: var(--color-light, #FFF5F2);
	border: 1.5px solid rgba(0, 0, 0, 0.08);
	border-radius: 0.625rem;
	transition: all 0.2s ease;
}

.ka-merge-control--active {
	background: #dcfce7;
	border-color: #86efac;
}

.ka-merge-control--loading {
	opacity: 0.5;
	pointer-events: none;
}

/* Header row — icon + title/description */
.ka-merge-control__header {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
}

.ka-merge-control__icon {
	flex-shrink: 0;
	color: var(--color-secondary, #E8A598);
	margin-top: 0.0625rem;
}

.ka-merge-control--active .ka-merge-control__icon {
	color: #16a34a;
}

.ka-merge-control__text {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
}

.ka-merge-control__text strong {
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--color-primary, #4A2C2A);
	line-height: 1.3;
}

.ka-merge-control--active .ka-merge-control__text strong {
	color: #166534;
}

.ka-merge-control__desc {
	font-size: 0.8125rem;
	line-height: 1.4;
	color: #78716c;
}

.ka-merge-control--active .ka-merge-control__desc {
	color: #166534;
}

/* Action row — checkbox or dropdown */
.ka-merge-control__action {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding-left: 1.625rem; /* align with text (icon width + gap) */
}

label.ka-merge-control__action {
	cursor: pointer;
}

.ka-merge-control__action-label {
	font-size: 0.875rem;
	line-height: 1.4;
	color: var(--color-primary, #4A2C2A);
}

.ka-merge-control--active .ka-merge-control__action-label {
	color: #166534;
}

.ka-merge-control__action-label strong {
	font-weight: 700;
}

/* Inline delivery info (checkbox variant) */
.ka-merge-control__delivery-inline {
	font-size: 0.8125rem;
	color: #78716c;
	font-weight: 400;
}

.ka-merge-control--active .ka-merge-control__delivery-inline {
	color: #166534;
}

/* Checkbox */
.ka-merge-control__checkbox {
	width: 1.125rem;
	height: 1.125rem;
	accent-color: #16a34a;
	cursor: pointer;
	flex-shrink: 0;
}

/* Select dropdown */
.ka-merge-control__select {
	padding: 0.375rem 0.75rem;
	border: 1.5px solid rgba(0, 0, 0, 0.12);
	border-radius: 0.5rem;
	font-size: 0.875rem;
	background: #fff;
	color: var(--color-primary, #4A2C2A);
	cursor: pointer;
	min-width: 12rem;
	width: 100%;
}

.ka-merge-control--active .ka-merge-control__select {
	border-color: rgba(22, 101, 52, 0.3);
	background: rgba(255, 255, 255, 0.8);
}

.ka-merge-control__select:focus {
	outline: none;
	border-color: var(--color-secondary, #E8A598);
	box-shadow: 0 0 0 3px rgba(232, 165, 152, 0.15);
}

.ka-merge-control--active .ka-merge-control__select:focus {
	border-color: #16a34a;
	box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.15);
}

@media (max-width: 480px) {
	.ka-merge-control__action {
		padding-left: 0;
	}
	.ka-merge-control__select {
		width: 100%;
	}
}

/* Admin badges */
.ka-multiost-badge {
	display: inline-block;
	padding: 0.125rem 0.5rem;
	border-radius: 0.25rem;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.ka-multiost-badge--parent {
	background: #dbeafe;
	color: #1d4ed8;
}

.ka-multiost-badge--child {
	background: #dcfce7;
	color: #166534;
}

.ka-multiost-badge--none {
	color: #9ca3af;
}
