/**
 * Logidirect Shop Conversion styles.
 * Brand: primary #2ab6f1, text #404141, success #7a9c59, alert #b20000,
 * borders #dddddd, sharp corners, Poppins (inherited from theme).
 */

/* ---------- BTW breakdown (subtle, under the price) ---------- */
.ld-btw {
	display: inline-flex;
	flex-direction: column;
	gap: 1px;
	margin: 4px 0 14px;
	font-size: 0.78rem;
	line-height: 1.5;
	color: #009fe3;
}
.ld-btw__row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
}
.ld-btw__label {
	opacity: 0.85;
}
.ld-btw__val {
	font-weight: 600;
	white-space: nowrap;
}
.ld-btw__incl .ld-btw__val {
	font-weight: 700;
}

/* Breakdown injected under the selected variation price. */
.ld-btw-var {
	margin-top: 6px;
}

/* ---------- USP block (compact vertical list, summary column) ---------- */
.ld-usp {
	margin: 18px 0 0;
	padding: 16px 18px;
	background: #f9f9f9;
	border: 1px solid #ededed;
}
.ld-usp__heading {
	margin: 0 0 12px;
	font-size: 0.95rem;
	font-weight: 700;
	color: #212121;
}
.ld-usp .ld-usp__item {
	margin: 0 0 12px !important; /* override Flatsome icon-box default margins */
}
.ld-usp .ld-usp__item:last-child {
	margin-bottom: 0 !important;
}
.ld-usp .ld-usp__title {
	display: block;
	font-size: 0.9rem;
	line-height: 1.3;
	color: #212121;
}
.ld-usp .icon-box-text p {
	margin: 2px 0 0;
	font-size: 0.8rem;
	color: #404141;
}
/* Center the icon SVG in its circle and keep it square (the theme otherwise
   stretches it to a non-square height). */
.ld-usp .icon-box-img .icon-inner {
	display: flex;
	align-items: center;
	justify-content: center;
}
.ld-usp .icon-box-img svg {
	width: 22px !important;
	height: 22px !important;
	display: block;
	margin: 0;
}
/* Right rail: JS adds these classes ONLY when the row has genuine empty space
   to the right of the summary. Absolute positioning keeps the card out of the
   flex flow, so it never shrinks or crowds the product summary. */
.row.content-row.ld-has-rail {
	position: relative;
}
.ld-usp.ld-usp--rail {
	position: absolute;
	top: 0;
	left: 100%; /* just right of the (max-width-capped) row, in the outer margin */
	width: 280px;
	margin: 0 0 0 20px;
	box-sizing: border-box;
}

/* ---------- Free-shipping progress bar ---------- */
.ld-ship {
	margin: 0 0 18px;
	padding: 12px 14px;
	background: #f9f9f9;
	border: 1px solid #dddddd;
	border-left: 3px solid #2ab6f1;
}
.ld-ship.is-reached {
	border-left-color: #7a9c59;
	background: #f3f7ee;
}
.ld-ship--mini {
	margin: 0 0 10px;
	padding: 10px 12px;
	font-size: 0.85rem;
}
.ld-ship__msg {
	margin: 0 0 8px;
	color: #404141;
	font-size: 0.9rem;
	display: flex;
	align-items: center;
	gap: 8px;
}
.ld-ship__icon {
	font-size: 1.1em;
	line-height: 1;
}
.ld-ship__track {
	display: block;
	height: 8px;
	background: #e6e6e6;
	overflow: hidden;
}
.ld-ship__fill {
	display: block;
	height: 100%;
	background: #2ab6f1;
	transition: width 0.4s ease;
}
.ld-ship.is-reached .ld-ship__fill {
	background: #7a9c59;
}

