/*
 * TASCAM Europe – neues Erscheinungsbild
 * ---------------------------------------
 * Wird NACH /css/tascam.min.css geladen und überschreibt nur das Aussehen.
 * Das HTML (Struktur, Klassen, IDs) und das Bootstrap-Grid bleiben unverändert.
 *
 * Inhalt
 *  1. Design-Tokens
 *  2. Grundlagen & Typografie
 *  3. Kopfzeile
 *  4. Seitenleiste / Navigation
 *  5. Hauptbereich & Seitenkopf
 *  6. Startseite (Karussell, Mitteilungen, Dateien)
 *  7. Kategorieseite (Produktkarten)
 *  8. Produktseite (Galerie, Sprungleiste, Beschreibung, Merkmale, Zubehör, Daten)
 *  9. Buttons, Formulare, Tabellen
 * 10. Fußzeile
 * 11. Responsive
 */

/* 1. Design-Tokens ------------------------------------------------------- */
:root {
	--tc-red: #dc001a;
	--tc-red-dark: #b00015;
	--tc-red-soft: rgba(220, 0, 26, .08);

	--tc-ink: #16181b;          /* Kopf- und Fußzeile */
	--tc-ink-2: #23272c;
	--tc-text: #22262a;
	--tc-muted: #6b737b;
	--tc-line: #e3e5e8;
	--tc-line-strong: #cfd3d8;

	--tc-bg: #f2f3f5;           /* Seitenhintergrund */
	--tc-surface: #ffffff;
	--tc-surface-2: #f7f8f9;

	--tc-radius: 10px;
	--tc-radius-sm: 6px;
	--tc-shadow-sm: 0 1px 2px rgba(16, 18, 20, .06);
	--tc-shadow: 0 1px 2px rgba(16, 18, 20, .05), 0 6px 20px rgba(16, 18, 20, .06);
	--tc-shadow-lg: 0 2px 4px rgba(16, 18, 20, .06), 0 16px 40px rgba(16, 18, 20, .12);

	--tc-header-h: 72px;
	--tc-ease: cubic-bezier(.2, .7, .2, 1);
}

/* 2. Grundlagen & Typografie -------------------------------------------- */
body {
	background-color: var(--tc-bg);
	color: var(--tc-text);
	font-size: .9375rem;
	line-height: 1.65;
	letter-spacing: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

::selection { background: var(--tc-red); color: #fff; }

a { color: var(--tc-red); transition: color .15s ease; }
a:hover { color: var(--tc-red-dark); }

h1, .h1 { font-weight: 700; letter-spacing: -.02em; line-height: 1.15; }
h2, .h2 { font-weight: 600; letter-spacing: -.015em; line-height: 1.25; }
h3, .h3, h4, .h4 { letter-spacing: -.005em; }

.text-primary { color: var(--tc-red) !important; }
.text-muted { color: var(--tc-muted) !important; }
.bg-light { background-color: var(--tc-surface-2) !important; }

:focus-visible {
	outline: 2px solid var(--tc-red);
	outline-offset: 2px;
}

#skiptomain a:focus {
	background: var(--tc-red);
	color: #fff;
	border-radius: var(--tc-radius-sm);
}

/* 3. Kopfzeile ----------------------------------------------------------- */
header.navbar.top-nav-shadow {
	background: rgba(22, 24, 27, .94) !important;
	-webkit-backdrop-filter: saturate(160%) blur(12px);
	backdrop-filter: saturate(160%) blur(12px);
	min-height: var(--tc-header-h);
	box-shadow: 0 1px 0 rgba(255, 255, 255, .06), 0 8px 24px rgba(0, 0, 0, .18);
	border-bottom: 2px solid var(--tc-red);
}

header .brand-tag {
	font-size: .8125rem;
	font-weight: 600;
	letter-spacing: .32em;
	color: rgba(255, 255, 255, .55);
	margin-top: .55rem;
	padding-left: .9rem;
	margin-left: .25rem;
	border-left: 1px solid rgba(255, 255, 255, .2);
}

header #main-menu .nav-link {
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .08em;
	color: rgba(255, 255, 255, .62) !important;
	padding: .35rem .55rem;
	border-radius: var(--tc-radius-sm);
	transition: color .15s ease, background-color .15s ease;
}

