/* Same box as the theme gives the photo it replaces (.icg-home-photo img). */
.icg-home-photo video.icg-home-video {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	background: #0b0b0b;
}
.icg-home-photos .icg-home-photo video.icg-home-video { aspect-ratio: 4 / 5; }
@media (max-width: 781px) {
	.icg-home-photos .icg-home-photo video.icg-home-video { aspect-ratio: 16 / 10; }
}

/* Title and caption under each tile, centred under the video. */
.icg-home-photos > .wp-block-column > .wp-block-heading,
.icg-home-photos > .wp-block-column > p {
	text-align: center;
}
.icg-home-photos > .wp-block-column > p {
	max-width: 34ch;
	margin-left: auto;
	margin-right: auto;
}

/* Step badges ("01 · INSPECTION") centred at the top of each tile. */
.icg-home-photos .icg-home-photo .icg-home-badge {
	left: 50%;
	right: auto;
	transform: translateX(-50%);
	white-space: nowrap;
}

/* "Zie ons proces van dichtbij": frame the video like the "Voor & na" panel
   above it (same fill, hairline and corner), and clip every corner of the
   video itself, including the picture-in-picture at the bottom right. */
.icg-video {
	padding: 14px;
	background: #141414;
	border: 1px solid #2e2e2e;
	border-radius: 28px;
}
.icg-video video {
	border-radius: 18px;
	clip-path: inset(0 round 18px);
	box-shadow: none;
}
@media (max-width: 781px) {
	.icg-video { padding: 8px; border-radius: 22px; }
	.icg-video video { border-radius: 14px; clip-path: inset(0 round 14px); }
}

/* ==========================================================================
   Package cards "pk3" (icg-home-media 1.1.0): [icg_packages] grading cards
   and the cleaning callout. Dark house style, line illustration.
   ========================================================================== */
.icg-pkg2 .icg-pk3-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	align-items: stretch;
}
/* Three cards (BGS): same card width as the four-card row, centred. */
.icg-pkg2 .icg-pk3-grid--n3 {
	grid-template-columns: repeat(3, calc((100% - 42px) / 4));
	justify-content: center;
}

