Vorlage:Infobox Straße/styles.css

Aus Hist. Verein Herne / Wanne-Eickel
/* ===========================================================
   TemplateStyles für Vorlage:Infobox Straße
   Speichern unter:  Vorlage:Infobox Straße/styles.css
   Aufgerufen aus:   Vorlage:Infobox Straße
   =========================================================== */

.ibstr {
	float: right;
	clear: right;
	width: 420px;
	max-width: 100%;
	margin: 0 0 1.2em 1.2em;
	background: #ffffff;
	border: 1px solid #e0e0d8;
	border-radius: 12px;
	box-shadow: 0 2px 8px rgba( 0, 0, 0, 0.06 );
	overflow: hidden;
	font-size: 15px;                 /* Grundgröße – wirkt sich auf alle Werte aus */
	line-height: 1.55;
	font-family: sans-serif;
}

/* ---------- Kopfzeile "Überblick" ---------- */
.ibstr__header {
	background: #d8e8ff;
	color: #1f3d6b;
	font-weight: 500;
	text-align: center;
	padding: 10px 12px;
	font-size: 16px;
	letter-spacing: 0.02em;
}

/* ---------- Hero-Bild ---------- */
.ibstr__hero {
	background: #f6f4ec;
	padding: 0;
	margin: 0;
	text-align: center;
}
.ibstr__hero a,
.ibstr__hero img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}
.ibstr__caption {
	padding: 8px 16px;
	font-size: 13px;
	color: #6b6b66;
	font-style: italic;
	background: #faf8f1;
	border-bottom: 1px solid #f1efe8;
}

/* ---------- Body ---------- */
.ibstr__body {
	padding: 14px 16px 12px;
}

.ibstr__lead {
	font-size: 14px;
	color: #5f5e5a;
	margin: 0 0 12px;
	line-height: 1.55;
}

/* ---------- Badges (Bezirk / Ortsteil / PLZ) ---------- */
.ibstr__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 14px;
}
.ibstr__badge {
	display: inline-block;
	font-size: 13px;
	font-weight: 500;
	padding: 3px 11px;
	border-radius: 999px;
	line-height: 1.4;
	white-space: nowrap;
	cursor: help;                    /* zeigt an, dass es einen Tooltip gibt */
}
.ibstr__badge a,
.ibstr__badge a:visited {
	color: inherit !important;
	text-decoration: none;
}
.ibstr__badge--bezirk {
	background: #e1f5ee;
	color: #085041;
}
.ibstr__badge--ortsteil {
	background: #f1efe8;
	color: #444441;
}
.ibstr__badge--plz {
	background: #faeeda;
	color: #633806;
}

/* ---------- Datenzeilen ---------- */
.ibstr__data {
	border-top: 1px solid #f1efe8;
	padding-top: 8px;
	margin-top: 4px;
}
.ibstr__row {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding: 7px 0;
	border-bottom: 1px solid #f7f5ee;
}
.ibstr__row:last-child {
	border-bottom: none;
}
.ibstr__icon {
	flex: 0 0 22px;
	font-size: 15px;
	line-height: 1.5;
	text-align: center;
	color: #888780;
	user-select: none;
}
.ibstr__field {
	flex: 1 1 auto;
	min-width: 0;
}
.ibstr__label {
	display: block;
	color: #888780;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 1px;
}
.ibstr__value {
	font-weight: 500;
	color: #2c2c2a;
	font-size: 15px;
}
.ibstr__hint {
	font-size: 13px;
	color: #888780;
	margin-top: 2px;
	line-height: 1.45;
	font-weight: 400;
}

/* ---------- Karte ---------- */
.ibstr__map {
	margin: 14px 0 0;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid #f1efe8;
}
.ibstr__map .maps-leaflet,
.ibstr__map .maps-googlemaps3 {
	border-radius: 8px;
}

/* ---------- Farb-Legende ---------- */
.ibstr__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 12px;
	padding-top: 8px;
	border-top: 1px solid #f1efe8;
	font-size: 12px;
	color: #888780;
}
.ibstr__legend-item {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	white-space: nowrap;
}
.ibstr__legend-dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	flex: 0 0 10px;
}
.ibstr__legend-dot--bezirk { background: #5DCAA5; }
.ibstr__legend-dot--ortsteil { background: #B4B2A9; }
.ibstr__legend-dot--plz { background: #EF9F27; }

/* ---------- Footer ---------- */
.ibstr__footer {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 10px;
	padding-top: 8px;
	border-top: 1px solid #f1efe8;
	font-size: 12px;
	color: #aaa9a3;
}
.ibstr__footer a,
.ibstr__footer a:visited {
	color: #888780;
}
.ibstr__coords {
	font-variant-numeric: tabular-nums;
}

/* ---------- Responsive ---------- */
@media ( max-width: 720px ) {
	.ibstr {
		float: none;
		width: 100%;
		margin: 0 0 1em 0;
	}
}

/* ---------- Druckansicht ---------- */
@media print {
	.ibstr {
		box-shadow: none;
		border: 1px solid #ccc;
		break-inside: avoid;
	}
	.ibstr__map,
	.ibstr__footer {
		display: none;
	}
}

/* ---------- Dunkler Modus (falls Skin unterstützt) ---------- */
@media ( prefers-color-scheme: dark ) {
	.ibstr {
		background: #2c2c2a;
		border-color: #444441;
		box-shadow: none;
	}
	.ibstr__header { background: #1f3d6b; color: #d8e8ff; }
	.ibstr__hero { background: #1f1f1d; }
	.ibstr__caption { background: #232321; color: #b4b2a9; border-color: #444441; }
	.ibstr__lead { color: #d3d1c7; }
	.ibstr__value { color: #f1efe8; }
	.ibstr__hint,
	.ibstr__label,
	.ibstr__legend { color: #b4b2a9; }
	.ibstr__data,
	.ibstr__map,
	.ibstr__footer,
	.ibstr__legend { border-color: #444441; }
	.ibstr__row { border-bottom-color: #38383640; }
	.ibstr__badge--bezirk { background: #0f6e56; color: #e1f5ee; }
	.ibstr__badge--ortsteil { background: #444441; color: #f1efe8; }
	.ibstr__badge--plz { background: #854f0b; color: #faeeda; }
}