.fm-station-profile{
	--fm-ink:#16202B;
	--fm-slate:#5B6675;
	--fm-surface:#FFFFFF;
	--fm-teal:#0E7C86;
	--fm-teal-dark:#0A5A62;
	--fm-amber:#E8A33D;
	--fm-amber-deep:#8A5C13;
	--fm-green:#2FA35A;
	--fm-red:#D64545;
	--fm-line:#E4E4DF;
	--fm-row:#F7F7F5;

	width:100%;
	font-family:'IBM Plex Sans', Arial, sans-serif;
	font-size:14px;
	line-height:1.6;
	color:var(--fm-ink);
}

.fm-station-profile a:link,
.fm-station-profile a:visited{
	color:var(--fm-teal-dark);
	text-decoration:none;
}
.fm-station-profile a:hover{text-decoration:underline;}

/* --- Intro: free-text description + logo, side by side --- */
.fm-sp-intro{
	display:flex;align-items:flex-start;gap:24px;flex-wrap:wrap;
	padding:16px 18px;
}
.fm-sp-intro-text{
	flex:1 1 320px;color:var(--fm-ink);font-size:14px;line-height:1.65;
}
.fm-sp-intro-logo{
	flex:0 0 auto;max-width:220px;max-height:110px;object-fit:contain;margin-left:auto;
}

.fm-sp-section{
	font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:15px;
	text-transform:uppercase;letter-spacing:.06em;color:var(--fm-slate);
	margin:0 0 10px;
}

/* --- Card wrapper --- */
.fm-sp-card{
	background:var(--fm-surface);border:1px solid var(--fm-line);border-radius:10px;
	overflow:hidden;margin-bottom:26px;
}
.fm-sp-empty{margin:0;padding:14px 16px;color:var(--fm-slate);font-size:13px;}

.fm-sp-map-card{padding:0;}

/* --- Tables (shared look) --- */
.fm-station-profile table{width:100%;border-collapse:collapse;border:none;}
.fm-station-profile td,
.fm-station-profile th,
.fm-station-profile tr{
	padding:6px 12px;text-align:left;font-size:13px;
	border:none;
}

.fm-sp-info td:first-child{
	color:var(--fm-ink);width:40%;font-size:11.5px;font-weight:600;
	text-transform:uppercase;letter-spacing:.03em;
}
.fm-sp-info td:last-child{color:var(--fm-ink);font-size:13px;font-weight:400;}
.fm-sp-info tr:nth-child(odd){background:var(--fm-row);}
.fm-sp-info tr:nth-child(even){background:var(--fm-surface);}
.fm-sp-flag{width:14px;vertical-align:-2px;margin-right:5px;}

.fm-sp-frequencies thead th,
.fm-sp-licenceholder thead th{
	background:#EFEFEB;color:var(--fm-ink);font-weight:600;font-size:11.5px;
	text-transform:uppercase;letter-spacing:.03em;
}
.fm-sp-frequencies td{font-family:'IBM Plex Mono',monospace;font-size:12.5px;}
.fm-sp-frequencies td.fm-sp-site{font-family:'IBM Plex Sans',sans-serif;font-weight:500;font-size:13px;}
.fm-sp-frequencies th:nth-child(n+3),
.fm-sp-frequencies td:nth-child(n+3){text-align:right!important;}
.fm-sp-frequencies tbody tr:nth-child(odd){background:var(--fm-row);}
.fm-sp-not-active-row{color:var(--fm-slate);}
.fm-sp-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;}
.fm-sp-status-on{background:var(--fm-green);}
.fm-sp-status-off{background:var(--fm-red);}
.fm-sp-closed-icon{height:13px;width:13px;vertical-align:-2px;margin-left:5px;}
.fm-sp-subrow td{
	padding-top:12px;font-family:'IBM Plex Sans',sans-serif;font-weight:400;
	font-size:13px;color:var(--fm-slate);
	background:var(--fm-surface);border-top:1px solid var(--fm-line);
}
.fm-sp-freq-footnote{
	font-size:11.5px;color:var(--fm-slate);padding:10px 12px;border-top:1px solid var(--fm-line);
}

.fm-sp-licenceholder{table-layout:fixed;}
.fm-sp-licenceholder td{font-size:13px;word-wrap:break-word;}
.fm-sp-licenceholder td:last-child{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--fm-ink);}
.fm-sp-licenceholder tbody tr:nth-child(odd){background:var(--fm-row);}
.fm-sp-licenceholder tbody tr:nth-child(even){background:var(--fm-surface);}

.fm-sp-error{color:#a00;font-style:italic;}

.fm-sp-notes{padding:14px 16px;}
.fm-sp-note{
	margin:0;padding:10px 0;font-size:14px;color:var(--fm-ink);line-height:1.65;
	border-bottom:1px solid var(--fm-line);
}
.fm-sp-note:last-child{border-bottom:none;padding-bottom:0;}
.fm-sp-note:first-child{padding-top:0;}

/* --- History timeline --- */
.fm-sp-timeline{padding:16px 18px;}
.fm-sp-tl-item{display:flex;align-items:flex-start;gap:10px;padding-bottom:18px;}
.fm-sp-tl-item:last-child{padding-bottom:0;}
.fm-sp-tl-marker{
	flex:0 0 auto;width:8px;height:8px;margin-top:5px;
	background:var(--fm-surface);border:2px solid var(--fm-teal);border-radius:2px;
}
.fm-sp-tl-content{flex:1 1 auto;min-width:0;}
.fm-sp-tl-date{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--fm-teal-dark);}
.fm-sp-tl-title{font-weight:600;font-size:13.5px;margin:2px 0 3px;}
.fm-sp-tl-text{font-size:12.5px;color:var(--fm-slate);}

/* ---------------------------------------------------------------------
 * fm-station-list additions below this line — NOT part of the original
 * fm-station-profile.css. Scoped with the extra .fm-sl class so these
 * rules only ever apply to this plugin's own markup and can never affect
 * a real fm-station-profile page even if both stylesheets happen to load
 * on the same page.
 * ------------------------------------------------------------------- */
.fm-station-profile.fm-sl .fm-sp-section{margin:26px 0 10px;}
.fm-station-profile.fm-sl .fm-sp-section:first-child{margin-top:0;}

/* Same column positions across every län's table, regardless of content length */
.fm-station-profile.fm-sl table{table-layout:fixed;}
.fm-station-profile.fm-sl th:nth-child(1),
.fm-station-profile.fm-sl td:nth-child(1){width:35%;}
.fm-station-profile.fm-sl th:nth-child(2),
.fm-station-profile.fm-sl td:nth-child(2){width:50%;}
.fm-station-profile.fm-sl th:nth-child(3),
.fm-station-profile.fm-sl td:nth-child(3){width:15%;}
