/* Imkerei Termine – Frontend-Layout (Honig-Design, passend zum Website-Entwurf) */
.imkt{
	--honig:#E39A08; --amber:#A8630A; --braun:#3A2A17;
	--creme:#FBF4E6; --karte:#FFFDF8; --wiese:#7A8B5A; --linie:#EAD9B4;
	font-family:"Nunito Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	color:var(--braun); max-width:1120px; margin:0 auto;
}
.imkt *{box-sizing:border-box;}
.imkt .imkt-data{display:none;}

.imkt .imkt-head{text-align:center; margin-bottom:28px;}
.imkt .imkt-eyebrow{display:inline-block; font-weight:800; letter-spacing:.14em;
	text-transform:uppercase; font-size:.72rem; color:var(--amber); margin-bottom:10px;}
.imkt .imkt-title{font-family:"Fraunces", Georgia, serif; font-weight:600;
	font-size:clamp(1.7rem, 1.1rem + 2.4vw, 2.6rem); line-height:1.1; margin:0 0 8px; color:var(--braun);}
.imkt .imkt-sub{margin:0; color:#6b5a44; font-size:1.02rem;}

.imkt .imkt-grid{display:grid; grid-template-columns:minmax(280px,1fr) 1.35fr; gap:22px; align-items:stretch;}
@media (max-width:820px){ .imkt .imkt-grid{grid-template-columns:1fr;} }

.imkt .imkt-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px;
	max-height:560px; overflow:auto; scrollbar-width:thin;}
.imkt .imkt-card{position:relative; background:var(--karte); border:1px solid var(--linie);
	border-radius:16px; padding:16px 18px 16px 64px; cursor:pointer;
	transition:transform .12s ease, box-shadow .18s ease, border-color .18s ease;}
.imkt .imkt-card:hover{transform:translateY(-2px); box-shadow:0 10px 24px -14px rgba(58,42,23,.5); border-color:var(--honig);}
.imkt .imkt-card:focus-visible{outline:3px solid var(--honig); outline-offset:2px;}
.imkt .imkt-card.is-next{border-color:var(--honig); box-shadow:0 0 0 2px rgba(227,154,8,.22);}

.imkt .imkt-day{position:absolute; left:14px; top:14px; width:40px; text-align:center;
	background:linear-gradient(180deg,#F6D98B,#E39A08); border-radius:10px; padding:4px 0 5px;
	color:#4a3410; box-shadow:0 4px 10px -4px rgba(163,99,10,.6);}
.imkt .imkt-day b{display:block; font-family:"Fraunces",serif; font-size:1.15rem; line-height:1;}
.imkt .imkt-day span{display:block; font-size:.62rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em;}
.imkt .imkt-when{font-size:.78rem; color:var(--amber); font-weight:800; letter-spacing:.02em; text-transform:uppercase;}
.imkt .imkt-place{font-family:"Fraunces",serif; font-size:1.18rem; margin:2px 0;}
.imkt .imkt-addr{font-size:.86rem; color:#7a6a54; margin:0 0 4px;}
.imkt .imkt-note{font-size:.86rem; color:#5c4a33; margin:0;}
.imkt .imkt-tags{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:6px;}
.imkt .imkt-chip{font-size:.64rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
	padding:3px 9px; border-radius:999px; color:#fff; line-height:1.5; white-space:nowrap;}
.imkt .imkt-chip--next{background:var(--wiese);}
.imkt .imkt-chip--erster{background:#3E7CB1;}
.imkt .imkt-chip--regelmaessig{background:#9C7A3C;}
.imkt .imkt-chip--einmalig{background:#B5651D;}
.imkt .imkt-chip--aktion{background:linear-gradient(180deg,#F6D98B,#E39A08); color:#4a3410;}

.imkt .imkt-map-wrap{border:1px solid var(--linie); border-radius:18px; overflow:hidden; min-height:420px;
	box-shadow:0 18px 40px -26px rgba(58,42,23,.55);}
.imkt .imkt-map{width:100%; height:100%; min-height:420px; background:var(--creme);}

.imkt .leaflet-popup-content-wrapper{border-radius:14px;}
.imkt .leaflet-popup-content{font-family:"Nunito Sans",sans-serif; margin:12px 14px;}
.imkt .imkt-pop-place{font-family:"Fraunces",serif; font-size:1.05rem; color:var(--braun); margin:0 0 2px;}
.imkt .imkt-pop-when{color:var(--amber); font-weight:800; font-size:.82rem; margin:0 0 4px;}
.imkt .imkt-pop-addr{color:#6b5a44; font-size:.84rem; margin:0 0 8px;}
.imkt .imkt-pop-link{display:inline-block; font-weight:800; font-size:.82rem; color:#fff;
	background:var(--honig); padding:6px 12px; border-radius:999px; text-decoration:none;}

.imkt .imkt-pin{width:34px; height:34px; border-radius:50% 50% 50% 0; transform:rotate(-45deg);
	background:linear-gradient(180deg,#F6D98B,#E39A08); border:2px solid #fff;
	box-shadow:0 4px 10px -3px rgba(58,42,23,.7);}
.imkt .imkt-pin.is-next{background:linear-gradient(180deg,#9fb27a,#7A8B5A);}

.imkt .imkt-empty{text-align:center; background:var(--karte); border:1px dashed var(--linie);
	border-radius:16px; padding:26px; color:#6b5a44;}

@media (prefers-reduced-motion:reduce){ .imkt .imkt-card{transition:none;} }