/* ---------- Offerte form ---------- */
.ld-offerte {
	margin: 12px 0 0;
}
.ld-offerte__toggle {
	background: #ffffff;
	color: #2ab6f1;
	border: 1px solid #2ab6f1;
}
.ld-offerte__toggle:hover {
	background: #2ab6f1;
	color: #ffffff;
}
.ld-offerte__panel {
	margin-top: 14px;
	padding: 18px;
	background: #f9f9f9;
	border: 1px solid #dddddd;
}
.ld-offerte__intro {
	margin: 0 0 14px;
	font-size: 0.9rem;
	color: #404141;
}
.ld-offerte__fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.ld-offerte__field {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 0.82rem;
	color: #404141;
}
.ld-offerte__field--full {
	grid-column: 1 / -1;
}
.ld-offerte__field input,
.ld-offerte__field textarea {
	width: 100%;
	border: 1px solid #dddddd;
	background: #ffffff;
	padding: 8px 10px;
	font-size: 0.9rem;
	color: #333333;
}
.ld-offerte__req {
	color: #b20000;
}
.ld-offerte__hp {
	position: absolute;
	left: -5000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.ld-offerte__actions {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 14px;
	flex-wrap: wrap;
}
.ld-offerte__status {
	font-size: 0.85rem;
}
.ld-offerte__status.is-ok {
	color: #7a9c59;
}
.ld-offerte__status.is-error {
	color: #b20000;
}
.ld-offerte.is-busy .ld-offerte__submit {
	opacity: 0.6;
	pointer-events: none;
}

@media (max-width: 549px) {
	.ld-offerte__fields {
		grid-template-columns: 1fr;
	}
	.ld-btw__row {
		gap: 16px;
	}
}

/* ---------- SKU (artikelnummer) ---------- */
.ld-sku {
	display: inline-block;
	font-size: 0.85rem;
	line-height: 1.4;
	color: #404141;
}
.ld-sku__label {
	font-weight: 600;
}
.ld-sku__val {
	letter-spacing: 0.01em;
}
/* Single product page: own line under the title, above the price. */
.ld-sku-wrap {
	margin: 2px 0 10px;
}
/* Grid: smaller, muted, tight under the product title. */
.ld-sku--loop {
	display: block;
	margin: 2px 0 4px;
	font-size: 0.78rem;
	opacity: 0.8;
}
/* Variation block: SKU under the variation description ("TT printer …"). */
.ld-sku--var {
	display: block;
	margin: 6px 0 0;
}
/* Cart / mini-cart / checkout review: own line under the item name, muted. */
.ld-sku--cart {
	display: block;
	margin: 3px 0 0;
	font-size: 0.78rem;
	opacity: 0.8;
}

/* ── Add-on / licentie-vereist signalering (inc/addon-notice.php) ─────────── */
.ld-addon-notice {
	margin: 0 0 1em;
	padding: .75em 1em;
	border-left: 4px solid #b20000;
	background: #fbeaea;
	color: #404141;
	font-size: .95em;
	line-height: 1.4;
}
.ld-addon-notice__label {
	display: inline-block;
	font-weight: 700;
	color: #b20000;
	margin-right: .35em;
}
/* Badge op de grid- / zoekresultaat-thumbnail. Flatsome's .box-image is
   position:relative; de sale-flash zit rechtsboven, dus deze links. */
.ld-addon-badge {
	position: absolute;
	top: .5em;
	left: .5em;
	z-index: 2;
	display: inline-block;
	padding: .2em .55em;
	background: #b20000;
	color: #fff;
	font-size: .72em;
	font-weight: 700;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: .02em;
}

/* ── Academy-toegang op de productpagina (inc/academy-access.php) ─────────── */
.ld-acad-access {
	margin: 2.5em 0;
	padding: 1.6em 1.8em;
	background: #f5fbff;
	border: 1px solid #d6ecfb;
	border-left: 4px solid #2ab6f1;
	border-radius: 10px;
	color: #404141;
}
.ld-acad-access__head {
	display: flex;
	align-items: center;
	gap: .6em;
	margin-bottom: .5em;
}
.ld-acad-access__icon {
	color: #2ab6f1;
	flex: none;
}
.ld-acad-access__title {
	font-size: 1.25em;
	font-weight: 700;
	margin: 0;
	color: #212121;
	line-height: 1.25;
}
.ld-acad-access__blurb {
	margin: 0 0 1em;
	line-height: 1.6;
	max-width: 70ch;
}
.ld-acad-access__lead {
	margin: 0 0 .5em;
	font-weight: 700;
	color: #212121;
}
.ld-acad-access__list {
	list-style: none;
	margin: 0 0 1.2em;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: .35em 1.4em;
}
.ld-acad-access__list li {
	position: relative;
	padding-left: 1.6em;
	line-height: 1.5;
}
.ld-acad-access__list li::before {
	content: "\2713"; /* ✓ */
	position: absolute;
	left: 0;
	color: #2ab6f1;
	font-weight: 700;
}
.ld-acad-access__cta {
	margin: 0;
}
.ld-acad-access__note {
	margin: 0;
	color: #6b7280;
	font-size: .92em;
}
@media (max-width: 600px) {
	.ld-acad-access {
		padding: 1.3em 1.2em;
	}
	.ld-acad-access__list {
		grid-template-columns: 1fr;
	}
}

/* ── Prijs op aanvraag (inc/price-on-request.php) ─────────────────────────── */
.ld-por-price {
	display: inline-block;
	font-weight: 600;
	color: #404141;
}