header #main-menu .nav-link:hover {
	color: #fff !important;
	background: rgba(255, 255, 255, .08);
}

header #navbar-search {
	border-radius: 999px !important;
	overflow: hidden;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .15);
	transition: box-shadow .2s ease;
}

header #navbar-search:focus-within { box-shadow: 0 0 0 3px rgba(220, 0, 26, .45); }

header #navbar-search .form-control {
	border: 0;
	box-shadow: none;
}

header a.menu-item.nav-item {
	color: rgba(255, 255, 255, .75) !important;
	transition: color .15s ease;
}

header a.menu-item.nav-item:hover { color: #fff !important; }

header .navbar-toggler {
	border-color: rgba(255, 255, 255, .2);
	border-radius: var(--tc-radius-sm);
}

/* 4. Seitenleiste / Navigation ------------------------------------------ */
#sidebar-menu {
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}

#sidebar-menu .menublock {
	background: var(--tc-surface);
	border-radius: var(--tc-radius);
	box-shadow: var(--tc-shadow-sm);
	border: 1px solid var(--tc-line);
	margin: 0 0 .75rem !important;
	padding: .5rem .75rem;
}

#sidebar-menu .menublock.border-bottom { border-bottom: 1px solid var(--tc-line) !important; }

#sidebar-menu #lang-menu-mobile {
	background: transparent;
	border: 0;
	box-shadow: none;
}

/* Blocküberschriften (Produkte, Festinstallation, Service …) */
#sidebar-menu #menu-prods,
#sidebar-menu .menublock > h4,
#sidebar-menu .menublock > .h5 {
	font-size: .6875rem !important;
	font-weight: 700 !important;
	letter-spacing: .14em;
	color: var(--tc-muted) !important;
	padding-top: .75rem !important;
	padding-left: .5rem !important;
}

#sidebar-menu .menublock > h4 > .nav-link,
#sidebar-menu .menublock > .h5 > .nav-link {
	color: var(--tc-text);
	font-size: .75rem;
	padding: .35rem .5rem;
	border-radius: var(--tc-radius-sm);
}

#sidebar-menu .menublock > h4 > .nav-link:hover,
#sidebar-menu .menublock > .h5 > .nav-link:hover { color: var(--tc-red); }

/* Produktschnellwahl */
#sidebar-menu #Produktauswahl { padding: .5rem .25rem .75rem !important; }

#sidebar-menu .ss-main {
	border: 1px solid var(--tc-line-strong);
	border-radius: var(--tc-radius-sm);
	background: var(--tc-surface-2);
	transition: border-color .15s ease, box-shadow .15s ease;
}

#sidebar-menu .ss-main:hover,
#sidebar-menu .ss-main.ss-open-below,
#sidebar-menu .ss-main.ss-open-above {
	border-color: var(--tc-red);
	box-shadow: 0 0 0 3px var(--tc-red-soft);
}

/* Menüeinträge */
#sidebar-menu .sidebar .nav-link {
	color: var(--tc-text);
	font-size: .875rem;
	padding: .4rem .5rem;
	border-radius: var(--tc-radius-sm);
	transition: background-color .15s ease, color .15s ease;
}

#sidebar-menu .sidebar .nav-link:hover {
	background: var(--tc-surface-2);
	color: var(--tc-red);
}

#sidebar-menu .sidebar .nav-link:not(.collapsed) {
	color: var(--tc-red);
	font-weight: 600;
}

#sidebar-menu .sidebar .nav-link .fa,
#sidebar-menu .sidebar .nav-link::after { transition: transform .2s var(--tc-ease); }

