/* StudioMVP Discount & Fee — storefront styles */

.sdf-staffel-banner {
	background: #e1f5ee;
	border-radius: 8px;
	padding: 12px 14px;
	margin-bottom: 16px;
}

.sdf-staffel-head {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #0f6e56;
	font-weight: 600;
	line-height: 1.3;
}

.sdf-staffel-icon {
	display: inline-flex;
	width: 22px;
	height: 22px;
	align-items: center;
	justify-content: center;
	background: #1d9e75;
	color: #fff;
	border-radius: 50%;
	font-weight: 700;
	font-size: 13px;
	flex: 0 0 auto;
}

.sdf-staffel-progress {
	height: 6px;
	background: #ffffff;
	border-radius: 4px;
	margin-top: 10px;
	overflow: hidden;
}

.sdf-staffel-progress-bar {
	height: 100%;
	background: #1d9e75;
	transition: width 0.3s ease;
}

.sdf-staffel-next {
	font-size: 13px;
	color: #0f6e56;
	margin-top: 6px;
}

.sdf-staffel-next.sdf-staffel-max::before {
	content: "\2713\00a0";
}

/* Highlight the discount row(s) */
.sdf-row-discount th,
.sdf-row-discount td {
	color: #0f6e56 !important;
	font-weight: 600;
}

/* Informational VAT line (incl-mode), smaller/muted */
.sdf-row-tax-info th,
.sdf-row-tax-info td {
	font-size: 0.85em;
	color: #777;
	font-weight: 400;
	padding-top: 0;
}

/* Checkout: banner + note live inside the table (caption) so the AJAX order
   review refresh replaces them instead of duplicating. */
.sdf-review-caption {
	caption-side: top;
	text-align: left;
	padding: 0 0 12px;
}

/* One-time "bedragen excl. btw" note above the totals */
.sdf-vat-note {
	text-align: right;
	font-size: 0.8em;
	color: #999;
	margin: 0 0 6px;
}

/* Group sub-headings (In staffelkorting / Niet in staffelkorting) */
.sdf-group-header th {
	font-size: 0.72em;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #999;
	font-weight: 400;
	padding: 12px 0 2px;
	border-bottom: 0 !important;
}

/* Product title lines in the totals overview */
.sdf-row-product-line th {
	font-weight: 400;
}

.sdf-cell-title {
	vertical-align: top;
	word-break: break-word;
}

.sdf-item-title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Separate quantity column between title and price */
.sdf-cell-qty {
	color: #777;
	vertical-align: top;
	white-space: nowrap;
}

/* Value/price and quantity cells left-aligned so amounts line up under each
   other on one vertical line. !important overrides the theme's right-align. */
.sdf-cart-totals td,
.sdf-cart-totals th,
.sdf-cart-totals .sdf-cell-qty,
.sdf-cell-price {
	text-align: left !important;
	vertical-align: top;
}

/* Keep our totals a real 3-column table on mobile. WooCommerce's
   shop_table_responsive (and some themes) turn cells into blocks and hide
   tbody <th>, which breaks our title/label columns. Force table layout back. */
@media (max-width: 768px) {
	.sdf-cart-totals { display: table !important; width: 100% !important; table-layout: fixed; }
	.sdf-cart-totals tr { display: table-row !important; }
	.sdf-cart-totals th,
	.sdf-cart-totals td { display: table-cell !important; }
	.sdf-cart-totals td::before,
	.sdf-cart-totals th::before { content: normal !important; display: none !important; }
}

.sdf-item-note {
	display: inline-block;
	font-size: 0.8em;
	color: #a15c00;
	background: #faeeda;
	border-radius: 4px;
	padding: 1px 6px;
	margin-left: 4px;
	white-space: nowrap;
}

/* Items outside the staffel */
.sdf-item-excluded th,
.sdf-item-excluded td.product-name {
	color: #777;
}

/* Weight control box (fallback styling; theme CSS on .if-weight-box wins) */
.if-weight-box {
	margin-top: 12px;
	padding: 16px;
	border: 0.5px solid rgba(0, 0, 0, 0.12);
	border-radius: 8px;
	background: #fff;
}

.if-weight-box__title {
	font-weight: 600;
	margin-bottom: 6px;
}

.if-weight-box__stats {
	color: #555;
	font-size: 0.9em;
	margin-bottom: 10px;
}

.if-weight-box__message {
	margin: 0 0 12px;
}

.if-weight-box__message.success {
	color: #0f6e56;
}

.if-weight-box__message.error {
	color: #a12622;
}

.if-disabled-checkout {
	opacity: 0.5;
	cursor: not-allowed;
	pointer-events: none;
}
