.pk-06d97025-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	position: relative;
	background: transparent;
	border-radius: 999px 999px 0 0;
	/* Safari fix for border-radius with overflow:hidden and transforms inside */
	transform: translateZ(0); 
}

/* Zichtbare focus op de gehele kaart als de link focus heeft via Tab */
.pk-06d97025-card:has(.pk-06d97025-link:focus-visible) {
	outline: 2px solid #D4B47F;
	outline-offset: 3px;
}

.pk-06d97025-link:focus {
	outline: none; /* Verwijder standaard outline van de link, want de kaart krijgt hem */
}

/* Stretched link: dekt de hele kaart */
.pk-06d97025-link::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 10;
}

.pk-06d97025-image-container {
	margin: 0;
	padding: 0;
	position: relative;
	overflow: hidden;
	background-color: transparent;
	display: flex; /* Zorgt dat er geen witruimte onder de image is (line-height issue) */
	/* Safari fix to enforce overflow hidden with rounded corners */
	-webkit-mask-image: -webkit-radial-gradient(white, black); 
	/* Safari flexbox aspect ratio fix */
	flex-shrink: 0;
	min-height: 200px;
}

/* Fallback voor Safari oudere versies voor aspect-ratio (indien nodig, maar de CSS variabele via Elementor regelt het meestal, anders helpt padding-bottom hack) */
@supports not (aspect-ratio: 1 / 1) {
    .pk-06d97025-image-container::before {
        float: left;
        padding-top: 125%; /* 4/5 fallback default */
        content: "";
    }
    .pk-06d97025-image-container::after {
        display: block;
        content: "";
        clear: both;
    }
}

/* Boogvorm aan de bovenkant */
.pk-06d97025-arch .pk-06d97025-image-container,
.pk-06d97025-arch .pk-06d97025-image-wrapper,
.pk-06d97025-arch .pk-06d97025-image {
	border-radius: 999px 999px 0 0;
}

/* Binnenlijn (Art Deco style) */
.pk-06d97025-arch .pk-06d97025-image-container::after {
	content: '';
	position: absolute;
	border: 1px solid rgba(236,228,211,.6);
	border-bottom: 0;
	border-radius: 999px 999px 0 0;
	pointer-events: none;
	z-index: 2;
}

.pk-06d97025-image-wrapper {
	width: 100%;
	height: 100%;
	display: flex;
	position: absolute; /* Safari bug fix where flex children of aspect-ratio container don't fill height */
	top: 0;
	left: 0;
}

@supports (aspect-ratio: 1 / 1) {
    .pk-06d97025-image-wrapper {
        position: relative; /* Undo absolute if aspect-ratio is fully supported natively by wrapper setup, but absolute often safer in Safari for this setup */
    }
}

.pk-06d97025-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.8s cubic-bezier(0.2, 0.7, 0.1, 1);
	/* Prevent image from overflowing container in Safari flex layouts */
	max-width: 100%;
}

/* Hover Zoom Animatie */
@media (prefers-reduced-motion: no-preference) {
	.pk-06d97025-hover-zoom:hover .pk-06d97025-image {
		transform: scale(1.04);
	}
}

.pk-06d97025-nameplate {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto; /* Safari fix: allow it to grow but also shrink appropriately */
	z-index: 3;
	margin-top: 0; /* Extra check voor naadloze aansluiting */
	width: 100%; /* Safari fix to ensure full width within flex container */
	box-sizing: border-box;
}

/* Typografie defaults - Fallback voor als Elementor controls niet zijn ingesteld */
.pk-06d97025-title {
	font-family: 'Cinzel', serif;
	font-weight: 500;
	font-size: 1.6rem;
	letter-spacing: 0.06em;
	line-height: 1.12;
	margin: 0;
	/* Safari fix for text wrapping */
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.pk-06d97025-description {
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	font-size: 0.95rem;
	line-height: 1.7;
	margin: 0;
}

.pk-06d97025-link {
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	font-size: 0.94rem;
	text-decoration: none;
	border-bottom: 1px solid #B8925A;
	padding-bottom: 3px;
	margin-top: auto; /* Duwt link naar onder in de flex container */
	align-self: flex-start; /* Zorgt dat de border-bottom niet over de hele breedte gaat */
	transition: color 0.3s ease, border-color 0.3s ease;
}