#sidebar-menu .collapse-inner {
	margin: .15rem 0 .5rem .6rem;
	padding-left: .6rem;
	border-left: 2px solid var(--tc-line);
	background: transparent !important;
}

#sidebar-menu .collapse-item {
	background: transparent;
	color: var(--tc-muted);
	font-weight: 400;
	font-size: .8125rem;
	padding: .3rem .5rem;
	margin: 0 !important;
	border-radius: var(--tc-radius-sm);
	transition: background-color .15s ease, color .15s ease;
}

#sidebar-menu .collapse-item.font-weight-bolder {
	font-style: normal !important;
	color: var(--tc-text);
	font-weight: 600 !important;
}

#sidebar-menu .collapse-item:hover {
	background: var(--tc-red-soft);
	color: var(--tc-red);
	text-decoration: none;
}

#sidebar-menu .collapse-inner .collapse-item.active {
	background: var(--tc-red) !important;
	color: #fff !important;
	font-weight: 600;
}

/* 5. Hauptbereich & Seitenkopf ----------------------------------------- */
body:not(.home-page) #main-area {
	border-left: 0;
	border-right: 0;
	background: var(--tc-surface) !important;
	border-radius: var(--tc-radius);
	box-shadow: var(--tc-shadow);
	margin-top: 1.5rem;
	padding-left: 2.5rem;
	padding-right: 2.5rem;
	/* entspricht dem früheren 20px/15px-Rahmen in Hintergrundfarbe */
	max-width: calc(75% - 35px);
	margin-left: 20px;
}

body:not(.home-page) #main-area::after { display: none; }

#head { padding-top: 2.75rem; }

#main-area #head h1,
body.prod-page #main-area #head h2 { margin-left: 0 !important; }

#head h1 {
	font-size: clamp(1.75rem, 1.2rem + 1.4vw, 2.5rem);
	margin-bottom: .35rem !important;
}

/* Kategorieseite: roter Akzent unter der Überschrift */
body:not(.prod-page) #head h1::after {
	content: "";
	display: block;
	width: 48px;
	height: 3px;
	margin-top: .9rem;
	background: var(--tc-red);
	border-radius: 2px;
}

/* Produktseite */
body.prod-page #head {
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	border-bottom: 1px solid var(--tc-line);
	margin-bottom: 1.5rem !important;
	padding-bottom: 1.5rem !important;
}

body.prod-page #head h1 {
	font-size: clamp(2rem, 1.3rem + 2vw, 3rem);
	letter-spacing: -.03em;
}

body.prod-page #head h1::before {
	content: "TASCAM";
	display: block;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .28em;
	color: var(--tc-red);
	margin-bottom: .5rem;
}

body.prod-page #head h2 {
	margin-left: 0 !important;
	font-size: 1.125rem;
	font-weight: 400;
	color: var(--tc-muted);
	letter-spacing: 0;
	line-height: 1.5;
}

#head a.hide-xs { color: var(--tc-muted); }
#head a.hide-xs:hover { color: var(--tc-red); }

#dealers {
	background: var(--tc-red) !important;
	border-radius: var(--tc-radius-sm);
	overflow: hidden;
}

#dealers a { color: #fff; font-weight: 600; }

/* Abschnittsüberschriften (Merkmale, Zubehör, Technische Daten …) */
.section-heading,
h3.section-heading {
	position: relative;
	color: var(--tc-text) !important;
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: -.01em;
	border-bottom: 0 !important;
	padding: 2.5rem 0 .75rem !important;
	margin-bottom: 1.5rem !important;
}

.section-heading::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 48px;
	height: 3px;
	background: var(--tc-red);
	border-radius: 2px;
}

.section-heading a,
.section-heading a:visited { color: inherit; }

/* 6. Startseite --------------------------------------------------------- */
body.home-page #main-area { padding-top: 1.5rem; }

#home-carousel {
	border-bottom: 0 !important;
	border-radius: var(--tc-radius);
	overflow: hidden;
	box-shadow: var(--tc-shadow);
	background: var(--tc-ink);
}

