/* FFH Adventsfenster – öffentliche Ansicht (dunkles Theme der Website) */
.ffh-adv { max-width: 100%; box-sizing: border-box; margin-top: 8px; }
.ffh-adv-intro { font-size: 1.05em; line-height: 1.6; margin: 0 0 14px 0; }

/* Aufklappbare Bereiche (Karte, Tabelle) – Button-Design wie Block «FFH Anmeldung» */
.ffh-adv-details { margin: 0 0 14px 0; }
.ffh-adv-details:last-child { margin-bottom: 0; }
.ffh-adv-summary {
	list-style: none;
	display: inline-flex; align-items: center; gap: 8px;
	padding: 14px 28px;
	background: linear-gradient(135deg, #D68F00 0%, #F8A600 100%);
	color: #FFFFFF !important;
	border: none;
	border-radius: 50px;
	font-weight: 600;
	font-size: 1rem;
	font-family: inherit;
	box-shadow: 0 4px 15px rgba(0,0,0,0.2);
	transition: all 0.3s ease;
	cursor: pointer;
	user-select: none;
}
.ffh-adv-summary::-webkit-details-marker { display: none; }
.ffh-adv-summary::marker { content: ""; }
.ffh-adv-summary:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.3); }
.ffh-adv-summary:focus { outline: none; }
.ffh-adv-summary:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.ffh-adv-chev { display: inline-flex; transition: transform 0.3s ease; }
.ffh-adv-chev svg { width: 16px; height: 16px; fill: currentColor; }
.ffh-adv-details[open] .ffh-adv-chev { transform: rotate(180deg); }
.ffh-adv-when-open { display: none; }
.ffh-adv-details[open] .ffh-adv-when-open { display: inline; }
.ffh-adv-details[open] .ffh-adv-when-closed { display: none; }
.ffh-adv-details-body {
	margin-top: 16px;
	animation: ffh-adv-open 0.3s ease;
}
@keyframes ffh-adv-open { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }
.ffh-adv-empty { opacity: 0.8; }

.ffh-adv-map {
	width: 100%;
	height: 520px;
	max-height: 75vh;
	border-radius: 12px;
	overflow: hidden;
	background: #e9eef2;
	z-index: 0;
}
.ffh-adv-maphint { font-size: 12px; opacity: 0.75; margin: 6px 0 0 0; }

/* Nummern-Marker */
.ffh-adv-marker span {
	display: flex; align-items: center; justify-content: center;
	width: 30px; height: 30px;
	border-radius: 50%;
	background: #c62828;
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	border: 2px solid #fff;
	box-shadow: 0 2px 6px rgba(0,0,0,0.4);
}
.ffh-adv-marker.today span { background: #F8A600; color: #1a1a1a; }
/* Apéro-Abzeichen oben rechts am Pin */
.ffh-adv-marker { position: relative; }
.ffh-adv-marker-apero {
	position: absolute; top: -9px; right: -11px;
	display: flex; align-items: center; justify-content: center;
	width: 20px; height: 20px; border-radius: 50%;
	background: #1d2b3a; border: 2px solid #fff;
	box-shadow: 0 1px 4px rgba(0,0,0,0.45);
}
.ffh-adv-marker-apero svg { width: 13px; height: 13px; display: block; }
.ffh-adv-popup-apero { display: flex; align-items: center; gap: 5px; font-weight: 600; color: #c2185b; margin: 2px 0; }
.ffh-adv-popup-apero svg path:first-child { stroke: #555; }
.ffh-adv-popup-apero svg path:last-child { stroke: #555; }
.ffh-adv-legend { margin: 8px 0 0 0; font-size: 13px; }
.ffh-adv-legend-apero { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px 3px 6px; border-radius: 999px; background: rgba(255,255,255,0.12); }
.ffh-adv-apero-ico { vertical-align: -3px; flex: 0 0 auto; }
.ffh-adv-legend + .ffh-adv-maphint { margin-top: 4px; }

/* Popup */
.leaflet-popup-content { margin: 12px 16px; font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
.ffh-adv-popup { font-size: 14px; line-height: 1.45; color: #1a1a1a; min-width: 180px; }
.ffh-adv-popup-nr { font-weight: 700; color: #c62828; }
.ffh-adv-popup-nr em { color: #a86f00; font-style: normal; }
.ffh-adv-popup-tag { font-weight: 600; }
.ffh-adv-popup-name { margin-top: 4px; }
.ffh-adv-popup-hint { margin-top: 4px; font-size: 13px; color: #444; }
.ffh-adv-popup-route { display: inline-block; margin-top: 8px; color: #0684C0 !important; font-weight: 600; text-decoration: none; }

/* Tabelle (wie bisherige Liste: halbtransparente Zeilen, Schrift vom Theme) */
@media (hover: hover) and (pointer: fine) {
	.ffh-adv-table-wrap.ffh-adv-draggable { cursor: grab; }
	.ffh-adv-table-wrap.ffh-adv-draggable a { cursor: pointer; }
	.ffh-adv-table-wrap.ffh-adv-dragging, .ffh-adv-table-wrap.ffh-adv-dragging * { cursor: grabbing !important; user-select: none; }
}
.ffh-adv-table-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; touch-action: pan-x pan-y; }
.ffh-adv-table {
	min-width: 640px; width: 100%;
	border-collapse: collapse;
	border: 1px solid rgba(255,255,255,0.35);
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	font-size: 16px;
}
.ffh-adv-table th, .ffh-adv-table td { border: 1px solid rgba(255,255,255,0.35); padding: 8px 10px; text-align: left; vertical-align: top; }
.ffh-adv-table thead th { background: rgba(0,0,0,0.55); font-weight: 700; }
.ffh-adv-table tbody tr:nth-child(odd)  { background: rgba(0,0,0,0.50); }
.ffh-adv-table tbody tr:nth-child(even) { background: rgba(255,255,255,0.15); }
.ffh-adv-row.ffh-adv-active { outline: 2px solid #F8A600; outline-offset: -2px; }
.ffh-adv-table tbody tr.ffh-adv-today { background: rgba(248,166,0,0.28); }
.ffh-adv-nr span { font-weight: 700; font-size: 28px; line-height: 1; }
.ffh-adv-tag { white-space: nowrap; }
.ffh-adv-tag em { font-style: normal; font-size: 12px; font-weight: 700; color: #F8A600; margin-left: 4px; }
.ffh-adv-route { color: inherit !important; text-decoration: underline; }

@media (max-width: 600px) {
	.ffh-adv-map { height: 420px; }
	.ffh-adv-table { font-size: 14px; min-width: 560px; }
	.ffh-adv-nr span { font-size: 22px; }
}
