/* Stay Lucky Automaten v0.3.0 – stijl volgt de thema-variabelen (Twenty Twenty-Four + site-stijlen).
   Waarden na de komma zijn alleen terugvalwaarden als een variabele ontbreekt. Geen externe fonts. */
.sl-voorraad,.sl-kaart,.sl-single,.sl-locatie{
	--sl-accent:var(--wp--preset--color--contrast,#A62B0C);
	--sl-inkt:var(--wp--preset--color--black,#000);
	--sl-vlak:var(--wp--preset--color--white,#fff);
	--sl-zacht:var(--wp--preset--color--base-2,#ECEADF);
	--sl-kopfont:var(--wp--preset--font-family--heading,Cardo,serif);
	--sl-tekstfont:var(--wp--preset--font-family--body,Inter,sans-serif);
	--sl-radius:12px;
	--sl-knop-radius:7px 0 0 7px; /* zoals de knoppen 'Lees meer' en 'Vraag een machine aan!' */
	--sl-schaduw:0 1px 2px rgba(0,0,0,.06),0 8px 24px rgba(0,0,0,.08);
	--sl-gap:var(--wp--preset--spacing--20,1.5rem);
	font-family:var(--sl-tekstfont);
	font-size:max(1rem,16px);
	box-sizing:border-box;
	max-width:100%;
}
.sl-voorraad *,.sl-kaart *,.sl-single *{box-sizing:border-box}

/* ---------- Knoppen (zelfde vorm als de site: vet, links afgerond) ---------- */
.sl-knop{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:.75rem 1.5rem;
	border-radius:var(--sl-knop-radius);font-family:var(--sl-tekstfont);font-weight:700;font-size:1rem;line-height:1.3;
	text-decoration:none!important;background:var(--sl-inkt);color:#fff!important;border:2px solid var(--sl-inkt);cursor:pointer;
	transition:background-color .15s,color .15s,transform .15s;max-width:100%;text-align:center}
.sl-knop:hover{background:var(--sl-accent);border-color:var(--sl-accent)}
.sl-knop--licht{background:var(--sl-vlak);color:var(--sl-inkt)!important;border-color:var(--sl-inkt)}
.sl-knop--licht:hover{background:var(--sl-inkt);color:#fff!important}
.sl-knop--groot{width:100%;min-height:56px;font-size:1.05rem}
@media (min-width:600px){.sl-knop--groot{width:auto}}
.sl-knop:focus-visible,.sl-terug:focus-visible,.sl-kaart__vlak:focus-visible,.sl-kaart a:focus-visible,.sl-voorraad a:focus-visible{
	outline:3px solid var(--sl-accent);outline-offset:3px;box-shadow:0 0 0 6px #fff}
@media (prefers-reduced-motion:reduce){.sl-knop{transition:none}}

/* ---------- Voorraad ---------- */
.sl-voorraad{display:grid;gap:var(--sl-gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));margin:var(--sl-gap) 0}
.sl-automaat{background:var(--sl-vlak);border-radius:var(--sl-radius);box-shadow:var(--sl-schaduw);overflow:hidden;color:var(--sl-inkt);min-width:0}
.sl-automaat img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover}
.sl-automaat__body{padding:1.25rem 1.25rem 1rem}
.sl-automaat h3{margin:0 0 .5rem;font-family:var(--sl-kopfont);font-weight:700;font-size:1.4rem;line-height:1.2;color:var(--sl-inkt)}
.sl-automaat__adres,.sl-automaat__toegang{margin:.25rem 0;font-size:1rem}
.sl-lijst{list-style:none;margin:0;padding:0}
.sl-lijst li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem .75rem;min-height:48px;padding:.5rem 0;border-bottom:1px solid var(--sl-zacht);font-size:1rem}
.sl-lijst li:last-child{border-bottom:0}
.sl-product{min-width:0;overflow-wrap:anywhere}
.sl-status{display:inline-flex;align-items:center;gap:.4em;font-size:1rem;font-weight:600;line-height:1.2;padding:.3rem .7rem;border-radius:999px;white-space:nowrap;border:1px solid currentColor}
.sl-status svg{width:1em;height:1em;flex:none}
.sl-status--op_voorraad{background:#E7F4EA;color:#14532D}   /* contrast 8,9:1 */
.sl-status--bijna_op{background:#FFF1D6;color:#713F00}      /* contrast 7,9:1 */
.sl-status--op{background:#FCE8E6;color:#8C1D18}            /* contrast 8,0:1 */
.sl-leeg{margin:0;font-size:1rem}
.sl-meta{margin:.75rem 0 0;padding-top:.75rem;border-top:1px solid var(--sl-zacht);font-size:1rem;line-height:1.5;color:#4a4a4a}
.sl-meta a{color:var(--sl-accent)}

/* ---------- Kaart ---------- */
.sl-kaart{margin:var(--sl-gap) 0;color:var(--sl-inkt)}
.sl-kaart__vlak{position:relative;height:var(--sl-kaart-h,480px);border-radius:var(--sl-radius);box-shadow:var(--sl-schaduw);overflow:hidden;
	background:var(--sl-zacht);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem;text-align:center;z-index:0}
.sl-kaart__vlak.is-geladen{display:block;padding:0}
@media (max-width:600px){.sl-kaart__vlak{height:min(var(--sl-kaart-h,480px),60vh);min-height:320px}}
.sl-kaart__laden{font:inherit}
.sl-kaart__lijst{list-style:none;margin:var(--sl-gap) 0 0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.sl-locatiekaart{display:flex;flex-direction:column;gap:.35rem;background:var(--sl-vlak);border-radius:var(--sl-radius);box-shadow:var(--sl-schaduw);padding:1.25rem;min-width:0}
.sl-locatiekaart__naam{margin:0;font-family:var(--sl-kopfont);font-weight:700;font-size:1.35rem;line-height:1.2;color:var(--sl-inkt)}
.sl-locatiekaart__adres{margin:0 0 .5rem;font-size:1rem;color:#333;display:flex;gap:.4rem;align-items:flex-start}
.sl-locatiekaart__adres svg,.sl-gegeven svg{flex:none;width:1.15em;height:1.15em;margin-top:.15em;color:var(--sl-accent)}
.sl-locatiekaart .sl-knop{margin-top:auto;align-self:flex-start}
/* Leaflet: marker en popup in huisstijl */
.sl-kaart .sl-pin{background:none;border:0}
.sl-kaart .sl-pin svg{display:block;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}
.sl-kaart .leaflet-popup-content-wrapper{border-radius:var(--sl-radius);box-shadow:var(--sl-schaduw);padding:0}
.sl-kaart .leaflet-popup-content{margin:1rem 1.1rem;font-family:var(--sl-tekstfont);font-size:1rem;line-height:1.45;color:var(--sl-inkt);min-width:200px}
.sl-popup__naam{display:block;font-family:var(--sl-kopfont);font-weight:700;font-size:1.2rem;line-height:1.2;margin-bottom:.25rem}
.sl-popup__adres{margin-bottom:.75rem}
.sl-kaart .leaflet-popup-content a.sl-knop{color:#fff!important;min-height:44px;padding:.6rem 1.1rem}
.sl-kaart .leaflet-container a.leaflet-popup-close-button{width:32px;height:32px;font-size:22px;line-height:32px}
.sl-kaart .leaflet-bar a{width:44px;height:44px;line-height:44px}
.sl-kaart .leaflet-control-attribution{font-size:12px}

/* ---------- Automaatpagina ---------- */
.single-automaat .wp-block-post-featured-image img{border-radius:var(--sl-radius,12px);aspect-ratio:4/3;object-fit:cover}
.single-automaat .wp-block-post-title{font-weight:700;color:var(--wp--preset--color--black,#000)}
.single-automaat .wp-block-post-title + .wp-block-template-part{display:none} /* datum/auteur: niet relevant voor een locatie */
.sl-single{margin-top:var(--wp--preset--spacing--20,1.5rem);color:var(--sl-inkt);display:flex;flex-direction:column;gap:var(--sl-gap)}
.sl-single > *{margin:0}
.sl-single h2{font-family:var(--sl-kopfont);font-weight:700;font-size:var(--wp--preset--font-size--large,1.6rem);line-height:1.2;color:var(--sl-inkt);margin:0}
.sl-blok{background:var(--sl-vlak);border-radius:var(--sl-radius);box-shadow:var(--sl-schaduw);padding:1.25rem}
@media (min-width:600px){.sl-blok{padding:1.5rem 1.75rem}}
.sl-gegeven{display:flex;gap:.6rem;align-items:flex-start;margin:0 0 .75rem;font-size:1rem;line-height:1.5}
.sl-gegeven:last-child{margin-bottom:0}
.sl-gegeven strong{display:block}
.sl-tijden{width:100%;border-collapse:collapse;font-size:1rem;margin:.25rem 0 0}
.sl-tijden caption{text-align:left;font-family:var(--sl-kopfont);font-weight:700;font-size:1.25rem;padding-bottom:.5rem;color:var(--sl-inkt)}
.sl-tijden th,.sl-tijden td{padding:.6rem 0;border-bottom:1px solid var(--sl-zacht);text-align:left;vertical-align:top}
.sl-tijden th{font-weight:600;padding-right:1rem;width:45%}
.sl-tijden td{font-variant-numeric:tabular-nums}
.sl-tijden tr:last-child th,.sl-tijden tr:last-child td{border-bottom:0}
.sl-noot{font-size:1rem;color:#4a4a4a;margin:.75rem 0 0}
.sl-single .sl-voorraad{margin:0}
.sl-terug{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;font-weight:600;color:var(--sl-accent);text-decoration:underline;text-underline-offset:3px}
.sl-terug:hover{color:var(--sl-inkt)}

/* ---------- Locatieblok in de pagina (core-blokken met class sl-locatie) ---------- */
.sl-locatie{border-radius:var(--sl-radius);box-shadow:var(--sl-schaduw);overflow:hidden;color:var(--sl-inkt)}
.sl-locatie .wp-block-image img{border-radius:var(--sl-radius);aspect-ratio:4/3;object-fit:cover;width:100%}
.sl-locatie .wp-block-image figcaption{font-size:1rem;color:#4a4a4a;margin-top:.4rem}
.sl-locatie .wp-block-heading{color:var(--sl-inkt);font-weight:700}
.sl-locatie .wp-block-list{padding-left:1.2rem}
.sl-locatie .wp-block-button__link{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
.sl-locatie .sl-voorraad{margin-top:.5rem}
.sl-pagina-intro .wp-block-button__link,.sl-locatie .wp-block-button__link{min-height:48px}
.sl-terug svg{width:1.1em;height:1.1em;flex:none}
.sl-kaart .screen-reader-text,.sl-single .screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
/* v0.3.0 verfijning */
.sl-pagina-intro .wp-block-cover__inner-container{width:100%;max-width:1000px;margin-inline:auto}
.sl-pagina-intro .wp-block-button__link,.sl-locatie .wp-block-button__link{font-size:1rem;min-height:48px;display:inline-flex;align-items:center;justify-content:center}
.sl-locatie .wp-block-button.is-style-outline .wp-block-button__link{border:2px solid currentColor}
.sl-locatie .sl-automaat{box-shadow:none;border:1px solid var(--sl-zacht)}
.sl-locatie .wp-block-columns{margin-bottom:var(--wp--preset--spacing--20,1.5rem)}
.sl-kaart .leaflet-touch .leaflet-bar a,.sl-kaart .leaflet-bar a{width:44px;height:44px;line-height:44px;font-size:22px}