#home-carousel .carousel-item img { width: 100%; }

#home-carousel .carousel-indicators { margin-bottom: 1.25rem; }

#home-carousel .carousel-indicators li {
	width: 22px;
	height: 4px;
	border: 0;
	border-radius: 2px;
	background: #fff;
	opacity: .45;
	transition: opacity .2s ease, width .3s var(--tc-ease), background-color .2s ease;
}

#home-carousel .carousel-indicators li.active {
	width: 40px;
	opacity: 1;
	background: var(--tc-red);
}

#home-carousel .carousel-control-prev,
#home-carousel .carousel-control-next { width: 8%; }

/* Kartenköpfe „Aktuelle Mitteilungen“, „Weitere Mitteilungen“, „Die neuesten Dateien“ */
#app {
	margin-top: 1.5rem;
}

#app .bg-white.shadow-sm {
	border-radius: var(--tc-radius) var(--tc-radius) 0 0;
	box-shadow: none !important;
	border: 1px solid var(--tc-line);
	border-bottom: 0;
	margin-bottom: 0 !important;
	padding-top: 1.5rem !important;
	padding-bottom: .75rem !important;
}

#app .bg-white.shadow-sm h3.h2 {
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0;
	margin: 0;
	padding-bottom: .75rem;
	border-bottom: 1px solid var(--tc-line);
}

#app .bg-white.shadow-sm h3.h2::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-right: .6rem;
	vertical-align: middle;
	background: var(--tc-red);
	border-radius: 50%;
	position: relative;
	top: -2px;
}

/* Mitteilungen */
#news article {
	background: var(--tc-surface);
	border: 1px solid var(--tc-line);
	border-top: 0;
	padding: 1.25rem 1.5rem;
	transition: background-color .2s ease;
}

#news article:last-of-type { border-radius: 0 0 var(--tc-radius) var(--tc-radius); }

#news article:hover { background: var(--tc-surface-2); }

#news article h4 {
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.35;
	margin-bottom: .5rem;
}

#news article p.small .text-uppercase {
	color: var(--tc-red);
	font-weight: 600;
	letter-spacing: .08em;
	font-size: .6875rem;
}

#news article img {
	max-width: 100%;
	height: auto;
	border-radius: var(--tc-radius-sm);
}

/* Listen rechts (weitere Mitteilungen, neueste Dateien) */
#right-sidebar .news-list {
	background: var(--tc-surface);
	border: 1px solid var(--tc-line);
	border-top: 0;
	border-radius: 0 0 var(--tc-radius) var(--tc-radius);
	padding: .25rem 0 .5rem;
	overflow: hidden;
}

#right-sidebar .news-list > li {
	padding: .7rem 1.25rem;
	border-bottom: 1px solid var(--tc-line);
	line-height: 1.45;
	transition: background-color .15s ease;
}

#right-sidebar .news-list > li:last-child { border-bottom: 0; }

#right-sidebar .news-list > li:hover { background: var(--tc-surface-2); }

#right-sidebar .news-list > li a {
	color: var(--tc-text);
	font-weight: 500;
}

#right-sidebar .news-list > li a:hover { color: var(--tc-red); text-decoration: none; }

#right-sidebar .news-list .float-left.small {
	display: inline-block;
	margin-right: .5rem;
	padding: 0 .45rem;
	font-size: .6875rem;
	font-weight: 700;
	letter-spacing: .03em;
	line-height: 1.6;
	color: var(--tc-text) !important;
	background: var(--tc-surface-2);
	border: 1px solid var(--tc-line);
	border-radius: 4px;
}

#right-sidebar .news-list > li.bg-white {
	margin: 0 !important;
	background: transparent !important;
	text-align: center;
	font-weight: 600;
}

#right-sidebar section + section .bg-white.shadow-sm { margin-top: 2rem !important; }

.spinner-border.text-primary { color: var(--tc-red) !important; }