.icg-pkg2 .icg-pk3-card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	height: 100%;
	margin: 0;
	padding: 20px 14px 18px;
	background: #141414;
	border: 1px solid #2e2e2e;
	border-radius: 22px;
	color: #e8e8e8;
}
.icg-pkg2 .icg-pk3-card.is-featured { border-color: var(--pk3, #ee9441); }
.icg-pkg2 .icg-pk3-card.is-unavailable { opacity: .55; }

.icg-pkg2 .icg-pk3-tag {
	display: inline-block;
	margin: 0 0 10px;
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--pk3, #ee9441);
	color: #141414;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .02em;
	white-space: nowrap;
}
.icg-pkg2 .icg-pk3-tag--ghost { visibility: hidden; }

.icg-pkg2 .icg-pk3-icon {
	display: block;
	width: 96px;
	height: 70px;
	max-width: 100%;
	margin: 0 auto 10px;
}

.icg-pkg2 .icg-pk3-name {
	margin: 0 0 4px;
	padding: 0;
	font-family: inherit;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: normal;
	text-transform: none;
	color: var(--pk3, #ee9441);
}
.icg-pkg2 .icg-pk3-tagline {
	margin: 0 0 12px;
	font-size: 12px;
	line-height: 1.4;
	color: #9a9a9a;
}
.icg-pkg2 .icg-pk3-lead {
	display: flex;
	justify-content: center;
	min-height: 28px;
	margin: 0 0 8px;
}
.icg-pkg2 .icg-pk3-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 11px;
	border: 1px solid #2e2e2e;
	border-radius: 999px;
	font-size: 12px;
	line-height: 1.3;
	color: #cfcfcf;
	white-space: nowrap;
}
.icg-pkg2 .icg-pk3-pill__ico { flex: 0 0 auto; display: block; }
.icg-pkg2 .icg-pk3-insured {
	margin: 0 0 14px;
	min-height: 18px;
	font-size: 12px;
	line-height: 1.5;
	color: #9a9a9a;
}

.icg-pkg2 .icg-pk3-price {
	display: block;
	margin: auto 0 14px;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
}
.icg-pkg2 .icg-pk3-price .woocommerce-Price-amount,
.icg-pkg2 .icg-pk3-price .woocommerce-Price-currencySymbol,
.icg-pkg2 .icg-pk3-price bdi { color: inherit; font: inherit; }
.icg-pkg2 .icg-pk3-price--tbd { font-size: 15px; font-weight: 600; color: #9a9a9a; }
.icg-pkg2 .icg-pk3-price__unit { font-size: 12px; font-weight: 400; color: #9a9a9a; }

.icg-pkg2 .icg-pk3-btn {
	display: inline-block;
	box-sizing: border-box;
	padding: 10px 22px;
	border: 1.5px solid #ee9441;
	border-radius: 999px;
	background: transparent;
	color: #ee9441;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}
.icg-pkg2 .icg-pk3-btn:hover { background: rgba(238, 148, 65, .12); color: #ee9441; text-decoration: none; }
.icg-pkg2 .icg-pk3-btn--filled { background: #ee9441; color: #141414; }
.icg-pkg2 .icg-pk3-btn--filled:hover { background: #f4a65c; color: #141414; }
.icg-pkg2 .icg-pk3-btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

/* Cleaning callout: icon | text | price + button. */
.icg-pkg2 .icg-pk3-clean {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 28px;
	margin: 14px 0 0;
	padding: 22px 28px;
	background: #141414;
	border: 1px solid #2e2e2e;
	border-radius: 22px;
	color: #e8e8e8;
}
.icg-pkg2 .icg-pk3-clean.is-unavailable { opacity: .55; }
.icg-pkg2 .icg-pk3-clean__icon { flex: 0 0 auto; }
.icg-pkg2 .icg-pk3-clean__icon .icg-pk3-icon { margin: 0; width: 110px; height: 80px; }
.icg-pkg2 .icg-pk3-clean__text { flex: 1 1 auto; min-width: 0; }
.icg-pkg2 .icg-pk3-clean__title {
	margin: 0 0 6px;
	padding: 0;
	font-family: inherit;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: normal;
	text-transform: none;
	color: #fff;
}
.icg-pkg2 .icg-pk3-clean__body { margin: 0; font-size: 14px; line-height: 1.55; color: #9a9a9a; }
.icg-pkg2 .icg-pk3-clean__cta {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 20px;
}
.icg-pkg2 .icg-pk3-clean__cta .icg-pk3-price { margin: 0; text-align: right; }

@media (min-width: 1001px) {
	/* The row is wide enough; stack the unit under the price number only on narrow. */
	.icg-pkg2 .icg-pk3-clean__cta .icg-pk3-price__unit { margin-left: 2px; }
}
@media (max-width: 1000px) {
	.icg-pkg2 .icg-pk3-grid,
	.icg-pkg2 .icg-pk3-grid--n3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		justify-content: stretch;
	}
	.icg-pkg2 .icg-pk3-grid--n3 > .icg-pk3-card:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		justify-self: center;
		width: calc(50% - 7px);
	}
}
@media (max-width: 700px) {
	.icg-pkg2 .icg-pk3-clean {
		flex-direction: column;
		text-align: center;
		gap: 14px;
		padding: 22px 18px;
	}
	.icg-pkg2 .icg-pk3-clean__cta { flex-direction: column; gap: 12px; }
	.icg-pkg2 .icg-pk3-clean__cta .icg-pk3-price { text-align: center; }
}
@media (max-width: 560px) {
	.icg-pkg2 .icg-pk3-grid,
	.icg-pkg2 .icg-pk3-grid--n3 { grid-template-columns: minmax(0, 1fr); }
	.icg-pkg2 .icg-pk3-grid--n3 > .icg-pk3-card:last-child:nth-child(odd) { width: auto; justify-self: stretch; }
}

/* Subtle hover lift, only for people who have not asked for less motion. */
@media (prefers-reduced-motion: no-preference) {
	.icg-pkg2 .icg-pk3-card { transition: transform .18s ease, border-color .18s ease; }
	.icg-pkg2 .icg-pk3-card:not(.is-unavailable):hover { transform: translateY(-3px); }
	.icg-pkg2 .icg-pk3-btn { transition: background-color .18s ease; }
}
