/* Aanbieders op de plaatspagina's. Bouwt voort op ideeen.css (filter en chips). */
.mkf-ab .mkf-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mkf-ab__deel { display: grid; gap: 14px; min-width: 0; }
.mkf-ab__deel + .mkf-ab__deel { margin-top: 18px; }
.mkf-ab__kop { margin: 0; scroll-margin-top: 90px; }
.mkf-ab__aantal {
	display: inline-block; min-width: 1.6em; margin-left: 4px; padding: 0 8px; vertical-align: middle;
	font-size: 15px; font-weight: 700; line-height: 1.6; text-align: center; font-variant-numeric: tabular-nums;
	color: var(--ib-inkt); background: var(--wp--preset--color--geel-licht, #FFF0C7); border-radius: 999px;
}
.mkf-ab__buurttekst, .mkf-ab__uitleg { margin: 0; font-size: 15px; line-height: 1.5; color: var(--ib-zacht); }
.mkf-ab__uitleg { font-size: 14px; }
.mkf-ab__leeg { margin: 0; }
.mkf-ab__kaarten { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.mkf-ab__kaart {
	display: flex; flex-direction: column; gap: 10px; padding: 16px 18px; min-width: 0; scroll-margin-top: 90px;
	background: var(--ib-wit); border: 2px solid var(--ib-inkt); border-radius: 20px;
}
.mkf-ab__boven { display: flex; align-items: center; gap: 12px; min-height: 56px; }
.mkf-ab__plaatje { flex: none; display: block; width: 56px; height: 56px; }
.mkf-ab__koptekst { min-width: 0; }
.mkf-ab__naam { margin: 0; font-family: var(--ib-kop); font-weight: 600; font-size: 19px; line-height: 1.2; color: var(--ib-inkt); overflow-wrap: anywhere; hyphens: auto; }
.mkf-ab__soort { margin: 3px 0 0; font-size: 12px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; color: var(--ib-zacht); }
.mkf-ab__plek { margin: 0; font-size: 15px; line-height: 1.45; }
.mkf-ab__waar {
	display: inline-block; margin-left: 4px; padding: 1px 9px; font-size: 12.5px; font-weight: 700; line-height: 1.5;
	color: var(--ib-inkt); background: var(--wp--preset--color--mint-licht, #DDF4EC); border-radius: 999px; white-space: nowrap;
}
.mkf-ab__feiten { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; }
.mkf-ab__feiten > div { min-width: 0; }
.mkf-ab__feiten > .is-breed { grid-column: 1 / -1; }
.mkf-ab__feiten dt { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; color: var(--ib-zacht); }
.mkf-ab__feiten dd { margin: 1px 0 0; font-weight: 700; font-size: 15px; line-height: 1.35; color: var(--ib-inkt); overflow-wrap: anywhere; }
.mkf-ab__afstand { margin: -6px 0 0; font-size: 13.5px; font-weight: 700; color: var(--ib-zacht); }
.mkf-ab__opmerking { margin: 0; padding: 8px 12px; font-size: 14px; line-height: 1.45; background: var(--ib-zand); border-radius: 12px; }
.mkf-ab__acties { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: auto; padding-top: 4px; }
.mkf-ab__knop {
	display: inline-flex; align-items: center; min-height: 44px; padding: 8px 18px; box-sizing: border-box;
	font-family: var(--ib-kop); font-weight: 600; font-size: 16px; line-height: 1.25; text-decoration: none;
	color: var(--ib-inkt); background: var(--wp--preset--color--koraal, #FF7A6B);
	border: 3px solid var(--ib-inkt); border-radius: 999px; box-shadow: 0 4px 0 var(--ib-inkt);
	transition: transform 120ms ease, box-shadow 120ms ease;
}
.mkf-ab__knop:hover { background: #FF8C7E; color: var(--ib-inkt); }
.mkf-ab__knop:active { transform: translateY(4px); box-shadow: none; }
.mkf-ab__site { font-weight: 800; font-size: 15px; color: var(--ib-koraal); text-decoration: underline; text-underline-offset: 3px; }
.mkf-ab__knop:focus-visible, .mkf-ab__site:focus-visible { outline: 3px solid #2C6ED5; outline-offset: 2px; }
.mkf-ab__voet { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; }
.mkf-ab__bron { margin: 0; font-size: 13px; color: var(--ib-zacht); }
.mkf-ab__bron--oud { color: var(--ib-koraal); font-weight: 700; }
.mkf-ab__meld { font-size: 13px; color: var(--ib-zacht); text-decoration: underline; text-underline-offset: 2px; }
.mkf-ab__meld:hover { color: var(--ib-koraal); }
.mkf-ab__meld:focus-visible { outline: 3px solid #2C6ED5; outline-offset: 2px; }
.mkf-ab__alleen {
	margin: 0; padding: 10px 14px; font-weight: 700; background: var(--wp--preset--color--geel-licht, #FFF0C7);
	border: 2px solid var(--ib-inkt); border-radius: 14px;
}
.mkf-ab__alleen .mkf-ib__wis-link { margin-left: 6px; }
.mkf-ab__osm { margin: 8px 0 0; font-size: 13px; line-height: 1.5; color: var(--ib-zacht); }
.mkf-ab__meer { margin: 16px 0 0; text-align: center; }
.mkf-ab__meer-knop {
	min-height: 44px; padding: 10px 22px; font: inherit; font-weight: 800; font-size: 16px; line-height: 1.3; cursor: pointer;
	color: var(--ib-inkt); background: var(--wp--preset--color--wit, #FFFFFF); border: 2px solid var(--ib-inkt); border-radius: 999px;
}
.mkf-ab__meer-knop:hover { background: var(--wp--preset--color--zand, #F6EBDD); }
.mkf-ab__meer-knop:focus-visible { outline: 3px solid #2C6ED5; outline-offset: 2px; }
.mkf-ab__osm a { color: inherit; }

@media (min-width: 600px) {
	.mkf-ab__kaarten { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 380px) {
	.mkf-ab__feiten { grid-template-columns: minmax(0, 1fr); }
	.mkf-ab__knop { width: 100%; justify-content: center; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
	.mkf-ab__knop { transition: none; }
	.mkf-ab__knop:active { transform: none; }
}

/* Links naar plaatspagina's ([mkf_plaatsen] en [mkf_aanbieders_activiteit]). */
.mkf-ab-plaatsblok { margin-block: var(--wp--preset--spacing--50, 28px); }
.mkf-ab-plaatsblok > h2 { margin-top: 0; }
.mkf-ab-plaatsen__prov { margin: 20px 0 10px; }
.mkf-ab-plaatsen { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.mkf-ab-plaats a {
	display: inline-flex; align-items: baseline; gap: 8px; min-height: 44px; box-sizing: border-box; padding: 9px 16px;
	font-weight: 800; font-size: 16px; line-height: 1.3; text-decoration: none; color: var(--wp--preset--color--inkt, #2E2A4F);
	background: var(--wp--preset--color--wit, #FFFFFF); border: 2px solid var(--wp--preset--color--inkt, #2E2A4F); border-radius: 999px;
}
.mkf-ab-plaats a:hover { background: var(--wp--preset--color--zand, #F6EBDD); }
.mkf-ab-plaats a:hover .mkf-ab-plaats__naam { text-decoration: underline; }
.mkf-ab-plaats__tel { font-size: 13px; font-weight: 600; color: var(--wp--preset--color--inkt-zacht, #5E5A82); }
