/* =============================================================================
   Puro Doos Verzending — Box fill indicator
   ============================================================================= */

/* Container */
.pdv-box-indicator {
	--pdv-bar-color: #4caf50;
	background: linear-gradient(0deg, #F9EFD7 0%, #F9EFD7 100%) !important;
	border: 1px solid var(--color-goud-100, #E7CF9D);
	border-radius: 10px;
	padding: 14px 16px 12px;
	margin-bottom: 18px;
	font-size: 0.875rem;
	line-height: 1.4;
}

/* Tighten spacing when inside the checkout summary card */
.pdv-box-indicator--checkout {
	margin-bottom: 0;
	margin-top: 10px;
	border-top: 1px solid #e5e9ed;
	border-left: none;
	border-right: none;
	border-bottom: none;
	border-radius: 0;
	background: transparent;
	padding: 12px 0 4px;
}

/* ── Header ── */
.pdv-box-indicator__header {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
}

.pdv-box-indicator__icon {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

.pdv-box-indicator__title {
	font-weight: 700;
	font-size: 0.875rem;
	letter-spacing: 0.01em;
}

/* ── Progress bar ── */
.pdv-progress {
	height: 10px;
	background: #dde2e8;
	border-radius: 99px;
	overflow: hidden;
	margin: 5px 0;
}

.pdv-progress__bar {
	height: 100%;
	border-radius: 99px;
	background: linear-gradient(90deg, #4caf50 0%, #81c784 100%);
	transition: width 0.45s ease;
	min-width: 2px;
}

/* Status colour variants */
.pdv-box--nearly-full .pdv-progress__bar {
	background: linear-gradient(90deg, #fb8c00 0%, #ffd740 100%);
}

.pdv-box--full .pdv-progress__bar {
	background: linear-gradient(90deg, #e53935 0%, #ef9a9a 100%);
}

/* ── Single-box weight display ── */
.pdv-box-indicator__weight-row {
	display: flex;
	align-items: baseline;
	gap: 3px;
	margin-bottom: 2px;
}

.pdv-box-indicator__weight-used {
	font-weight: 700;
	font-size: 1.05rem;
	color: #1a2733;
}

.pdv-box-indicator__weight-max {
	font-size: 0.8rem;
	color: #7a8a99;
}

/* ── Multi-box layout ── */
.pdv-box-indicator__multi {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.pdv-box-single__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 2px;
}

.pdv-box-single__label {
	font-size: 0.8rem;
	font-weight: 600;
}

.pdv-box-single__weight {
	font-size: 0.78rem;
}

/* Full preceding boxes */
.pdv-box-single--full .pdv-progress__bar {
	background: linear-gradient(90deg, #006d57 0%, #003127 100%);
}

/* Last box (focus) */
.pdv-box-single--last .pdv-progress__bar {
	background: linear-gradient(90deg, #006d57 0%, #003127 100%);
}

/* ── CTA message ── */
.pdv-box-indicator__cta {
    margin-top: 8px;
    font-size: 0.8rem;
    color: #fff;
    background: #ceaa5d;
    border-radius: 6px;
    padding: 6px 10px;
    line-height: 1.45;
}

.pdv-box-indicator__cta--full {
	background: #e8f5e9;
	color: #2e7d32;
	font-weight: 600;
}

.pdv-box-indicator__cta--full::before {
	content: "✅ ";
}

/* ── Checkout context overrides ── */
.pdv-box-indicator--checkout {
	margin-bottom: 0;
	margin-top: 10px;
	border-top: 1px solid #e5e9ed;
	border-left: none;
	border-right: none;
	border-bottom: none;
	border-radius: 0;
	background: transparent;
	padding: 12px 0 4px;
}

.pdv-box-indicator--checkout .pdv-box-indicator__cta {
	background: transparent;
	padding: 4px 0 0;
	font-size: 0.78rem;
}

/* ── Mini-cart context overrides ── */
.pdv-minicart-indicator {
	margin-top: 1rem;
}

.pdv-box-indicator--minicart {
	margin-bottom: 0;
	border-radius: 8px;
	padding: 10px 12px 8px;
	font-size: 0.8rem;
}

.pdv-box-indicator--minicart .pdv-box-indicator__title {
	font-size: 0.8rem;
}

.pdv-box-indicator--minicart .pdv-progress {
	height: 8px;
}

.pdv-box-indicator--minicart .pdv-box-indicator__weight-used {
	font-size: 0.95rem;
}

.pdv-box-indicator--minicart .pdv-box-indicator__cta {
	font-size: 0.75rem;
	padding: 5px 8px;
}

/* ── Mini-cart totalen blok ── */
.pdv-minicart-totals {
	padding: 10px 0 4px;
	border-top: 1px solid #e5e9ed;
	margin-top: 8px;
}

.pdv-minicart-totals__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 4px 0;
	font-size: 0.875rem;
	color: #1a2733;
}

.pdv-minicart-totals__label {
	color: #7a8a99;
	display: flex;
	align-items: baseline;
	gap: 4px;
}

.pdv-minicart-totals__incl-btw {
	font-size: 0.72rem;
	color: #a0adb8;
}

.pdv-minicart-totals__row--total {
	border-top: 1px solid #e5e9ed;
	margin-top: 4px;
	padding-top: 8px;
}

.pdv-minicart-totals__row--total .pdv-minicart-totals__label {
	color: #1a2733;
	font-weight: 600;
}

.pdv-minicart-totals__val--total {
	font-weight: 700;
	font-size: 1rem;
}

.pdv-minicart-totals__free {
	color: #2e7d32;
	font-weight: 600;
}

.pdv-minicart-totals__unknown {
	font-size: 0.78rem;
	color: #a0adb8;
	font-style: italic;
}

