/* Intro och Dölj/Visa förklaring i klubben */
.td-coursemap-intro { margin: 0 0 1.5rem; }
.td-coursemap-intro__title { margin: 0 0 .5rem !important; }
.td-coursemap-intro__text { margin: 0 0 1rem; }
/* Appens/temats knappstil ger vit text på ljus bakgrund (#2173): hög specificitet och !important. */
.td-coursemap-intro .td-coursemap-intro__toggle,
.td-coursemap-intro button.td-coursemap-intro__toggle { appearance: none; -webkit-appearance: none; background: transparent !important; border: 2px solid #a4521f !important; border-radius: 8px !important; color: #a4521f !important; cursor: pointer; font: inherit !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: normal !important; box-shadow: none !important; padding: .4rem 1rem !important; margin: 0 0 .75rem !important; min-height: 40px; width: auto; display: inline-block; }
.td-coursemap-intro .td-coursemap-intro__toggle:hover,
.td-coursemap-intro .td-coursemap-intro__toggle:focus,
.td-coursemap-intro .td-coursemap-intro__toggle:active,
.td-coursemap-intro button.td-coursemap-intro__toggle:hover,
.td-coursemap-intro button.td-coursemap-intro__toggle:focus,
.td-coursemap-intro button.td-coursemap-intro__toggle:active { background: #a4521f !important; color: #fff !important; }
.td-coursemap-intro__body[hidden] { display: none; }
/* Dold förklaring: rubriken döljs också, bara knappen Visa förklaring finns kvar. */
.td-coursemap-intro[data-collapsed="1"] .td-coursemap-intro__title { display: none !important; }

/* Kurskarta (#2149): Helhet / Detaljer / Kittet. Eget prefix td-coursemap. */
.td-coursemap { margin: 0 0 1.5rem; }
.td-coursemap__columns {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 720px) {
	.td-coursemap__columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.td-coursemap__col { min-width: 0; }
.td-coursemap__title {
	margin: 0 0 .25rem;
	font-size: 1.15rem;
	text-align: center;
}
.td-coursemap__lead {
	margin: 0 0 .75rem;
	text-align: center;
	font-size: .9rem;
	opacity: .8;
}
.td-coursemap__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: .5rem;
}
.td-coursemap__item { margin: 0; padding: 0; }
.td-coursemap__pill {
	display: block;
	box-sizing: border-box;
	padding: .55rem 1rem;
	border-radius: 999px;
	text-align: center;
	line-height: 1.3;
	color: #1d2327;
	text-decoration: none;
	background: #dbe9f6;
}
a.td-coursemap__pill:hover,
a.td-coursemap__pill:focus-visible {
	text-decoration: underline;
	outline: 2px solid currentColor;
	outline-offset: 2px;
}
/* Helhet: blå, blågröna och lila toner */
.td-coursemap__col--helhet .td-coursemap__pill--1 { background: #cfe3f7; }
.td-coursemap__col--helhet .td-coursemap__pill--2 { background: #cdeceb; }
.td-coursemap__col--helhet .td-coursemap__pill--3 { background: #ddd6f3; }
.td-coursemap__col--helhet .td-coursemap__pill--4 { background: #bfe0e6; }
/* Detaljer: lax och korall */
.td-coursemap__col--detaljer .td-coursemap__pill--1,
.td-coursemap__col--detaljer .td-coursemap__pill--3 { background: #fbd5c8; }
.td-coursemap__col--detaljer .td-coursemap__pill--2,
.td-coursemap__col--detaljer .td-coursemap__pill--4 { background: #f7bfb0; }
/* Kittet: ljusorange */
.td-coursemap__col--kittet .td-coursemap__pill { background: #fde2bd; }
.td-coursemap__caption {
	margin: 1rem 0 0;
	text-align: center;
	font-style: italic;
}