/* Modal (Mitteilung im Detail) */
.modal-content {
	border: 0;
	border-radius: var(--tc-radius);
	box-shadow: var(--tc-shadow-lg);
}

/* 7. Kategorieseite ----------------------------------------------------- */
#cat--section { padding-top: 2rem !important; }

#cat--section .card {
	border: 1px solid var(--tc-line);
	border-radius: var(--tc-radius);
	overflow: hidden;
	background: var(--tc-surface);
	transition: transform .25s var(--tc-ease), box-shadow .25s var(--tc-ease), border-color .25s ease;
}

#cat--section .card:hover {
	transform: translateY(-4px);
	box-shadow: var(--tc-shadow-lg);
	border-color: transparent;
}

#cat--section .card-img-top {
	background: linear-gradient(180deg, var(--tc-surface-2), #eceef1);
	padding: 1.75rem 1.25rem !important;
	min-height: 190px;
	border-bottom: 1px solid var(--tc-line);
}

#cat--section .card-img-top img {
	transition: transform .4s var(--tc-ease);
	filter: drop-shadow(0 10px 14px rgba(0, 0, 0, .14));
}

#cat--section .card:hover .card-img-top img { transform: scale(1.04); }

#cat--section .card-body { padding: 1.25rem 1.25rem .25rem; }

#cat--section .card-title,
#cat--section .card-title span {
	font-size: 1.25rem;
	font-weight: 700 !important;
	letter-spacing: -.01em;
	color: var(--tc-text);
	transition: color .15s ease;
}

#cat--section .card-body a:hover { text-decoration: none; }
#cat--section .card-body a:hover .card-title,
#cat--section .card-body a:hover .card-title span { color: var(--tc-red); }

#cat--section .card-text {
	font-size: .875rem;
	font-weight: 600;
	color: var(--tc-red);
	margin-top: .25rem;
}

#cat--section .card p {
	color: var(--tc-muted);
	font-size: .875rem;
	line-height: 1.6;
	padding-bottom: 1rem;
	margin-bottom: 0;
}

#lead--section {
	margin-top: 1rem;
	padding-top: 2rem;
	border-top: 1px solid var(--tc-line);
}

#lead--section .lead {
	font-size: 1.1875rem;
	line-height: 1.6;
	color: var(--tc-text);
}

#lead--section p { color: #444a50; }

/* 8. Produktseite ------------------------------------------------------- */

/* Galerie */
#image--section .flexslider {
	border: 0;
	border-radius: var(--tc-radius);
	background: linear-gradient(180deg, var(--tc-surface-2), #eceef1);
	box-shadow: none;
	padding: 1.5rem;
	margin-bottom: 1rem;
}

#image--section .flex-control-paging li a {
	background: var(--tc-line-strong);
	box-shadow: none;
}

#image--section .flex-control-paging li a.flex-active { background: var(--tc-red); }

#carousel-bs .carousel-img-bg {
	border: 1px solid var(--tc-line) !important;
	border-radius: var(--tc-radius-sm);
	background: var(--tc-surface);
	padding: .35rem !important;
	cursor: pointer;
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

#carousel-bs .carousel-img-bg:hover {
	border-color: var(--tc-red) !important;
	box-shadow: 0 0 0 3px var(--tc-red-soft);
	transform: translateY(-1px);
}

/* Sprungleiste (Merkmale, Daten, Downloads …) */
#links-bar {
	background: var(--tc-surface-2) !important;
	border: 1px solid var(--tc-line);
	border-radius: 999px;
	padding: .3rem;
	margin: 1.5rem 0 2.5rem;
	box-shadow: var(--tc-shadow-sm);
}

#links-bar .wrapper { border-right: 0 !important; }

#links-bar .nav-item { border-radius: 999px; }

#links-bar .nav-link {
	color: var(--tc-text) !important;
	font-size: .8125rem;
	font-weight: 600;
	padding: .5rem 1rem;
	border-radius: 999px;
	transition: background-color .15s ease, color .15s ease;
}

#links-bar .nav-item:hover { background: var(--tc-ink); }
#links-bar .nav-item:hover .nav-link { color: #fff !important; }

/* Beschreibung */
#description--section { color: #3a3f44; }

#description--section > section > p.mb-5 .h2 {
	display: inline-block;
	font-size: .8125rem !important;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--tc-red);
}

#description--section .display-4 {
	font-weight: 700;
	letter-spacing: -.035em;
	line-height: 1.08;
	color: var(--tc-text) !important;
	font-size: clamp(2.25rem, 1.4rem + 2.6vw, 3.75rem);
}

#description--section .lead {
	font-size: 1.1875rem;
	line-height: 1.7;
	color: #3a3f44;
}

#description--section .container-fluid { margin-top: 1.5rem; }

#description--section .row.no-gutters {
	border-radius: var(--tc-radius);
	overflow: hidden;
	margin-bottom: 1.25rem;
	background: var(--tc-surface-2);
}

#description--section .lc-bg-contain,
#description--section .lc-bg-cover {
	background-color: #eceef1 !important;
	min-height: 320px;
}

#description--section .lc-block h3 {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -.015em;
	line-height: 1.25;
	color: var(--tc-text);
	margin-bottom: .9rem;
}

#description--section .lc-block p { line-height: 1.7; }

/*
 * Aufzählungen: Merkmale, Beschreibungslisten, Download-Unterlisten
 * Das Original setzt auf dieselben drei Selektoren ein rotes Dreieck bzw. einen
 * Strich als background-image. Diese werden hier abgeschaltet und durch ::before-
 * Marker ersetzt, damit pro Eintrag genau ein Marker erscheint.
 * --tc-li-pt ist der obere Innenabstand, an dem sich der Marker ausrichtet.
 */
#features--section ul li,
.dl-sup ul li,
ul.feat li {
	--tc-li-pt: .45rem;
	position: relative;
	background-image: none;
	padding: var(--tc-li-pt) 0 .45rem 1.75rem;
	line-height: 1.55;
}

.dl-sup ul li { --tc-li-pt: 8px; }   /* Original erzwingt 8px mit !important */

#features--section ul li::before,
.dl-sup ul li::before,
ul.feat li::before {
	content: "";
	position: absolute;
	left: 1px;
	top: calc(var(--tc-li-pt) + .45em);
	width: 12px;
	height: 6px;
	border-left: 2px solid var(--tc-red);
	border-bottom: 2px solid var(--tc-red);
	transform: rotate(-45deg);
}

/* Unterpunkte: grauer Strich statt Häkchen */
#features--section ul ul li,
.dl-sup ul ul li,
ul.feat ul li {
	--tc-li-pt: .15rem;
	background-image: none;
	padding: var(--tc-li-pt) 0 .15rem 1.1rem;
	margin: 0;
	color: var(--tc-muted);
	border-bottom: 0;
}

#features--section ul ul li::before,
.dl-sup ul ul li::before,
ul.feat ul li::before {
	top: calc(var(--tc-li-pt) + .75em);
	width: 8px;
	height: 0;
	border-left: 0;
	border-bottom: 1.5px solid var(--tc-line-strong);
	transform: none;
}

#features--section ul ul,
.dl-sup ul ul,
ul.feat ul { margin-top: .2rem; }

/* Merkmale: Trennlinien zwischen den Hauptpunkten */
#features--section > .row > .col > ul > li { border-bottom: 1px solid var(--tc-line); }

/* Zubehör / verwandte Produkte */
#related--section figure {
	display: block;
	border: 1px solid var(--tc-line) !important;
	border-radius: var(--tc-radius);
	padding: 1rem !important;
	background: var(--tc-surface);
	transition: transform .25s var(--tc-ease), box-shadow .25s var(--tc-ease), border-color .25s ease;
}

#related--section figure:hover {
	transform: translateY(-3px);
	box-shadow: var(--tc-shadow-lg);
	border-color: transparent !important;
}

#related--section figcaption {
	margin-top: .75rem;
	font-size: .875rem;
	color: var(--tc-muted);
}

#related--section figcaption strong {
	display: block;
	color: var(--tc-text);
	font-size: 1rem;
}

/* Technische Daten */
#specs--section .table {
	background: var(--tc-surface) !important;
	border: 1px solid var(--tc-line);
	border-radius: var(--tc-radius);
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid var(--tc-line) !important;
}

#specs--section .table thead th {
	background: var(--tc-ink) !important;
	color: #fff;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: .7rem 1rem !important;
	border: 0;
}

#specs--section .table td {
	padding: .55rem 1rem;
	border-top: 1px solid var(--tc-line);
	font-size: .875rem;
}

#specs--section .table td:first-child { color: var(--tc-muted); }
#specs--section .table td:last-child { color: var(--tc-text); font-weight: 500; }

#specs--section .table-striped tbody tr:nth-of-type(odd) { background: var(--tc-surface-2); }
#specs--section .table tbody tr:hover { background: var(--tc-red-soft); color: inherit; }

/* 9. Buttons, Formulare, Tabellen -------------------------------------- */
.btn {
	border-radius: var(--tc-radius-sm);
	font-weight: 600;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}

.btn-primary {
	background-color: var(--tc-red);
	border-color: var(--tc-red);
}

.btn-primary:hover,
.btn-primary:focus {
	background-color: var(--tc-red-dark);
	border-color: var(--tc-red-dark);
}

.btn-secondary {
	background-color: var(--tc-ink-2);
	border-color: var(--tc-ink-2);
}

.form-control {
	border-radius: var(--tc-radius-sm);
	border-color: var(--tc-line-strong);
}

.form-control:focus {
	border-color: var(--tc-red);
	box-shadow: 0 0 0 3px var(--tc-red-soft);
}

.mfp-bg { background: var(--tc-ink); opacity: .92; }

/* 10. Fußzeile --------------------------------------------------------- */
footer.container-fluid.bg-dark {
	background: var(--tc-ink) !important;
	color: rgba(255, 255, 255, .72) !important;
	margin-top: 3rem !important;
	padding-top: 2rem !important;
	padding-bottom: 2rem !important;
	border-top: 2px solid var(--tc-red);
	font-size: .875rem;
}

footer .border-top {
	border-top: 0 !important;
	padding-top: 0 !important;
}

footer h3, footer h4, footer h5, footer .h5, footer strong {
	color: #fff;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

/* Shariff-Buttons (role="button") behalten ihre eigenen Farben */
footer a:not([role="button"]),
footer .text-light,
footer .text-white { color: rgba(255, 255, 255, .72) !important; }

footer a:not([role="button"]):hover { color: #fff !important; text-decoration: none; }

footer .shariff li { border-radius: var(--tc-radius-sm); overflow: hidden; }

footer .col-12.mt-4 {
	margin-top: 2rem !important;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(255, 255, 255, .1);
	color: rgba(255, 255, 255, .45);
	font-size: .8125rem;
}

/* 11. Responsive ------------------------------------------------------- */
@media (max-width: 1199.98px) {
	body:not(.home-page) #main-area {
		max-width: 100%;
		margin-left: 0;
		margin-top: 1rem;
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}

	#sidebar-menu.show {
		background: var(--tc-bg);
		border-radius: 0 0 var(--tc-radius) var(--tc-radius);
	}
}

@media (max-width: 767.98px) {
	body:not(.home-page) #main-area {
		padding-left: 1rem;
		padding-right: 1rem;
		border-radius: 0;
	}

	#image--section .flexslider { padding: .75rem; }

	#links-bar { border-radius: var(--tc-radius); }
	#links-bar .nav-link { padding: .45rem .6rem; font-size: .75rem; }

	#description--section .lc-block { padding: 1.5rem !important; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}
}
