/* === Ehemals menu_style.css — integriert in design2026.css ===
 * Ladereihenfolge: menu_style (jetzt hier) → responsive → design2026-Regeln (unten)
 */

/* Visually hidden but accessible to screen readers */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}


	 

a {
text-decoration:underline;
}


a, a:hover, a:active {
text-decoration:underline;
line-height:125%;
}
a:hover{
	color: #FF0000;	
	text-decoration:underline;
}
a:visited{

}





ol,ul {
	padding: 20px;
	list-style: square;  /* Listen styles definieren! */
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

/* remember to define focus styles! */

/* remember to highlight inserts somehow! */
ins {
	text-decoration: none;
}

p img {
vertical-align: middle;

}

p{
	padding-top:1em;
	line-height:1.47;
}
 

			
/* #content_main entfernt (0 Referenzen) */
										

/* Navigation in Website */
.submenu {
font-size:12px;
color:#3f3f3f;
}

.submenu_black {
font-size:12px;
color:black;
font-weight:400;
text-decoration:none;
}

.submenu_green {
font-size:12px;
color:green;
font-weight:400;
text-decoration:none;
}

.submenu_red {
font-size:12px;
color:red;
font-weight:400;
text-decoration:none;
}

a.submenu:hover,a.submenu:active,
a.submenu_black:hover,a.submenu_black:active,
a.submenu_green:hover,a.submenu_green:active,
a.submenu_red:hover,a.submenu_red:active
{
text-decoration:underline;
}

a.submenu,a.submenu:link,a.submenu:visited

{
color:#C00;
font-weight:400;
text-decoration:none;
}

/* Navlist*/

#navlist
{
padding-left: 0;
margin-left: 0;
border-bottom: 1px solid #808080;
width: 730px;
}

#navlist li
{
list-style: none;
margin: 0;
padding: 0.25em;
border-top: 1px solid #808080;
}

#navlist li a { 
color:#000;
line-height:140%;
text-decoration: none; 

}



/* AutoSuggest: Dark-Theme entfernt (design2026.css enthaelt das Light-Theme) */




/* Top right alt bzw Breadcrump */
a.top_right,a.top_right:hover,a.top_right:active {
font-size:11px;
text-decoration:none;
}
a.top_right:hover {
text-decoration:underline;
}

a.top_right:active {
font-weight:bold;

}

.top_right,.text_11 {
font-size:11px;
}

/* Texte */

/*news neu */ 
/* .standardb, .standardf, .small-3b, .text_11b, .h1mod entfernt (0 Referenzen) */
.small-3{font-size:11px;text-decoration:none; font-weight: normal; line-height: 1;}
.middle{font-size:13px;text-decoration:none; font-weight: normal;color:#224477;}
.large-1{font-size:15px;text-decoration:none; color:#224477; font-weight: normal;	padding-left:6px;}

a.small-3:hover,a.middle:hover,a.large-1:hover{text-decoration:underline;color:blue; }

a.large-1:visited,a.middle:visited{color:#808080;}

/*news neu */

.text_news{
font-size: 14px;
/*line-height: 20px;*/
line-height: 1.475em;
}


h1{
font-size: 20px;
display: inline;
font-weight: normal;

}


ul.text_news,
ol.text_news, li.text_news{
  margin-left: 0;
  list-style: square;
}



.text_9, a.text_9, tr.text_9, td.text_9 {
font-size:9px;
text-decoration:none;
}

.text_10, a.text_10 {
font-size:10px;
text-align:center;
text-decoration:none;
}

.text_11 {
font-size:11px;
}

a.text_11,a.text_11:link,.top_flop,a.top_flop,a.top_flop:link,a.top_flop:visited,a.top_flop:active,a.newsmedia,a.newsmedia:link,.newsmedia {
font-size:11px;text-decoration:none;
font-weight:400;
color:#000;
text-decoration:none;
text-align: left;
}






.text_12 {

}

a.text_12,a.text_12:link,a.text_12:visited,a.news,a.news:link,.news {
font-weight:400;
color:#000;
text-decoration:none;
}


a.text_12:hover,a.text_12:active,a.text_11:hover,a.text_11:active {
text-decoration:underline;

}

.text_13 {
font-size:13px;

}

.text_14, a.text_14:link, font.text_14 {
font-size:14px;
font-weight:bold;
text-decoration:none;

}
.text_16, a.text_16, font.text_16 {
font-size:16px;
font-weight:400;
text-decoration:none;
}


.text_18, a.text_18, font.text_18 {
font-size:18px;
font-weight:400;
}

.text_12_weiss {
color:#fff;

}

/* Textlinks */
a.textlink:link,a.textlink:visited {
color:#336034;
font-weight:400;
}

a.textlink:active {
font-weight:bold;
}

.textlink {
color:#336034;
}



/* TOP-FLOP Listen */ 
.top_flop_ueberschrift0 {
color:#FFF;
font-size:14px;
font-weight:bold;
padding:4px;
background-color:#bfbfbf;


 
}

a.top_flop:hover {
font-size:11px;
text-decoration:underline;
color:#000;
}

a.top_flop_red:hover {

font-size:11px;
text-decoration:underline;
color:red;
}

a.top_flop_green:hover {

font-size:11px;
text-decoration:underline;
color:green;
}

.top_flop_ueberschrift1,.newsmedia_ueberschrift0 {
font-size:11px;
color:#000;

text-align: left;
}

a.top_flop_red:link,a.top_flop_red:visited {
font-size:11px;
font-weight:400;
color:red;
text-decoration:none;
}

.top_flop_red,.kursliste_red {
font-size:11px;
color:red;
}

a.top_flop_green:link,a.top_flop_green:visited {
font-size:11px;
font-weight:400;
color:green;
text-decoration:none;
}

.top_flop_green,.kursliste_green {
font-size:11px;
color:green;
}

td.top_flop {line-height:1.25em;font-size:17px;color:#224477; font-weight: bold;}

/*NEWS und Media */


a.newsmedia_ueberschrift,a.newsmedia_ueberschrift:hover,a.newsmedia_ueberschrift:link,a.newsmedia_ueberschrift:visited {
font-size:13px;

text-decoration:none;
color:#000;
text-align: left;
}

a.newsmedia:visited {

color:#808080;
text-decoration:none;
}

a.newsmedia:hover {
font-size:11px;
font-weight:400;
text-decoration:underline;
color:#000;
}

a.newsmedia:active {
font-size:11px;
font-weight:400;
color:#C00;
text-decoration:none;
}

a.news:visited {

color:#808080;
text-decoration:none;
}

a.news:hover {
font-weight:400;
text-decoration:underline;
color:#000;
}

a.news:active {
font-weight:400;
color:#C00;
text-decoration:none;
}

/* KURSLISTE */
	/*ABN*/
a.kursliste_abn:hover {
text-decoration:underline;
color:#FFF;
}

a.kursliste_abn,a.kursliste_abn:link,a.kursliste_abn:visited,a.kursliste_abn:active,.kursliste_abn {
color:#FFF;
text-decoration:none;
}
.kursliste_text_klein_abn {
font-size:11px;
color:#FFF;
font-weight:400;

}

	/*Kursliste normal */

.kursliste_ueberschrift0 {
color:#000;
font-weight:bold;
font-size:14px;
padding:4px

}

.kursliste_text {
color:#000;
font-weight:400;
text-decoration:none;
}


.kursliste_text_klein {
font-size:11px;
color:#000;
font-weight:400;
}

table.kursliste_text , td.kursliste_text ,table.kursliste , td.kursliste
{
    border-color: #DBDBDB;
	border-style: dotted; 
}

table.kursliste_text , table.kursliste
{
    border-width: 0 0 1px 1px;
    border-spacing: 0;
    border-collapse: collapse;
}

td.kursliste_text, td.kursliste
{
    margin: 0;
    padding: 4px;
    border-width: 1px 0px 0 0;
    
}





a.kursliste,a.kursliste:link,a.kursliste:visited,.kursliste {
color:#000;
text-decoration:none;
}

a.kursliste_text,a.kursliste_text:link,a.kursliste_text:visited,a.kursliste_text:active {
text-decoration:none;
color:#000; 
}

a.kursliste:active, a.kursliste:hover,a.kursliste_text:active, a.kursliste_text:hover { 
text-decoration:underline;
} 


/* Wikipedia */
.ueber_1 {
font-size:13px;
}

/* .admin_top entfernt (0 Referenzen) */

.required {
color:red;
}

.attributename {
color:#000;
}

/* Wikipedia/Wiki-Selektoren entfernt: mw-headline, centered, wikitable, prettytable,
   toc, hiddenStructure, jump-to-nav, magnify, nogrid, hintergrundfarbe6 (0 Referenzen) */



/* .float-left, .float-right entfernt (0 Referenzen) */

/* Tabellen Neu*/

.tablestandard {
  border: 1px solid #ddd;
	width: 100%;
	font-size:12px;
}

.tablehead {background:  #ccc;
text-align:center;
}

.tablebody {
 text-align:center;
}

.tableuname {
text-align:left; 
}

.tabledatum {
text-align:center; 
}


.sortedASC {
text-align:center; 
	background: url(../images/icon-table-sort-asc.png) no-repeat 2px  #ddd;
	background-position:10px;

}

.sortedDESC {
text-align:center; 
	background: url(../images/icon-table-sort-desc.png) no-repeat 2px  #ddd;
	background-position:10px;
}

.sortedNULL {
text-align:center;
	background: url(../images/icon-table-sort.png) no-repeat 2px #ccc ;
	background-position:10px;
}

/* Spalten */

/*Verwendet zb bei footer*/
#leftbottom  {
	
    font-size:12px;
   	color:#fff;
	float:left;
	padding:8px;
	width:135px;
	
}
#leftbottom  a {
color:#ddd;
line-height: 1.5;
text-decoration:none;
}
#leftbottom  a:hover {
color:#eee;
text-decoration:underline;
}

#redbottom  {
    font-size:12px;
   	color:#eee;
	float:left;
	padding:8px;
	width:894px;
	text-align: center;
	
}
#redbottom  a {
color:#ddd;
line-height: 1.5;
text-decoration:none;
}
#redbottom  a:hover {
color:#eee;
text-decoration:underline;
}



.item {
-moz-background-inline-policy:continuous;
-moz-background-origin:padding;

min-height:50px;
overflow:hidden;
padding:6px;
}

a.item {
color:#224477; /*#17A2C1;*/
font-family:inherit;
font-weight:bold;
text-decoration:none;
}
 
a.item:hover {
  
  text-decoration: underline;
}

.dottedline{
padding-top: 0px;padding-bottom: 0px;border-color: #DBDBDB;border-style: dotted;border-width: 1px;border-bottom:none;border-left:none;border-right:none;
}

/* .greyline entfernt (0 Referenzen) */

.odd {
background-color:#F9F9F9;/*#E5F0F2;*/
}		    
  
/* Ende right_forum */

#right_news_content { padding: 0 0px 0 0px } 
	
 	
a.right_news, a.right_news:active {
	color:#224477;
	text-decoration:none;
}

a.right_news:hover{
	color:#224477;
	text-decoration:underline;
	
}
/**/
#right_news td {
	padding-bottom: 4px;
}




/* Farbeigenschaften 2012*/

.red, a.red:link,a.red:visited{ 
color:red;
}
.green, a.green:link, a.green:visited {
color:green;
}

.black, a.black:link,a.black:visited {
color:#333;
}
/* bootstrap - snippets*/


/* =========================================================
   13. TABS PASSEND ZUM NAV-THEMA
   ========================================================= */
.tabs,
ul.tabs,
.seg-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 0 0 16px 0;
    padding: 0;
    list-style: none;
    border-bottom: 1px solid var(--nav-border);
    align-items: flex-end;
}

.tabs li {
    display: flex;
    margin: 0;
    padding: 0;
    align-items: stretch;
}

.seg-tabs a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 15px;
    margin: 0;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    color: var(--color-brand-600);
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    box-sizing: border-box;
    border-radius: 6px 6px 0 0;
    transition:
        color var(--transition-fast),
        background-color var(--transition-fast),
        border-color var(--transition-fast);
}

.seg-tabs a:hover {
    color: var(--color-brand-700);
    text-decoration: none;
    background: var(--nav-bg-hover);
    border-bottom-color: var(--color-brand-500);
}

.tabs li.active a,
.tabs .active a,
.seg-tabs a.active {
    color: var(--color-brand-800);
    background: transparent;
    border: 0;
    border-bottom: 3px solid var(--color-brand-600);
    text-decoration: none;
}

.seg-tabs a:focus-visible {
    outline: none;
    background: var(--nav-bg-hover);
    box-shadow: inset 0 -3px 0 var(--color-brand-600);
}

@media (max-width: 640px) {
    .tabs li a,
    ul.tabs li a,
    .seg-tabs a {
        min-height: 40px;
        padding: 0 12px;
        font-size: 13px;
    }
}



.label {
  padding: 1px 3px 2px;
  font-size: 9.75px;
  font-weight: bold;
  color: #fff;
  text-transform: uppercase;
  white-space: nowrap;
  background-color: var(--text-sec);
  border-radius: 3px;
}
/* .label.important1 entfernt (0 Referenzen) */
.label.warning {
  background-color: #f89406;
}
.label.success {
  background-color: #46a546;
}
.label.notice {
  background-color: #62cffc;
}

/* Drop-down */


button,
select {
  font-size: 14px;
  font-weight: normal;
  /*line-height: 30px;
  height:30px;*/
  
}

/* .uneditable-input entfernt (0 Referenzen), select bleibt */
select {
  display: inline-block;
  height: 30px;
  padding: 4px 6px;
  margin-bottom: 9px;
  font-size: 14px;
  line-height: 30px;
  color: var(--text-sec);
  border-radius: 3px;
  width: 220px;
  border: 1px solid var(--border);
  background-color: #fff;
}

select:focus,
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: thin dotted var(--text);
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

textarea:focus:required:invalid,
select:focus:required:invalid {
  color: var(--red);
  border-color: var(--red);
}

textarea:focus:required:invalid:focus,
select:focus:required:invalid:focus {
  border-color: var(--red);
  box-shadow: 0 0 6px var(--red-light);
}

/*! Tooltip+Popover
 * Bootstrap v2.1.0
 *
 * Copyright 2012 Twitter, Inc
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Designed and built with all the love in the world @twitter by @mdo and @fat.
 */
.clearfix:before,
.clearfix:after {
  display: table;
  content: "";
  line-height: 0;
}
.clearfix:after {
  clear: both;
}
/* .hide-text, .input-block-level entfernt (0 Referenzen) */
.tooltip {
  position: absolute;
  z-index: 1030;
  display: block;
  padding: 5px;
  font-size: 11px;
  opacity: 0;
}
.tooltip.in {
  opacity: 0.8;
}
.tooltip.top {
  margin-top: -3px;
}
.tooltip.right {
  margin-left: 3px;
}
.tooltip.bottom {
  margin-top: 3px;
}
.tooltip.left {
  margin-left: -3px;
}
.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background-color: #000;
  border-radius: 4px;
}
.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1010;
  display: none;
  width: 236px;
  padding: 1px;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid var(--border);
  border-radius: 6px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.popover.top {
  margin-bottom: 10px;
}
.popover.right {
  margin-left: 10px;
}
.popover.bottom {
  margin-top: 10px;
}
.popover.left {
  margin-right: 10px;
}
.popover-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: normal;
  line-height: 18px;
  background-color: var(--bg-secondary);
  border-bottom: 1px solid var(--border);
  border-radius: 5px 5px 0 0;
}
.popover-content {
  padding: 9px 14px;
}
.popover-content p,
.popover-content ul,
.popover-content ol {
  margin-bottom: 0;
}
.popover .arrow,
.popover .arrow:after {
  position: absolute;
  display: inline-block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.popover .arrow:after {
  content: "";
  z-index: -1;
}
.popover.top .arrow {
  bottom: -10px;
  left: 50%;
  margin-left: -10px;
  border-width: 10px 10px 0;
  border-top-color: #fff;
}
.popover.top .arrow:after {
  border-width: 11px 11px 0;
  border-top-color: rgba(0, 0, 0, 0.25);
  bottom: -1px;
  left: -11px;
}
.popover.right .arrow {
  top: 50%;
  left: -10px;
  margin-top: -10px;
  border-width: 10px 10px 10px 0;
  border-right-color: #fff;
}
.popover.right .arrow:after {
  border-width: 11px 11px 11px 0;
  border-right-color: rgba(0, 0, 0, 0.25);
  bottom: -11px;
  left: -1px;
}
.popover.bottom .arrow {
  top: -10px;
  left: 50%;
  margin-left: -10px;
  border-width: 0 10px 10px;
  border-bottom-color: #fff;
}
.popover.bottom .arrow:after {
  border-width: 0 11px 11px;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -1px;
  left: -11px;
}
.popover.left .arrow {
  top: 50%;
  right: -10px;
  margin-top: -10px;
  border-width: 10px 0 10px 10px;
  border-left-color: #fff;
}
.popover.left .arrow:after {
  border-width: 11px 0 11px 11px;
  border-left-color: rgba(0, 0, 0, 0.25);
  bottom: -11px;
  right: -1px;
}

.alert {
  padding: 10px;
  margin-bottom: 20px;
  background-color: var(--blue-100);
  border-color: #bce8f1;
  color: #3a87ad;
  border-radius: 4px;
}
.alert h4 {
  margin: 0;
}
.btn {
  display: inline-block;
  padding: 4px 12px;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 20px;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  color: var(--text);
  background-color: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(0,0,0,.05);
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.btn:hover {
  color: var(--text);
  text-decoration: none;
  background-color: var(--blue-50);
  border-color: var(--blue-300);
}
.btn:active,
.btn.active {
  background-color: var(--blue-100);
  border-color: var(--blue-400);
  box-shadow: inset 0 2px 4px rgba(0,0,0,.10);
}
.btn:focus {
  outline: thin dotted var(--text);
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn.disabled,
.btn[disabled] {
  cursor: default;
  opacity: 0.65;
  box-shadow: none;
}

/* .btn-mini [class^="icon-"] entfernt (0 Referenzen, .btn-mini selbst bleibt — 4x in Forum) */
.btn-mini {
  padding: 0 6px;
  font-size: 10.5px;
  border-radius: 3px;
}
.btn-primary {
  color: #fff;
  background-color: var(--blue-600);
  border-color: var(--blue-700);
}
.btn-primary:hover,
.btn-primary:active,
.btn-primary.active,
.btn-primary.disabled,
.btn-primary[disabled] {
  color: #fff;
  background-color: var(--blue-700);
}
.btn-primary:active,
.btn-primary.active {
  background-color: var(--blue-800);
}
.message {
  padding-top: 9px;
  text-align: left;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid var(--border);
  border-radius: 6px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  white-space: normal;
  width: 85%;
}
.message-padding {
  padding: 0 14px 9px;
}
 /* Glyphicons */ 
@font-face {
  font-family: 'Glyphicons Halflings';

  src: url('../fonts/glyphicons-halflings-regular.eot');
  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.glyphicon-envelope:before {
  content: "\2709";
}
.glyphicon-user:before {
  content: "\e008";
}
.glyphicon-share-alt:before {
  content: "\e095";
}
 /* Glyphicons */ 


/* === Ende menu_style.css-Integration === */

/* ============================================
   DESIGN 2027 — aktie.at Redesign
   Zentrale Stylesheet-Datei
   ============================================ */

/* --- 0. @font-face Inter (lokal gehostet) --- */
@font-face {
  font-family: 'Inter';
  src: url('/fonts/inter/Inter-Regular.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('/fonts/inter/Inter-Medium.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('/fonts/inter/Inter-SemiBold.woff2') format('woff2');
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('/fonts/inter/Inter-Bold.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}

/* --- 1. CSS-Variablen --- */
:root {
    --nav-bg-main: #f8fafc;
    --nav-bg-sub1: #ffffff;
    --nav-bg-sub2: #ffffff;
    --nav-bg-hover: #eef4fb;
    --nav-bg-active-soft: #edf4fc;
    --nav-border: #dde3ea;
    --nav-border-soft: #e9edf2;
    --nav-text-main: var(--color-brand-600);
    --nav-text-main-hover: var(--color-brand-700);
    --nav-text-main-active: var(--color-brand-800);
    --nav-text-sub1: var(--color-brand-600);
    --nav-text-sub1-hover: var(--color-brand-700);
    --nav-text-sub1-active: var(--color-brand-800);
    --nav-text-sub2: var(--color-brand-500);
    --nav-text-sub2-hover: var(--color-brand-700);
    --nav-text-sub2-active: var(--color-brand-800);
    --nav-active-line: var(--color-brand-600);
    --nav-hover-line: var(--color-brand-400);
    --nav-height-main: 50px;
    --nav-height-sub1: 34px;
    --nav-height-sub2: 30px;
    --nav-font-main: 15px;
    --nav-font-sub1: 14px;
    --nav-font-sub2: 13px;
    --nav-radius: 6px;
}

:root {
  --blue-900: #0e233e;
  --blue-800: #15335b;
  --blue-700: #1e4476;
  --blue-600: #235495;
  --blue-500: #2867b8;
  --blue-400: #528bd6;
  --blue-300: #8ab2e5;
  --blue-100: #dbe6f5;
  --blue-50:  #f0f4f9;
  --blue-bg:  #ffffff;
  --red:      #c11f2d;
  --red-dark: #652026;
  --red-light:#faebec;
  --green:    #1a8a4a;
  --text:     #1a1a1a;
  --text-sec: #5a6272;
  --border:   #e5e7eb;

  /* Design 2027 Tokens */
  --font-base: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 12px;
  --shadow-card: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-card-hover: 0 4px 12px rgba(0,0,0,0.08);
  --bg-page: #ffffff;
  --bg-card: #ffffff;
  --bg-secondary: #f8fafc;
  /* NAV THEME v3 tokens */
  --color-brand-400: var(--blue-400);
  --color-brand-500: var(--blue-500);
  --color-brand-600: var(--blue-600);
  --color-brand-700: var(--blue-700);
  --color-brand-800: var(--blue-800);
  --color-text: var(--text);
  --color-text-muted: var(--text-sec);
  --color-text-soft: var(--text-sec);
  --color-accent: var(--blue-600);
  --container: 1280px;
  --transition-fast: 0.15s ease;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.10);
}

/* --- 2. Reset & Basis-Typografie --- */
/* ORIGINAL: CSS-Reset war inline in top.html Zeilen 253-278 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, p, blockquote, pre,
a, address, big, code, em, font, img, ins, q, s, samp,
small, strong, sub, var,
b, u, i, center,
dl, dd, ol, ul, li, form, label, legend {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-align: left;
}
*, *::before, *::after { box-sizing: border-box; }
h1, h2, h3, h4 { padding: 0; }
h1 { font-size: 28px; font-weight: 700; color: var(--blue-800); margin: 16px 0 8px; line-height: 1.2; letter-spacing: -0.01em; }
h2 { font-size: 20px; font-weight: 700; color: var(--blue-800); margin: 14px 0 6px; line-height: 1.25; }
h3 { font-size: 18px; font-weight: 700; color: var(--text); margin: 12px 0 6px; }
h4 { font-size: 16px; font-weight: 600; color: var(--text); margin: 10px 0 4px; }
@media (max-width: 960px) { h1 { font-size: 24px; } }
@media (max-width: 640px) { h1 { font-size: 22px; } h2 { font-size: 18px; } }

body {
  font-family: var(--font-base);
  font-size: 16px;
  line-height: 1.6;
  color: var(--text);
  background: var(--bg-page);
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

/* Tabellarische Zahlen für alle Finanzdaten */
.num, .pos, .neg, .top_flop_red, .top_flop_green,
.kursliste_red, .kursliste_green, .kursliste,
td[align="right"] {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
}

/* Focus-visible (Accessibility) */

/* --- 3. Links --- */
a { color: var(--blue-600); text-decoration: none; }
a:hover { color: var(--blue-500); text-decoration: underline; }
a:visited { color: var(--blue-600); }

/* --- 4. Semantische Farben (Kurs-Einfärbung) --- */
.pos { color: var(--green); }
.neg { color: var(--red); }

/* Feature-Farben: bestehende Klassen auf neue Werte mappen */
.top_flop_red, .kursliste_red,
a.top_flop_red:link, a.top_flop_red:visited, a.top_flop_red:hover {
  color: var(--red);
}
.top_flop_green, .kursliste_green,
a.top_flop_green:link, a.top_flop_green:visited, a.top_flop_green:hover {
  color: var(--green);
}

/* --- 5. Container & Layout --- */

/* --- 6. Header --- */

/* --- 7. Hauptnavigation --- */
/* Home-Button: symmetrisches Padding */

/* Hamburger */

/* Suchbox in Nav */

/* --- 8. Sub-Navigation --- */
/* Vorlage: .sub-nav-inner — exakt aus index-redesign-v3.html Zeile 137-140 */

/* --- 9. Cards --- */
.card {
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  padding: 20px;
  margin-bottom: 16px;
  border: 1px solid var(--border);
  transition: box-shadow 0.2s ease;
}
.card:hover {
  box-shadow: var(--shadow-card-hover);
}
.card-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--blue-800);
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--blue-100);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.card-title::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  background: var(--red);
  border-radius: 1px;
  flex-shrink: 0;
}
.card-title a {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  text-decoration: none;
}
.card-title a:hover {
  color: var(--blue-600);
}

/* --- 10. Listen-Rows --- */

/* --- 11. News-Card --- */
.news-meta { font-size: 13px; color: #aaa; margin-top: 4px; }
.news-meta-source { color: #999; }
.news-empfehlung {
  display: inline-block;
  margin-top: 5px;
  font-size: 14px;
  color: var(--blue-700);
  background: var(--blue-50);
  border: 1px solid var(--blue-100);
  padding: 3px 10px;
  border-radius: 10px;
  font-weight: 600;
}

/* --- 12. Media-Monitoring --- */

/* --- 13. Forum-Items --- */
.forum-item { padding: 4px 0; border-bottom: 1px solid #e8e8e8; font-size: 15px; }
.forum-item:last-child { border-bottom: none; }
.forum-tag {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 15px;
  margin-bottom: 0;
}
.forum-time { font-size: 13px; color: #888; }
 .forum-title a, .forum-item .forum-title a.qforum, .forum-title a.item.qforum { font-size: 15px; font-weight: 600; color: var(--text); line-height: 1.4; text-decoration: none; }
 .forum-title a:hover, .forum-item .forum-title a.qforum:hover, .forum-title a.item.qforum:hover { color: var(--blue-600); }
.forum-user a { font-size: 13px; color: #888; text-decoration: none; }
.forum-user a:hover { color: var(--blue-600); }

/* --- 14. Section-More --- */
.section-more {
  text-align: right;
  margin-top: 12px;
  padding-top: 8px;
  border-top: 1px solid var(--border);
  font-size: 13px;
}
.section-more a { color: var(--blue-500); font-weight: 600; text-decoration: none; }
.section-more a:hover { color: var(--blue-600); text-decoration: underline; }

/* --- 15. Chart-Card --- */
.chart-card {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.08);
  border: 1px solid var(--border);
  padding: 16px;
  overflow: hidden;
}

/* --- 16. Tabellen --- */
/* Pfeil-Spalte (erste Zelle): so schmal wie möglich */

/* Mini-Chart */
.mini-chart { width: 120px; padding: 4px 4px; vertical-align: middle; }
.mini-chart a {
  display: block;
  width: 112px;
  height: 52px;
  border: none;
  border-radius: 4px;
  background: transparent;
  overflow: hidden;
  text-decoration: none;
}
.mini-chart a:hover {
  border-color: var(--blue-400);
  box-shadow: 0 0 3px rgba(40,103,184,0.2);
}
.mini-chart img { width: 112px; height: 52px; display: block; }

/* RT Cell */

/* Tabellen-Icon-Badges */

/* Firmen-Link in Tabellen */

/* Performance-Bar */
.perf-bar { display: inline-block; height: 6px; border-radius: 3px; min-width: 4px; }
.perf-bar.pos { background: var(--green); }
.perf-bar.neg { background: var(--red); }

/* Table Scroll (Mobile) */

/* --- 17. Status-Badges --- */

/* =========================================================
   14. BREADCRUMB PASSEND ZUR NAV
   ========================================================= */
.breadcrumb {
    display: block;
    margin: 10px 0 12px;
    font-size: 12px;
    color: var(--color-text-muted);
}

.breadcrumb a {
    color: var(--color-brand-600);
    text-decoration: none;
}

.breadcrumb a:hover {
    color: var(--color-brand-700);
    text-decoration: underline;
}

.breadcrumb .sep {
    margin: 0 6px;
    color: var(--color-text-soft);
}


/* =========================================================
   12. AUTOSUGGEST IM NAV-STIL
   ========================================================= */
div.autosuggest {
    position: absolute;
    z-index: 9999;
    margin: 0;
    padding-top: 4px;
}

div.autosuggest div.as_header,
div.autosuggest div.as_footer {
    display: none;
}

div.autosuggest ul {
    margin: 0;
    padding: 4px 0;
    list-style: none;
    background: #ffffff;
    border: 1px solid var(--nav-border);
    border-radius: 10px;
    box-shadow: var(--shadow-md);
    overflow: hidden;
}

div.autosuggest ul li {
    margin: 0;
    padding: 0;
}

div.autosuggest ul li a {
    display: block;
    color: var(--color-text);
    text-decoration: none;
}

div.autosuggest ul li a span {
    display: block;
    padding: 5px 14px;
    font-size: 14px;
    font-weight: 600;
}

div.autosuggest ul li a span small {
    display: block;
    margin-top: 1px;
    font-size: 12px;
    font-weight: 400;
    color: var(--color-text-muted);
}

div.autosuggest ul li a:hover {
    background: #e9edf2;
    color: var(--color-text);
    text-decoration: none;
}

div.autosuggest ul li.as_highlight a {
    background: var(--color-brand-600);
    color: #ffffff;
}

div.autosuggest ul li.as_highlight a span small {
    color: rgba(255, 255, 255, 0.82);
}

div.autosuggest ul li.as_highlight a:hover {
    background: var(--color-brand-700);
}

div.autosuggest ul li a span em {
    font-style: normal;
    font-weight: 700;
    color: var(--red, #c11f2d);
}

div.autosuggest ul li.as_highlight a span em {
    color: #ffaaaa;
}



/* --- 18b. Listen in Content-Bereichen: Bullets sichtbar --- */
.card ul:not(#menu), .card ol,
td.news ul, td.news ol,
#content ul:not(#menu):not(.breadcrumb) { padding-left: 22px; }
#content ol { padding-left: 22px; }

/* --- 18b. Section-Title / Page-Title (H1 mit rotem Quadrat) --- */
.section-title,
.page-title {
  font-size: 22px;
  font-weight: 700;
  color: var(--blue-800);
  margin-top: 8px;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--blue-100);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.section-title::before,
.page-title::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  min-width: 10px;
  background: var(--red);
  border-radius: 1px;
  flex-shrink: 0;
}

/* --- 19. Zusammenfassungs-Pfeile --- */
.summary-arrows {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 15px;
  margin: 8px 0 12px;
}
.summary-arrows .up { color: var(--green); }
.summary-arrows .flat { color: #999; }
.summary-arrows .down { color: var(--red); }

/* --- 20. Info-Text --- */

/* --- 21. Legende --- */
.legend-section { margin-top: 16px; }
.legend-group-title {
  font-weight: 700;
  font-size: 14px;
  color: var(--text);
  margin: 16px 0 8px;
}
.legend-list {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6px 16px;
  align-items: center;
  font-size: 13px;
  color: var(--text);
}
.legend-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  font-weight: bold;
}

/* --- 22. Formulare --- */

/* --- 23. Footer --- */

/* ============================================
   24. Layout-Overrides: Legacy → Grid-System
   ============================================ */

/* === Design 2027: Header === */
/* =========================================================
   2. HEADER-OBERZEILE
   ========================================================= */
.header,
.header-2027 {
    background: #ffffff;
    border-bottom: 1px solid var(--nav-border);
}

.header-2027-inner,
.header-inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 10px 32px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
}


#logoline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.header-logo,
.header-logo img {
    display: block;
}

.header-logo img {
    height: 34px;
    width: auto;
}

/* toprightsmall/header-meta entfernt
.header-meta,
#toprightsmall {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 13px;
    color: var(--color-text-muted);
    margin-left: auto;
}
*/

.top_right,
a.top_right {
    color: var(--color-text-muted);
    font-size: 13px;
    text-decoration: none;
}

/* toprightsmall/header-meta entfernt
.header-meta a,
#toprightsmall a { color: var(--color-text-muted); font-size: 13px; text-decoration: none; }

.header-meta a:hover,
#toprightsmall a:hover { color: var(--color-brand-600); text-decoration: none; }
*/

a.top_right:hover {
    color: var(--color-brand-600);
    text-decoration: none;
}

@media (max-width: 720px) {
    /* toprightsmall/header-meta entfernt
    .header-meta,
    #toprightsmall { display: none; }
    */

    .header-2027-inner,
    .header-inner {
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .header-logo img {
        height: 30px;
    }
}

/* Content: max-width zentriert, padding gibt Abstand vom Rand */
.content {
  display: flex;
  justify-content: center;
  gap: 5px;
  align-items: flex-start;
  width: 100%;
  max-width: none;
  padding: 0;
  min-height: auto;
  position: relative;
}
.content-inner {
  display: block;
  padding: 10px 32px 0;
  flex: 0 1 1440px;
  max-width: 1440px;
  min-width: 0;
}
#right_ad {
  width: 300px;
  flex-shrink: 0;
  padding-top: 16px;
  padding-right: 16px;
  position: sticky;
  top: 16px;
  align-self: flex-start;
}

/* Footer: volle Breite, zentriert */
.footer {
  max-width: 100%;
  min-width: 0;
  width: 100%;
  margin: 0;
}
.footer-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 32px;
}

/* Werbung top: zentriert */
#werbung_top {
  width: 100%;
  left: auto;
  padding: 5px 32px;
}

/* === Design 2027: Navigation === */
/* =========================================================
   3. GESAMTER NAV-CONTAINER
   ========================================================= */
#navline {
    background: var(--nav-bg-main);
    border-bottom: 1px solid var(--nav-border);
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: 0 2px 8px rgba(16, 24, 40, 0.06);
}

/* Klasse bleibt für JS-Kompatibilität erhalten */
#navline.navline-sticky {
    position: sticky;
    top: 0;
}

.nav-inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: var(--nav-height-main);
    flex-wrap: wrap;
}

/* =========================================================
   4. BURGER BUTTON
   ========================================================= */
#menu-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid var(--nav-border);
    border-radius: var(--nav-radius);
    background: #ffffff;
    color: var(--color-brand-700);
    cursor: pointer;
    font-size: 0;
    padding: 0;
    flex-shrink: 0;
}

#menu-toggle::before {
    content: "☰";
    font-size: 20px;
    line-height: 1;
}

/* =========================================================
   5. HAUPTMENÜ DESKTOP / TABLET
   Kein Seitenscrollen
   ========================================================= */
ul#menu {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    min-width: 0;
    overflow: visible;
}

ul#menu li {
    display: flex;
    margin: 0;
    padding: 0;
    flex: 0 0 auto;
}

ul#menu li a {
    display: inline-flex;
    align-items: center;
    min-height: var(--nav-height-main);
    padding: 0 22px;
    margin: 0;
    color: var(--nav-text-main);
    font-family: var(--font-base);
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    white-space: normal;
    border-bottom: 3px solid transparent;
    background: transparent;
    transition:
        color var(--transition-fast),
        background-color var(--transition-fast),
        border-color var(--transition-fast);
}

ul#menu li a:hover {
    color: var(--nav-text-main-hover);
    text-decoration: none;
    background: transparent;
    border-bottom-color: var(--nav-hover-line);
}

ul#menu li a.current,
ul#menu li.active a {
    color: var(--nav-text-main-active);
    border-bottom-color: var(--nav-active-line);
    background: transparent;
}

ul#menu li:first-child a {
    padding-left: 0;
}

/* =========================================================
   6. SUCHE IM HEADER (neben Logo)
   ========================================================= */
#search {
    display: none;
}

form.header-search {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 385px;
    max-width: 460px;
    padding: 0;
    margin: 0 0 0 20px;
}
@media (max-width: 720px) {
    form.header-search { margin-left: 0; }
}

#search_box {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
}

#search_box #s {
    width: 100%;
    min-width: 160px;
    height: 38px;
    border: 1px solid var(--nav-border);
    border-radius: 8px;
    background: #ffffff;
    color: var(--color-text);
    font-size: 14px;
    font-family: var(--font-base);
    padding: 0 12px;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
}

#search_box #s:focus {
    border-color: var(--color-brand-500);
    box-shadow: 0 0 0 3px rgba(45, 108, 188, 0.10);
    outline: 0;
}

#search_box #go {
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 8px;
    background: var(--color-brand-600);
    color: #ffffff;
    cursor: pointer;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    -webkit-appearance: none;
    appearance: none;
    outline: none;
    line-height: 0;
    box-sizing: border-box;
}

#search_box #go img {
    width: 20px;
    height: 20px;
    display: block;
}

#search_box #go:hover {
    background: var(--color-brand-700);
}

@media (max-width: 1024px) {
    form.header-search {
        flex: 1 1 220px;
        max-width: 320px;
    }
}

/* =========================================================
   7. LOGIN IM HEADER
   ========================================================= */
.header-right-group {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    flex-shrink: 0;
}
.header-login {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border: 1px solid var(--nav-border);
    border-radius: 8px;
    background: transparent;
    color: var(--color-brand-600);
    font-family: var(--font-base);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    transition: background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}

.header-login:hover {
    background: var(--color-brand-600);
    color: #ffffff;
    border-color: var(--color-brand-600);
    text-decoration: none;
}

.header-login svg {
    flex-shrink: 0;
}

@media (max-width: 720px) {
    .header-login span { display: none; }
    .header-login { padding: 6px; border-radius: 50%; }
}

/* Chevron-Button + Inline-Submenü: nur Mobile */
.submenu-arrow,
.inline-submenu {
    display: none !important;
}

@media (max-width: 720px) {
    form.header-search {
        flex: 1 1 180px;
        max-width: 100%;
        margin-left: 8px;
        order: 2;
    }
    #menu-toggle {
        order: 1;
        flex-shrink: 0;
    }
    ul#menu {
        order: 3;
    }

    /* Chevron sichtbar auf Mobile */
    .submenu-arrow {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        margin-left: auto;
        width: 32px;
        height: 32px;
        background: none;
        border: none;
        color: var(--nav-text-main);
        font-size: 20px;
        line-height: 1;
        cursor: pointer;
        border-radius: 6px;
        transition: transform 0.2s, background 0.15s;
        flex-shrink: 0;
    }
    .submenu-arrow:hover {
        background: rgba(0,0,0,0.06);
    }
    .submenu-arrow.open {
        transform: rotate(90deg);
        color: var(--color-brand-600);
    }

    /* Inline-Submenü auf Mobile */
    .inline-submenu {
        display: block !important;
        width: 100%;
        background: var(--nav-bg-sub1);
        border-top: 1px solid var(--nav-border-soft);
        border-bottom: 1px solid var(--nav-border-soft);
    }
    .inline-submenu ul {
        margin: 0;
        padding: 4px 0;
        list-style: none;
    }
    .inline-submenu ul li {
        margin: 0;
        padding: 0;
    }
    .inline-submenu ul li a {
        display: block;
        padding: 9px 20px 9px 28px;
        font-size: 14px;
        font-weight: 400 !important;
        color: var(--nav-text-sub1);
        text-decoration: none;
        border-left: 3px solid transparent;
    }
    .inline-submenu ul li a:hover {
        background: var(--nav-bg-active-soft);
        border-left-color: var(--nav-active-line);
        color: var(--nav-text-sub1-active);
    }

    /* ul#menu li: flex damit Name links, Chevron rechts */
    ul#menu li {
        display: flex;
        align-items: center;
        width: 100%;
    }
    ul#menu li a {
        flex: 1;
    }
}

/* =========================================================
   7. SUBMENÜ 1
   Primäre Unterebene
   ========================================================= */
#submenu1,
.subnav-2027 {
    width: 100%;
    background: var(--nav-bg-sub1);
    border-bottom: 1px solid var(--nav-border-soft);
    position: static;
}

.subnav-2027-inner,
.subnav-inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 32px;
}

.subnav-2027-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    margin: 0;
    padding: 7px 0;
    list-style: none;
}

.subnav-2027-item {
    margin: 0;
    padding: 0;
}

.subnav-2027-link,
#submenu1 a {
    display: inline-flex;
    align-items: center;
    min-height: var(--nav-height-sub1);
    color: var(--nav-text-sub1);
    font-family: var(--font-base);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
    text-decoration: none;
    white-space: normal;
    padding: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    transition:
        color var(--transition-fast),
        border-color var(--transition-fast),
        background-color var(--transition-fast);
}

.subnav-2027-link:hover,
#submenu1 a:hover {
    color: var(--nav-text-sub1-hover);
    text-decoration: none;
    border-bottom-color: var(--nav-hover-line);
}

.subnav-2027-link.is-active,
#submenu1 a.is-active {
    color: var(--nav-text-sub1-active);
    font-weight: 600;
}

/* =========================================================
   8. SUBMENÜ 2
   Sekundäre Unterebene
   ========================================================= */
#submenu2 {
    width: 100%;
    background: var(--nav-bg-sub2);
    border-bottom: 1px solid var(--nav-border-soft);
    position: static;
}

#submenu2 .subnav-2027-inner,
#submenu2 .subnav-2027-inner,
#submenu2 .subnav-inner,
#submenu2 > div,
#submenu2 > .content {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 32px;
}

#submenu2 .subnav-2027-list,
#submenu2 ul,
#submenu2 .subnav-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 14px;
    margin: 0;
    padding: 6px 0 7px 0;
    list-style: none;
}

#submenu2 a {
    display: inline-flex;
    align-items: center;
    min-height: var(--nav-height-sub2);
    color: var(--nav-text-sub2);
    font-family: var(--font-base);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
    text-decoration: none;
    white-space: normal;
    padding: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    transition:
        color var(--transition-fast),
        border-color var(--transition-fast),
        background-color var(--transition-fast);
}

#submenu2 a:hover {
    color: var(--nav-text-sub2-hover);
    text-decoration: none;
    border-bottom-color: var(--nav-hover-line);
}

#submenu2 a.is-active {
    color: var(--nav-text-sub2-active);
    font-weight: 600;
}

/* =========================================================
   9. UNTERSEITEN-SPEZIALFÄLLE
   showcompany / wissen / content-lastige Bereiche
   ========================================================= */

/* showcompany / company pages */
body[class*="showcompany"] #submenu1,
body[class*="showcompany"] .subnav-2027,
.page-showcompany #submenu1,
.page-showcompany .subnav-2027 {
    background: #ffffff;
}

body[class*="showcompany"] #submenu2,
.page-showcompany #submenu2 {
    background: #fbfcfe;
}

/* wissen / literatur / kennzahlen */
.page-wissen #submenu1,
.page-wissen #submenu2,
.page-kennzahlen #submenu1,
.page-kennzahlen #submenu2,
.page-literatur #submenu1,
.page-literatur #submenu2 {
    background: #ffffff;
}

.kennzahlen-nav,
.literatur-nav {
    background: #ffffff;
    border: 1px solid var(--nav-border);
    border-radius: 8px;
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.kennzahlen-nav table,
.literatur-nav table {
    width: 100%;
    border: 0;
    background: transparent;
}

.kennzahlen-nav td,
.literatur-nav td {
    padding: 0;
    background: transparent;
}

.kennzahlen-nav br,
.literatur-nav br,
.kennzahlen-nav img,
.literatur-nav img {
    display: none;
}

.kennzahlen-nav ul,
.literatur-nav ul {
    margin: 0;
    padding: 4px 0;
    list-style: none;
}

.kennzahlen-nav li,
.literatur-nav li {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid var(--nav-border-soft);
}

.kennzahlen-nav li:last-child,
.literatur-nav li:last-child {
    border-bottom: 0;
}

.kennzahlen-nav li > b,
.literatur-nav li > b {
    display: block;
    padding: 8px 14px;
    font-size: 12px;
    font-weight: 700;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.kennzahlen-nav a.submenu,
.kennzahlen-nav a.submenu_black,
.kennzahlen-nav a.submenu_green,
.kennzahlen-nav a.submenu_red,
.literatur-nav a.submenu,
.literatur-nav a.submenu_black,
.literatur-nav a.submenu_green,
.literatur-nav a.submenu_red {
    display: block;
    padding: 8px 14px;
    border-left: 3px solid transparent;
    color: var(--nav-text-sub1);
    font-size: 14px;
    line-height: 1.35;
    text-decoration: none;
    background: transparent;
}

.kennzahlen-nav a.submenu:hover,
.kennzahlen-nav a.submenu_black:hover,
.kennzahlen-nav a.submenu_green:hover,
.kennzahlen-nav a.submenu_red:hover,
.literatur-nav a.submenu:hover,
.literatur-nav a.submenu_black:hover,
.literatur-nav a.submenu_green:hover,
.literatur-nav a.submenu_red:hover {
    background: var(--nav-bg-hover);
    color: var(--nav-text-sub1-hover);
    border-left-color: var(--nav-hover-line);
}

.kennzahlen-nav a.submenu:has(> b),
.kennzahlen-nav a.submenu_black:has(> b),
.kennzahlen-nav a.submenu_green:has(> b),
.kennzahlen-nav a.submenu_red:has(> b),
.literatur-nav a.submenu:has(> b),
.literatur-nav a.submenu_black:has(> b),
.literatur-nav a.submenu_green:has(> b),
.literatur-nav a.submenu_red:has(> b) {
    background: var(--nav-active-line);
    background: var(--nav-bg-active-soft);
    color: var(--nav-text-sub1-active);
    border-left-color: var(--color-accent);
    font-weight: 700;
}

/* =========================================================
   10. MOBILE NAV
   Kein horizontaler Scroll
   Vertikale Listen
   ========================================================= */
@media (max-width: 720px) {
    .nav-inner {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        min-height: auto;
        padding: 8px 32px;
    }

    #submenu1,
    #submenu2 {
        display: none;
    }

    #submenu1.in-menu,
    #submenu2.in-menu {
        display: none; /* Inline-Chevron-Submenü ersetzt PHP-Submenu auf Mobile */
    }

    #menu-toggle {
        display: inline-flex;
        align-items: center;
        align-self: center;
        order: 1;
        flex-shrink: 0;
    }

    ul#menu {
        display: none;
        order: 3;
        width: 100%;
        flex-direction: column;
        flex-wrap: nowrap;
        border-top: 1px solid var(--nav-border);
        margin-top: 8px;
        padding-top: 6px;
    }

    ul#menu.open {
        display: flex;
    }

    ul#menu li {
        display: flex !important;
        align-items: center;
        width: 100%;
        flex: 0 0 auto;
    }

    ul#menu li a {
        display: flex;
        align-items: center;
        width: 100%;
        min-height: 42px;
        padding: 0 12px 0 20px;
        border-bottom: 1px solid var(--nav-border-soft);
        border-left: 3px solid transparent;
        border-right: 0;
        border-top: 0;
        font-size: 15px;
        font-weight: 600;
        background: transparent;
    }

    ul#menu li:first-child a {
        padding-left: 20px;
    }

    ul#menu li a:hover {
        border-bottom-color: var(--nav-border-soft);
        border-left-color: var(--nav-hover-line);
        background: var(--nav-bg-hover);
    }

    ul#menu li a.current,
    ul#menu li.active a {
        border-bottom: 1px solid var(--nav-border-soft);
        border-left-color: var(--nav-active-line);
        background: var(--nav-bg-active-soft);
    }

    form.header-search {
        order: 2;
        flex: 1 1 auto;
        max-width: calc(100% - 52px);
        margin-left: 0 !important;
        padding: 0;
        align-self: center;
        display: flex;
        align-items: center;
    }

    .subnav-2027-list,
    #submenu2 .subnav-2027-list,
    #submenu2 ul,
    #submenu2 .subnav-list {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 6px 0;
    }

    .subnav-2027-item {
        width: 100%;
    }

    .subnav-2027-link,
    #submenu1 a,
    #submenu2 a {
        display: flex;
        width: 100%;
        min-height: 36px;
        padding: 0 12px 0 44px;
        border-bottom: 1px solid var(--nav-border-soft);
        border-left: 3px solid transparent;
        white-space: normal;
        background: transparent;
    }

    .subnav-2027-link:hover,
    #submenu1 a:hover,
    #submenu2 a:hover {
        border-left-color: var(--nav-hover-line);
        background: var(--nav-bg-hover);
        border-bottom-color: var(--nav-border-soft);
    }

    #submenu1 a.is-active,
    #submenu2 a.is-active,
    .subnav-2027-link.is-active {
        background: var(--nav-bg-active-soft);
        color: var(--color-brand-800);
        font-weight: 600;
        border-left-color: var(--nav-active-line);
        border-bottom-color: var(--nav-border-soft);
    }
}

/* =========================================================
   11. TABLET FEINTUNING
   ========================================================= */
@media (min-width: 721px) and (max-width: 1024px) {
    ul#menu li a {
        padding: 0 12px;
        font-size: 14px;
    }

    form.header-search {
        flex: 1 1 240px;
        max-width: 280px;
    }

    .subnav-2027-link,
    #submenu1 a {
        font-size: 13px;
    }

    #submenu2 a {
        font-size: 12px;
    }
}



/* Right-Ad: wird jetzt im .content flex-Layout als Sidebar gerendert */

/* Vorlage: .footer-links — exakt aus index-redesign-v3.html Zeile 707-728 */
.footer-columns {
  display: flex;
  gap: 20px;
  margin-bottom: 12px;
  padding-left: 10px;
}
#leftbottom {
  flex: 1;
  float: none;
  padding: 0;
}
/* Hide spacer divs and empty ad wrappers between action bar and columns */
.footer-inner > div > div:has(ins.adsbygoogle) {
  display: none;
}
/* Collapse <br/> between footer links — links are display:block already */
#leftbottom br {
  display: none;
}

/* Card-Wrapper für Legacy-Sektionen */
.top_flop_ueberschrift10 {
  font-size: 20px;
  font-weight: 700;
  color: var(--blue-800);
  margin-top: 0;
  margin-bottom: 12px;
  padding-top: 0;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--blue-100);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.top_flop_ueberschrift10::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  background: var(--red);
  border-radius: 1px;
  flex-shrink: 0;
}

/* Section-Header — siehe konsolidierte Regel weiter unten (Zeile ~4829) */

/* Tabellen-Styling: legacy tables → moderne Optik */
.tablestandard, table.tablestandard {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.tablestandard td, .tablestandard th {
  padding: 7px 8px;
  border-bottom: 1px solid #eee;
}
.tablehead, .tablehead td {
  background: var(--blue-50);
  color: var(--text);
  font-weight: 600;
  font-size: 13px;
  padding: 10px;
  border-bottom: 2px solid var(--border);
}

/* ============================================
   25. Farb-Overrides für bestehende Legacy-Klassen
   (Farbwerte gemäß Mapping anpassen, Klassennamen bleiben)
   ============================================ */

/* Nav/Search/Submenu Farb-Overrides → oben konsolidiert (Zeile ~670+) */

/* Top-Right Meta-Links entfernt
#toprightsmall a {
  color: var(--text-sec);
  font-size: 13px;
  margin-left: 14px;
  padding: 0;
  text-decoration: none;
  vertical-align: middle;
}
#toprightsmall a:hover { color: var(--blue-600); text-decoration: none; }
#toprightsmall {
  line-height: 1;
  font-size: 13px;
  color: #ccc;
  letter-spacing: 0;
  gap: 6px;
}
*/

/* Link-Farben */
a:link { color: var(--blue-600); }
a:visited { color: var(--blue-600); }

/* Top-Flop Überschriften — .top_flop_ueberschrift0 konsolidiert weiter unten */
.top_flop_ueberschrift10 {
  color: var(--blue-800);
  border-bottom-color: var(--blue-100);
}

/* News/Media Section Headlines */
td.top_flop {
  color: var(--blue-800);
}
/* News-Übersicht: 2-Spalten Layout */
#left_news, .left_news {
  color: var(--text);
  flex: 1;
  min-width: 0;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.08);
  padding: 16px;
}
/* right_news: Default Card-Styling für Legacy-Seiten */
#right_news, .right_news {
  color: var(--text);
  width: 320px;
  flex-shrink: 0;
  position: static;
  margin: 0;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.08);
  left: auto;
  top: auto;
  padding: 12px;
}
/* Grid-Layout (.page-forum-uebersicht) */
.page-forum-uebersicht {
  max-width: 1440px;
  margin: 16px auto;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 20px;
  align-items: start;
  width: 100%;
  box-sizing: border-box;
}
.forum-post-header { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:6px; }
.forum-post-company a { font-size:14px; font-weight:600; color:var(--blue-600); text-decoration:none; }
.forum-post-company a:hover { color:var(--blue-500); }
.forum-post-user { font-size:13px; color:var(--text-sec); }
@media (max-width:960px) { .page-forum-uebersicht { grid-template-columns:1fr 280px; } }
@media (max-width:720px) { .page-forum-uebersicht { grid-template-columns:1fr; } }

/* Card-Styling von left/right_news ENTFERNEN
   → innere .card divs übernehmen. Grid-Display darf nicht von flex überschrieben werden */
.page-forum-uebersicht > .left_news {
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  min-width: 0;
}
.page-forum-uebersicht > .right_news {
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  width: auto;
  min-width: 0;
}
/* Wrapper für left_news + right_news — flex NUR für Legacy-Seiten (NICHT .page-forum-uebersicht) */
.content-inner:has(.left_news),
div:has(> .left_news):has(> .right_news):not(.page-forum-uebersicht) {
  display: flex;
  gap: 24px;
  width: 100%;
}
/* News-Seiten: Nur der ERSTE page-* Container (direct child von .content-inner) bekommt Padding.
   Innere Container (.page-news, .page-adhoc-inner etc.) erben KEIN zusätzliches Padding. */
.content-inner > [class*="page-"] {
  max-width: none;
  margin: 16px 0;
  padding: 0 16px;
  width: 100%;
}
/* Breadcrumb innerhalb page-Wrapper: kein Extra-Abstand (Wrapper-Margin reicht) */
.content-inner > [class*="page-"] > .breadcrumb:first-child {
  margin-top: 0;
}
/* Vorlage: .card-title — exakt aus index-redesign-v3.html Zeile 194-206 */
.text_16 h1, .text_16 h2 {
  font-size: 20px;
  font-weight: 700;
  color: var(--blue-800);
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--blue-100);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Tabellen */
.tablestandard { border-color: var(--border); }
.tablehead { background: var(--blue-50); }
.sortedASC, .sortedDESC { background-color: var(--blue-50); }
.sortedNULL { background-color: var(--blue-100); }

/* Tabs — override-Platzhalter (maßgeblich: F1-Block weiter unten) */

/* Body-Fonts overriden */
body, table, th, tr, td, ol, ul, p {
  font-family: var(--font-base);
}

/* Vorlage: .site-footer — Design 2027: heller Grau-Footer */
.footer {
  background: #f5f6f8;
  color: #5a6272;
  padding: 0 0 16px;
  margin-top: 24px;
  font-size: 13px;
  border-top: 1px solid #e5e7eb;
}
.footer-inner {
  padding: 0 32px;
  background-color: transparent;
}
/* Reduce action bar (Diese Seite weiter empfehlen) bottom spacing */
.footer-inner .text_16 {
  padding: 8px 5px;
  margin-bottom: 0;
}
/* Banner wrapper between action bar and columns — collapse */
/* Reduce columns top padding — minimal gap to action bar */
.footer-columns {
  padding-top: 0;
  margin-top: 0;
}

/* Vorlage: .footer-links a — Design 2027: dunkle Schrift auf hellem Grund */
#leftbottom {
  color: #6b7280;
}
#leftbottom a {
  color: #6b7280;
  display: block;
  padding: 0;
  font-size: 13px;
  line-height: 1.65;
  text-decoration: none;
}
#leftbottom a:hover {
  color: var(--blue-600);
}
/* Vorlage: .footer-links h4 — Spaltenüberschriften */
#leftbottom .text_18, #leftbottom a.text_18 {
  color: var(--text);
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 4px;
  padding-top: 0;
  display: block;
}
/* Footer bold labels (NEWS:, TERMINE:) */
#leftbottom b {
  display: inline;
  font-size: 12px;
  color: var(--text-sec);
  margin-top: 6px;
}

/* Footer Legal */
#redbottom {
  color: #6b7280;
}
#redbottom a {
  color: #6b7280;
  text-decoration: none;
}
#redbottom a:hover {
  color: var(--blue-600);
}

/* Copyright Text im Footer */
.footer .text_11, .footer a.text_11 {
  color: #9ca3af;
}

/* Wiki-Tabellen */

/* Admin-Top */

/* Forum Text-Farben */
.right_forum {
  border-color: var(--border);
}

/* ============================================
   25. Responsive Overrides
   ============================================ */

/* ============================================
   26. Index-Seite: Legacy-Float → CSS Grid
   ============================================ */

/* Container: Float-Layout → CSS Grid */
#container {
  max-width: 1280px;
  margin: 16px auto;
  padding: 0;
  display: grid;
  grid-template-columns: 200px 1fr 240px;
  gap: 20px;
  width: auto;
}

/* Spalten: Float entfernen */
#left {
  float: none;
  width: auto;
  padding: 0;
}
.content {
  float: none;
  width: auto;
  min-width: 0;
}
#right {
  float: none;
  width: auto;
  padding: 0;
}

/* Clear-Div nicht benötigt bei Grid */

/* Chart-Grid: 2 Spalten für Intraday-Charts */
.chart-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
/* Chart-interne Tabellen: kein Border, keine Polsterung */
.chart-card table {
  border: none;
  border-collapse: collapse;
}
.chart-card table td {
  border: none;
  padding: 2px 4px;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}

/* === Design 2027: Home Page Layout (2-column) === */
.home-wrap {
  margin: 16px 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 24px;
  align-items: start;
}
.home-wrap .home-main,
.home-wrap .home-sidebar { min-width: 0; }
.home-wrap .card { margin-bottom: 16px; }

/* Below-fold modules: multi-column grid */

@media (min-width: 641px) and (max-width: 960px) {
  .home-wrap { grid-template-columns: 1fr; }
  .home-wrap .home-main { order: 1; }
  .home-wrap .home-sidebar { order: 2; }
}
@media (max-width: 640px) {
  .home-wrap { grid-template-columns: 1fr; padding: 0; }
  .home-wrap .home-main { order: 1; }
  .home-wrap .home-sidebar { order: 2; }
  .chart-grid { grid-template-columns: 1fr; }
}

/* Analysen-Widget linke Spalte */
.idx-analysen-list { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
.idx-analyst-item { display: block; text-decoration: none; padding: 7px 0; border-bottom: 1px solid var(--border); }
.idx-analyst-item:last-child { border-bottom: none; }
.idx-analyst-name { display: block; font-size: 12px; font-weight: 700; line-height: 1.3; margin-bottom: 3px; }
.idx-analyst-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.idx-analyst-date { font-size: 11px; color: var(--text-sec); }
.idx-analyst-kz { font-size: 11px; font-weight: 600; color: var(--blue-800); background: var(--blue-50); border-radius: 3px; padding: 1px 5px; }
.idx-analyst-item .news-empfehlung { font-size: 10px; padding: 1px 5px; border-radius: 3px; font-weight: 700; }
.idx-analyst-cnt { display: inline-block; font-size: 10px; font-weight: 700; color: #fff; background: var(--blue-400); border-radius: 9px; padding: 0 5px; vertical-align: middle; margin-left: 2px; }

/* News/Media H1-Überschriften als Card-Title */
.newsmedia_ueberschrift,
a.newsmedia_ueberschrift {
  font-size: 20px;
  font-weight: 700;
  color: var(--blue-800);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-bottom: 2px solid var(--blue-100);
  padding-bottom: 8px;
  margin-bottom: 12px;
  width: 100%;
}
a.newsmedia_ueberschrift::before,
.newsmedia_ueberschrift::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  min-width: 10px;
  background: var(--red);
  border-radius: 1px;
  flex-shrink: 0;
}
.newsmedia_ueberschrift:hover,
a.newsmedia_ueberschrift:hover {
  color: var(--blue-600);
  text-decoration: none;
}
.newsmedia_ueberschrift h1 {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  display: inline;
}

/* News/Media Sections: headline-Zeile als card-title-Stil */
/* Heading-div innerhalb .card: kein Extra-Margin/doppelter Border */
/* In .card headline_13 img ausblenden — ::before auf newsmedia_ueberschrift übernimmt */
/* BR in heading divs ausblenden (stört Flex-Layout) */
/* Rotes Quadrat vor News/Media headlines via img-Ersetzung */

/* A0: News-Table als Card (BÖRSE-NEWS + Medien-Monitor Wrapper) */
.content > table:last-of-type {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.08);
  overflow: hidden;
  margin-bottom: 16px;
}
/* Erste Section-Überschrift in der News-Card: weniger margin-top (cellpadding gibt bereits 10px) */

/* "weitere >>>" Links → section-more Stil */
.content font[size="-1"] a {
  color: var(--blue-500);
  font-weight: 600;
  font-size: 15px;
  font-family: var(--font-base);
}
.content font[size="-1"] a:hover {
  color: var(--blue-600);
}

/* Promo-Bereich im linken Sidebar */

/* Markt-Section (rechte Spalte) — Card-Wrap */
#right .top_flop_ueberschrift10 {
  margin-top: 0;
}

/* Meistgeklickt: Rang-Nummer-Styling */
#right td.newsmedia {
  color: var(--blue-500);
  font-weight: bold;
  font-size: 11px;
  background: var(--blue-50);
  border-radius: 4px;
  text-align: center;
  width: 22px;
  height: 22px;
  line-height: 22px;
  padding: 0;
}

/* aktie.at mobil Banner → responsive */
#right img[alt*="mobil"] {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
  margin: 8px 0;
}

/* Forum Sidebar: Company/Author-Links — Vorlage: .forum-stock/.forum-user Zeile 637-663 */
#right a.newsmedia, #right a.newsmedia:link, #right a.newsmedia:visited,
.right_news a.newsmedia, .right_news a.newsmedia:link, .right_news a.newsmedia:visited {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
}
/* Kursfarben: rot/grün auf Firmennamen (Forum-Sidebar + überall) */
a.newsmedia.red, a.newsmedia.red:link, a.newsmedia.red:visited { color: var(--red); }
a.newsmedia.green, a.newsmedia.green:link, a.newsmedia.green:visited { color: var(--green); }
a.newsmedia.black, a.newsmedia.black:link, a.newsmedia.black:visited { color: var(--text); }
/* Poster-Namen: dezenter als Firmennamen */
.right_news a.newsmedia:not(.red):not(.green):not(.black),
.right_news a.newsmedia:not(.red):not(.green):not(.black):link,
.right_news a.newsmedia:not(.red):not(.green):not(.black):visited {
  color: var(--text-sec);
  font-weight: 400;
  font-size: 12px;
  text-decoration: none;
  font-family: inherit;
}
#right a.newsmedia:hover {
  color: var(--blue-600);
  text-decoration: none;
  font-size: 13px;
}
/* Forum Topic-Link — Vorlage: .forum-topic a Zeile 649-654 */
#right a.middle, #right a.middle:link, #right a.middle:visited {
  font-size: 15px;
  font-weight: bold;
  color: var(--text);
  line-height: 1.3;
  text-decoration: none;
}
#right a.middle:hover {
  color: var(--blue-600);
}
/* Forum Uhrzeit — Vorlage: .forum-time Zeile 644-647 */
#right td.small-3 {
  font-size: 12px;
  color: #888;
  white-space: nowrap;
  font-family: inherit;
}
/* Forum Tabelle: Zeilen-Separator */
#right .card table tr {
  border-bottom: 1px solid #e8e8e8;
}
#right .card table tr:last-child {
  border-bottom: none;
}

/* Left Sidebar: 2015marktuebersicht Abstand */
#left .top_flop_ueberschrift10:first-child {
  margin-top: 0;
}

/* Mittelspalte: News/Media-Tabelle als Card stylen */
.content > table:nth-of-type(2) {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.08);
  border: 1px solid var(--border);
  padding: 0 16px 16px;
  margin-top: 16px;
}
.content > table:nth-of-type(2) td {
  padding: 0;
}

/* Banner-Mitte: ausblenden oder weniger prominent */

/* Responsive: Index-Seite */
@media (max-width: 960px) {
  #container {
    grid-template-columns: 200px 1fr;
  }
  #right {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
  }
}
@media (max-width: 720px) {
  #container {
    grid-template-columns: 1fr;
  }
  #right {
    grid-template-columns: 1fr;
  }
  .chart-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   28. Kursliste-Seite: Legacy-Klassen → ap-table--detail
   ============================================ */

/* Breadcrumb */
.top_right, a.top_right {
  font-size: 13px;
  color: var(--text-sec);
  text-decoration: none;
}
a.top_right:hover { color: var(--blue-600); }

/* Kursliste-Tabelle Header (all TH in stock tables) */
table[width="895"] th,
.kursliste_ueberschrift0, TH.kursliste_ueberschrift0 {
  background: var(--blue-50);
  color: var(--text);
  font-weight: 600;
  font-size: 13px;
  padding: 10px 8px;
  border-bottom: 2px solid var(--border);
  white-space: nowrap;
  text-align: left;
}

/* Kursliste-Tabelle Datenzellen */
.kursliste_abn, TD.kursliste_abn,
.kursliste, TD.kursliste,
.kursliste_text, TD.kursliste_text {
  padding: 8px;
  border-bottom: 1px solid #e8e8e8;
  font-size: 13px;
  vertical-align: middle;
}

/* Zebra-Striping für Kursliste */
table tr:nth-child(even) TD.kursliste_abn,
table tr:nth-child(even) TD.kursliste,
table tr:nth-child(even) TD.kursliste_text {
  background: #fafbfc;
}

/* Hover für Kursliste-Zeilen — nur ab 4 Datenzeilen (1 Header + 4 = tr:nth-child(5)) */
table:has(tr:nth-child(5)) tr:hover TD.kursliste_abn,
table:has(tr:nth-child(5)) tr:hover TD.kursliste,
table:has(tr:nth-child(5)) tr:hover TD.kursliste_text {
  background: var(--blue-50);
}

/* Firmennamen-Links in Kursliste — normal weight, nicht fett */
a.kursliste_abn, a.kursliste {
  color: var(--text);
  text-decoration: none;
  font-weight: 400;
}
a.kursliste_abn:hover, a.kursliste:hover {
  color: var(--blue-600);
}
/* Kurs-Farben: <font color> muss innerhalb Links durchscheinen */
a.kursliste font[color="green"],
a.kursliste font[color="green"] b,
td.kursliste_text font[color="green"],
td.kursliste_text font[color="green"] b {
  color: var(--green);
}
a.kursliste font[color="red"],
a.kursliste font[color="red"] b,
td.kursliste_text font[color="red"],
td.kursliste_text font[color="red"] b {
  color: var(--red);
}
a.kursliste font[color="black"],
a.kursliste font[color="black"] b,
td.kursliste_text font[color="black"],
td.kursliste_text font[color="black"] b {
  color: var(--text);
}

/* Kleine Text-Beschriftungen in Kursliste — als Block damit Badges darunter umbrechen */
.kursliste_text_klein, .kursliste_text_klein_abn {
  font-size: 11px;
  color: var(--text-sec);
  display: block;
  margin-bottom: 2px;
}

/* Kursliste-Tabelle: responsive Breite */
table[width="895"] {
  width: 100%;
  max-width: 100%;
}

/* Kurs-Farben in Kursliste */
.kursliste_red, a.kursliste_red { color: var(--red); }
.kursliste_green, a.kursliste_green { color: var(--green); }

/* Top3/Flop3 Zusammenfassung */

/* Kursliste Container: max-width + zentriert */
.content table[width="895"],
.content-inner table[width="895"] {
  width: 100%;
  border-collapse: collapse;
}

/* Seiten-Info-Text */
.text_12 { font-size: 13px; color: var(--text-sec); }
.text_18 { font-size: 20px; font-weight: 700; color: var(--blue-800); }

/* Legende: card-artige Gestaltung */

/* ============================================
   29. Responsive Design
   ============================================ */



@media (max-width: 720px) {
/* Tabellen auf Mobile horizontal scrollbar */
  table[width="900"] { max-width: 100%; }
}

@media (max-width: 480px) {
  .card { padding: 12px; }
  .card-title { font-size: 16px; }
}

/* ===================================================================
   29. Top-Flop Sub-Headers (Tops / Flops)
   =================================================================== */
/* Vorlage: .topflop-label — exakt aus index-redesign-v3.html Zeile 320-327 */
.topflop-sub-header {
  font-size: 20px;
  font-weight: bold;
  color: var(--text);
  margin: 12px 0 6px 0;
  padding: 0;
  border-bottom: none;
  text-transform: none;
  letter-spacing: normal;
}
.topflop-sub-header:first-child {
  margin-top: 0;
}

/* ===================================================================
   30. Global Legacy-Cleanup (C0.2–C0.6)
   =================================================================== */

/* C0.2 Legacy-Tabellen */
table { border-collapse: collapse; }
td, th { vertical-align: top; }
td[bgcolor], th[bgcolor] { background-color: var(--blue-50); }
tr[bgcolor] > td { background-color: var(--blue-50); }
 td[bgcolor="white" i], table[bgcolor="white" i] { background-color: #fff; }
td.text_12_weiss, th.text_12_weiss,
tr[bgcolor] > td.text_12_weiss, tr[bgcolor] > th.text_12_weiss {
  color: #fff;
  background-color: var(--blue-600);
  font-weight: 600;
  padding: 8px 10px;
}

/* C0.3 Legacy <font> Elemente */
font[color="green"] { color: var(--green); }
font[color="red"] { color: var(--red); }
font[color="black"] { color: var(--text); }
font[size] { font-size: inherit; }

/* C0.4 Legacy inline bgcolor */

/* C0.5 Globale Formular-Elemente */
input[type="text"], input[type="email"], input[type="password"],
input[type="search"], textarea, select {
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 6px 10px;
  font-size: 13px;
  font-family: inherit;
}
input[type="submit"], input[type="button"], button {
  background: var(--blue-600);
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 7px 16px;
  font-size: 13px;
  cursor: pointer;
  font-family: inherit;
}
input[type="submit"]:hover, input[type="button"]:hover, button:hover {
  background: var(--blue-500);
}

/* C0.6 Globale Bild-Behandlung */
img { border: 0; }

/* ===================================================================
   Sidebar-Left: Unternehmensliste (showcompany, termine_show, etc.)
   Vorlage: unternehmen.html .segment-card / .segment-header
   =================================================================== */
.sidebar-left .card { padding:0; overflow:hidden; }
.sidebar-left img[src*="headline_11"], .sidebar-left img[src*="leer"] { display:none; }
.sidebar-left br { display:none; }
.sidebar-left a[class*="submenu"] {
  display:block; font-size:13px; padding:6px 14px;
  color:var(--text); text-decoration:none;
  border-bottom:1px solid #eef0f4; border-left:3px solid transparent;
  line-height:1.3;
}
.sidebar-left a[class*="submenu"]:hover { background:var(--blue-50); color:var(--blue-600); border-left-color:var(--blue-300); }
.sidebar-left a.submenu_green { color:var(--green); }
.sidebar-left a.submenu_red { color:var(--red); }
.sidebar-left a.submenu_black { color:var(--text); }
/* Aktiver Eintrag: roter linker Rand */
.sidebar-left b { font-weight:700; }
.sidebar-left a[class*="submenu"]:has(> b) {
  font-weight:700; color:var(--blue-800);
  border-left-color:var(--red); background:var(--blue-50);
}
/* Segment-Header: Card-Title mit rotem Quadrat */

/* ===================================================================
   GLOBAL: Alle Legacy-Tabellen im Content-Bereich stripen + stylen
   Betrifft: showcompany insider/dividenden, termine, etc.
   =================================================================== */
/* Tabellen mit bgcolor-Zeilen: Striping + Header */

.company-body ~ * table tr:nth-child(even) td.text_11,
.company-body ~ * table tr:nth-child(even) td.text_9 {
  background: #fafbfc;
}
/* Hover auf Datenzeilen */
/* Breite ausnutzen */
/* "weitere Meldungen" Navigations-Zeile */
table tr td[bgcolor][align="center"] {
  background: transparent;
  border-top: 1px solid var(--border);
  padding: 12px 0;
}
table tr td[bgcolor][align="center"] a {
  color: var(--blue-600);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}
table tr td[bgcolor][align="center"] a:hover {
  color: var(--blue-500);
  text-decoration: underline;
}

/* ===================================================================
   Termine-Detail-Tabelle (termine_show.html → termine_detail.html)
   =================================================================== */
table[width="550"] {
  width:100%;
  border-collapse:collapse;
  font-size:13px;
}
/* Header-Zeile: wie Kursliste — blue-50 BG, dunkle Schrift */
table[width="550"] tr:first-child[bgcolor] {
  background:var(--blue-50);
}
table[width="550"] tr:first-child[bgcolor] td,
table[width="550"] tr:first-child[bgcolor] td b,
table[width="550"] tr:first-child[bgcolor] td font {
  background:var(--blue-50);
  color:var(--text);
  font-weight:600;
  font-size:13px;
  padding:8px 10px;
  border-bottom:2px solid var(--border);
}
table[width="550"] tr:first-child[bgcolor] td b,
table[width="550"] tr:first-child[bgcolor] td font {
  padding:0;
  border-bottom:none;
}
/* Datenzeilen: alle weiteren tr */
table[width="550"] tr:not(:first-child) {
  background:transparent;
}
table[width="550"] tr:not(:first-child) td {
  padding:8px 10px;
  border-bottom:1px solid #f0f2f5;
  background:transparent;
}
table[width="550"] tr:not(:first-child):hover td {
  background:var(--blue-50);
}

/* ---- headline_13.gif: HIDE and replace via ::before on parent containers ---- */

/* ---- headline_11.gif: RESTYLE to small red square (not hide) ---- */
/* Works universally in <li>, <td>, <h2>, etc. without needing ::before on parent */
/* Remove standard list bullet when headline_11.gif provides the marker */
li:has(> img[src*="headline_11.gif"]) {
  list-style: none;
}

/* ---- Red square ::before for ALL headline_13.gif container patterns ---- */

/* Pattern A: h1 containing the GIF directly (most common pattern) */
/* e.g. <h1><img src="headline_13.gif">text</h1> */
h1:has(> img[src*="headline_13.gif"])::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  background: var(--red);
  border-radius: 1px;
  margin-right: 8px;
  vertical-align: middle;
  flex-shrink: 0;
}

/* Pattern B: <b> containing the GIF (without h1 inside) */
/* e.g. <B><img src="headline_13.gif">Meldungen zu X</B> */
b:has(> img[src*="headline_13.gif"]):not(:has(h1))::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  background: var(--red);
  border-radius: 1px;
  margin-right: 8px;
  vertical-align: middle;
}

/* Pattern C: GIF as direct child of .text_13 div (bare text, no h1/b wrapper) */
/* e.g. candlesticks/*.html, indikatoren/*.html: <div class="text_13"><br><img>Text</div> */
/* Flex-Layout: ::before-Quadrat und Text bleiben auf einer Linie */
.text_13:has(> img[src*="headline_13.gif"]):not(:has(h1)):not(:has(b > img[src*="headline_13.gif"])) {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--blue-800);
  margin-bottom: 8px;
}
/* ALLE <br> in .text_13 Heading-Containern ausblenden (flex-items) */
div.text_13 > br, div#text_13 > br {
  display: none;
}
.text_13:has(> img[src*="headline_13.gif"]):not(:has(h1)):not(:has(b > img[src*="headline_13.gif"]))::before {
  content: '';
  display: inline-block;
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  background: var(--red);
  border-radius: 1px;
  margin-right: 6px;
}

/* Pattern D: GIF as sibling of h1 inside any [style*="color: #224477"] container */
/* e.g. dividenden.html: <div id="text_13" style="color: #224477;"><img><h1>Dividenden</h1></div> */
/* Also covers .text_13 wrappers — the more-specific kursliste rule (line ~2117) overrides when both match */

#text_13 > h1::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  background: var(--red);
  border-radius: 1px;
  margin-right: 8px;
  vertical-align: middle;
  flex-shrink: 0;
}

/* Pattern E: GIF in A.text_13 contexts (detail_trade.php) — parent .text_13 div handles it */
/* .text_13[style*="color: #224477"]:has(> img) already matched by Pattern D */

/* Pattern F: Standalone h1 with GIF (outside any .text_13 wrapper) */
/* e.g. contact.php, friend.php, news.php — h1 directly contains the GIF */
/* Already covered by Pattern A above */

/* Pattern G: .text_16 headings (forum, news pages) */
/* e.g. forum_uebersicht.html: <div class="text_16"><h1><img>text</h1></div> */
.text_16 > h1::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  background: var(--red);
  border-radius: 1px;
  margin-right: 8px;
  vertical-align: middle;
}

/* Doppeltes Heading in showcompany verhindern: .text_14 > h1 verstecken wenn .company-name vorhanden */
.company-name ~ * .text_14 > h1 {
  display: none;
}

/* Pattern H: .text_14 headings (chart, börse pages) */
/* e.g. boerseplaetze.html: <div class="text_14" style="color: #224477;"><h1>text</h1></div> */

/* Page Layout Wrappers */
.page-mk { max-width:1100px; margin:16px auto; padding:0 16px; }
.page-insider { max-width:1200px; margin:16px auto; padding:0 16px; }

/* Segment Tabs */
.seg-tabs { display:flex; gap:0; border-bottom:2px solid var(--border); margin-bottom:20px; }
.seg-tabs a { padding:9px 18px; font-size:13px; font-weight:600; color:var(--text-sec); border-bottom:2px solid transparent; margin-bottom:-2px; white-space:nowrap; text-decoration:none; }
.seg-tabs a:hover { color:var(--blue-600); text-decoration:none; }
.seg-tabs a.active { color:var(--blue-700); border-bottom-color:var(--blue-600); }

/* MK Info Row */
.mk-info { font-size:12px; color:var(--text-sec); padding:10px 12px; border-top:1px solid var(--border); background:#fafbfc; }

@media (max-width:760px) {
  .seg-tabs { overflow-x:auto; flex-wrap:nowrap; }
  .mk-table { font-size:12px; }
  .mk-bar { display:none; }
}

/* ===================================================================
   30b. Marktkapitalisierung Tabelle — Vorlage: marktkapitalisierung-redesign.html
   =================================================================== */
.mk-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.mk-table th {
  background: var(--blue-50); padding: 10px 12px; text-align: left;
  font-weight: 600; font-size: 13px; color: var(--text-sec);
  border-bottom: 2px solid var(--border); white-space: nowrap;
  cursor: pointer; user-select: none;
}
.mk-table th:hover { color: var(--blue-700); }
.mk-table th .sort-icon { display: inline-block; margin-left: 4px; font-size: 10px; color: #bbb; }
.mk-table th.sort-active { color: var(--blue-700); }
.mk-table th.sort-active .sort-icon { color: var(--blue-600); }
.mk-table th.num, .mk-table td.num { text-align: right; }
.mk-table th.center, .mk-table td.center { text-align: center; }
.mk-table td { padding: 9px 12px; border-bottom: 1px solid #eff1f4; vertical-align: middle; }
.mk-table tbody tr:hover { background: var(--blue-50); }
.mk-table tbody tr:last-child td { border-bottom: none; }
/* Rang-Badge */
.rang { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; font-size: 12px; font-weight: 700; background: var(--blue-100); color: var(--blue-800); }
.rang.top1 { background: #FFD700; color: #333; }
.rang.top2 { background: #C0C0C0; color: #333; }
.rang.top3 { background: #CD7F32; color: #fff; }
/* MK Bar Chart */
.mk-bar-wrap { display: flex; align-items: center; gap: 8px; }
.mk-bar { height: 10px; border-radius: 2px; background: var(--blue-400); flex-shrink: 0; }
.mk-bar-val { font-weight: 600; color: var(--text); font-size: 14px; white-space: nowrap; }
/* Summenzeile */
.mk-table tfoot td { background: var(--blue-50); border-top: 2px solid var(--border); font-weight: 700; padding: 12px; }

/* ===================================================================
   30c. Insider-Transaktionen — Vorlage: insider-redesign.html
   =================================================================== */
/* Filter Row */
.filter-row { display:flex; gap:10px; align-items:center; margin-bottom:16px; flex-wrap:wrap; }
.filter-label { font-size:13px; color:var(--text-sec); }
.filter-select { padding:6px 10px; border:1px solid var(--border); border-radius:4px; font-size:13px; color:var(--text); background:#fff; cursor:pointer; }
.filter-input { padding:6px 10px; border:1px solid var(--border); border-radius:4px; font-size:13px; width:160px; color:var(--text); }
.filter-btn { padding:6px 16px; background:var(--blue-600); color:#fff; border:none; border-radius:4px; font-size:13px; font-weight:600; cursor:pointer; }
.filter-btn:hover { background:var(--blue-700); }
/* KV-Badge (Kauf/Verkauf) */
.kv-badge { display:inline-block; padding:2px 8px; border-radius:3px; font-size:12px; font-weight:700; letter-spacing:0.3px; }
.kv-kauf { background:var(--green-light,#eaf5ee); color:var(--green); }
.kv-verkauf { background:var(--red-light,#faebec); color:var(--red); }
/* Performance Bar */
.perf-bar-wrap { display:flex; align-items:center; gap:6px; min-width:100px; }
.perf-bar { height:8px; border-radius:2px; flex-shrink:0; }
.perf-bar.pos { background:var(--green); }
.perf-bar.neg { background:var(--red); }
/* Insider Table */
.insider-table { width:100%; border-collapse:collapse; font-size:13px; }
.insider-table th { background:var(--blue-50); color:var(--blue-800); padding:8px 10px; text-align:center; font-weight:600; font-size:12px; white-space:nowrap; }
.insider-table th.num, .insider-table td.num { text-align:right; }
.insider-table th.center, .insider-table td.center { text-align:center; }
.insider-table td { padding:9px 10px; border-bottom:1px solid #eff1f4; vertical-align:middle; }
.insider-table tbody tr:nth-child(even) td { background:var(--blue-50); }
.insider-table tbody tr:hover td { background:var(--blue-100); }
.insider-table tbody tr:hover { background:transparent; }
.insider-table tbody tr.kauf { background:#f8fdf9; }
.insider-table tbody tr.kauf:hover { background:#edfaf2; }
.insider-table tbody tr.verkauf { background:#fffafa; }
.insider-table tbody tr.verkauf:hover { background:#ffefef; }
.insider-table tfoot td { background:var(--blue-50); border-top:2px solid var(--border); font-weight:600; padding:9px 10px; }
/* Stats Row */
.stats-row { display:flex; gap:24px; padding:14px 16px; background:#f8fafb; border-top:1px solid var(--border); flex-wrap:wrap; }
.stat-item { font-size:13px; }
.stat-label { color:var(--text-sec); margin-right:4px; }
.stat-value { font-weight:700; }

/* ===================================================================
   31. Homepage: News, Sidebars, Charts (A1–A8)
   =================================================================== */

/* Vorlage: .topflop-row — exakt aus index-redesign-v3.html Zeile 308-318 */
table.top_flop tr {
  border-bottom: 1px solid #e8e8e8;
}
table.top_flop tr:last-child {
  border-bottom: none;
}
table.top_flop td:not(.topflop-sub-header) {
  padding: 6px 0;
  font-size: 14px;
  border: none;
  background: transparent;
}
/* Vorlage: .topflop-name — exakt Zeile 316 */
/* WICHTIG: :link/:visited/:active matchen, weil menu_style.css a.top_flop:link hat */
a.top_flop, a.top_flop:link, a.top_flop:visited, a.top_flop:active,
.top_flop {
  color: var(--text);
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  font-family: inherit;
}
a.top_flop:hover {
  color: var(--blue-600);
  text-decoration: none;
  font-size: 14px;
}
/* Vorlage: .topflop-pct — exakt Zeile 318 */
td.top_flop_green, td.top_flop_red,
.top_flop_green, .top_flop_red,
a.top_flop_green, a.top_flop_green:link, a.top_flop_green:visited, a.top_flop_green:hover,
a.top_flop_red, a.top_flop_red:link, a.top_flop_red:visited, a.top_flop_red:hover {
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  font-family: inherit;
}

/* Vorlage: .card — exakt aus index-redesign-v3.html Zeile 182-189 */
/* Card-Wrapper für Left/Right Sidebar Sektionen */
#left > table[width="160"],
#right > table {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.08);
  padding: 16px;
  margin-bottom: 16px;
  border: 1px solid var(--border);
}

/* A1. News-Bereich (news2017.php Output) */
/* Vorlage: .news-tag — exakt aus index-redesign-v3.html Zeile 470-477 */
a.small-3 h2 {
  font-size: 14px;
  color: inherit;
  font-weight: 700;
  display: inline;
  margin: 0;
}
/* Company-Kurs-Link — Farbe von PHP-Inline-Style (red/green/black) beibehalten */
a.small-3[href*="charts"] {
  font-size: 14px;
}
/* Empfehlungen (Buy/Sell/Hold) — Pill-Badge mit Farbcodierung */
a.news-empfehlung,
a.small-3[href*="analysen"] {
  display: inline-block;
  margin-top: 5px;
  font-size: 14px;
  color: var(--blue-700, #1e4476);
  background: var(--blue-50, #f0f4f9);
  border: 1px solid var(--blue-100, #dbe6f5);
  border-radius: 10px;
  padding: 3px 10px;
  font-weight: normal;
  white-space: nowrap;
  float: right;
  text-decoration: none;
}
/* Buy/Kaufen/Outperform → green badge */
a.news-empfehlung.emp-buy {
  background: #e8f5e9;
  border-color: #a5d6a7;
  color: var(--green);
}
/* Hold/Neutral/Sector Perform → orange badge */
a.news-empfehlung.emp-hold {
  background: #fff8e1;
  border-color: #ffe082;
  color: #e67e22;
}
/* Sell/Underperform/Reduce → red badge */
a.news-empfehlung.emp-sell {
  background: #fce4ec;
  border-color: #ef9a9a;
  color: var(--red);
}
/* Neutral (unbekannte Empfehlung) → default blue */
a.news-empfehlung.emp-neutral {
  color: var(--text);
}
a.news-empfehlung.emp-neutral .emp-value {
  color: var(--blue-600);
  font-weight: 600;
}
/* Vorlage: .news-headline — exakt aus index-redesign-v3.html Zeile 490-496 */
a.large-1 {
  font-size: 16px;
  font-weight: bold;
  color: #222;
  line-height: 1.3;
  text-decoration: none;
}
a.large-1:hover {
  color: var(--blue-600);
  text-decoration: none;
}
/* News-Meldung h3 — erbt Stil vom Eltern-Link */
a.large-1 h3 {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  line-height: inherit;
  margin: 0;
  padding: 0;
  display: inline;
}
div.dottedline {
  border-bottom: 1px solid #e8e8e8;
  margin: 0;
  border-top: none;
  height: 0;
}
/* Vorlage: .news-tag-date — exakt aus index-redesign-v3.html Zeile 486-488 */
/* Vorlage: .news-meta — exakt aus index-redesign-v3.html Zeile 506-509 */
font.small-3 {
  font-size: 13px;
  color: #aaa;
}

/* A3. TOP-FLOP Tabelle: volle Breite statt fixer WIDTH="160" */

/* A3b. MARKT-Sidebar: Grid-Layout — Indexname links, Kurs+Prozent rechts gestapelt */
/* Indexname: linke Spalte, über beide Zeilen */
/* Kurs: rechts oben */
/* Prozent: rechts unten (unter dem Kurs) */

/* A4. Meistgeklickt-Sektion */
td.newsmedia {
  text-align: center;
  line-height: 22px;
}
/* A4b. Meistgeklickt Rang-Nummern — Vorlage: .click-num */
.home-sidebar .card td.newsmedia {
  font-weight: 700;
  color: var(--text-sec);
  text-align: right;
  padding-right: 6px;
  font-size: 13px;
  width: 22px;
  min-width: 22px;
}
/* Meistgeklickt: vertikale Zentrierung aller Zellen */
.home-sidebar .card td {
  vertical-align: middle;
}

/* A8. Chart-Cards — Index Intraday auf Homepage */
/* Vorlage: .chart-index-name — exakt aus index-redesign-v3.html Zeile 352-356 */
.chart-card .text_14 {
  font-size: 13px;
  color: var(--blue-500);
  font-weight: 600;
  padding-left: 0;
}
/* Vorlage: .chart-value — exakt aus index-redesign-v3.html Zeile 358-363 */
.chart-card .text_14 b font,
.chart-card .text_14 b font[color] {
  font-size: 22px;
}
/* Hoch/Tief + Kurs: volle Card-Breite nutzen */
.chart-card .text_9 td {
  padding: 0 2px;
  line-height: 1.2;
}
/* Vorlage: .chart-meta — Hoch/Tief kleiner */
.chart-card .text_9,
.chart-card .text_9 td {
  font-size: 10px;
  color: #aaa;
}
/* Vorlage: .chart-area — index intraday image responsive */
.chart-card img[src*="intraday_gif"] {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
  margin-top: 8px;
}
/* .text_14 global (außerhalb Chart-Bereich) */
.text_14 {
  font-size: 14px;
  font-weight: 700;
}
/* Showcompany/Dividenden H1: card-title Stil — exakt aus index-redesign-v3.html .card-title */
.text_14 h1 {
  font-size: 20px;
  font-weight: 700;
  color: var(--blue-800);
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--blue-100);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* ===================================================================
   32. Kursliste (B1–B8)
   =================================================================== */

/* B1. Summary-Arrows Pill — Vorlage: .summary-arrows aus prime-market-redesign.html Zeile 654-677 */
.summary-arrows {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: var(--blue-50);
  border-radius: 6px;
  border: 1px solid var(--border);
  padding: 6px 14px;
  font-weight: 600;
  font-size: 14px;
}
/* B1c. Summary-Arrows: Unicode arrow colors — Vorlage: .arrow-up/.arrow-flat/.arrow-down */
.summary-arrows .arrow-up {
  color: var(--green);
}
.summary-arrows .arrow-flat {
  color: var(--text-sec);
}
.summary-arrows .arrow-down {
  color: var(--red);
}

/* B3. Icon-Badges — Replace GIF images with CSS badges */
/* Hide original GIF images for Ch, T+S, N */
/* CSS badges on the parent <a> links */

/* T+S badge (Times & Sales / Intraday) */

/* N badge (News) */

a[href*="newstoday"]:has(> img[src*="/img/N.gif"]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 18px;
  border-radius: 3px;
  font-size: 9px;
  font-weight: bold;
  text-decoration: none;
  color: #fff;
  background: #e67e22;
  vertical-align: middle;
  margin: 1px;
  line-height: 18px;
}

a[href*="newstoday"]:has(> img[src*="/img/N.gif"])::after {
  content: 'N';
  font-size: 9px;
}

a[href*="newstoday"]:has(> img[src*="/img/N.gif"]):hover {
  background: #d35400;
}

/* IR badge — keep visible but style */

/* B4. Mini-Intraday-Charts */

/* B6. Legacy-Spacer in Kurslisten */
td.tabelle {
  display: none;
}
/* B6b. Spacer-Spalte in Datentabelle (kein class="tabelle" gesetzt) */
table[width="895"] > tbody > tr > th[width="20"]:first-child,
table[width="895"] > tbody > tr > td[bgcolor="white" i]:first-child:not([class]) {
  display: none;
}
/* B6c. 5px Spacer-TDs zwischen Top3/Flop3 */
table[cellspacing="2"][cellpadding="1"] > tbody > tr > td[width="5"] {
  display: none;
}

/* B1b. Kursliste/Section Heading: flex-wrap so title + arrows separate lines */
/* Red square before heading — matches .card-title::before */
/* High specificity: wins over universal h1:has() rule from C0.6 */
/* Hide <br> inside heading */
/* Marketinfo Card: Wraps the market description text (ATX, Prime Market, etc.) */
.marketinfo-card {
  margin-top: 16px;
}
.marketinfo-card .title {
  padding-left: 0;
  padding-bottom: 0;
}
.marketinfo-card .title h2 {
  font-size: 20px;
  font-weight: 700;
  color: var(--blue-800);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--blue-100);
}
/* Red square before marketinfo heading — matches .card-title::before */
.marketinfo-card .title h2::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  background: var(--red);
  border-radius: 1px;
  flex-shrink: 0;
}
.marketinfo-card .content-inner {
  padding-left: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--text);
}
/* Sub-headings (Zusatzanforderungen, Folgepflichten) */
.marketinfo-card .content-inner b {
  display: block;
  font-size: 17px;
  font-weight: 700;
  color: var(--blue-800);
  margin-top: 16px;
  margin-bottom: 8px;
}
/* First bold "prime market:" stays inline */
.marketinfo-card .content-inner b:first-child {
  display: inline;
  font-size: inherit;
  color: inherit;
  margin: 0;
}
/* Bullet list with red squares */
.marketinfo-card .content-inner ul {
  list-style-type: none;
  padding-left: 0;
  margin: 8px 0;
}
.marketinfo-card .content-inner ul li {
  padding: 6px 0;
  padding-left: 20px;
  position: relative;
  line-height: 1.6;
}
.marketinfo-card .content-inner ul li::before {
  content: '■';
  color: var(--red);
  position: absolute;
  left: 0;
  top: 6px;
  font-size: 10px;
}
/* Hide restyled headline_11.gif inside marketinfo — ::before already provides the bullet */
/* Links in marketinfo */
.marketinfo-card .content-inner a {
  color: var(--blue-600);
}
.marketinfo-card .content-inner a:hover {
  color: var(--blue-500);
}

/* B0. Outer Card Frame — Vorlage: .card aus prime-market-redesign.html Zeile 175-182 */
.kursliste-card {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.08);
  padding: 16px;
  margin-bottom: 16px;
  border: 1px solid var(--border);
}
/* Kursliste: leere Headings werden via PHP if(!empty($titel)) verhindert */
/* When inside card, data table doesn't need its own card styling */
.kursliste-card table:has(> tbody > tr > th.kursliste_ueberschrift0),
.kursliste-card table:has(> tbody > tr > td.kursliste_ueberschrift0) {
  box-shadow: none;
  border: none;
  border-radius: 0;
}

/* Summary-Arrows: GIFs hidden (see B1c above), replaced via PHP change */

/* B7. Legende GIF-Icons */

/* B2. Top3/Flop3 als Cards — Vorlage: .topflop-inline .topflop-block exakt aus prime-market-redesign.html */
/* Top3/Flop3 Container: Flex-Layout — Vorlage: .topflop-inline Zeile 682-686 */
table[cellspacing="2"][cellpadding="1"] {
  display: flex;
  gap: 20px;
  margin-bottom: 16px;
  border: none;
  align-items: stretch;
}
table[cellspacing="2"][cellpadding="1"] > tbody {
  display: contents;
}
table[cellspacing="2"][cellpadding="1"] > tbody > tr {
  display: contents;
}
/* Jedes Top3/Flop3-Feld als Card — Vorlage: .topflop-block Zeile 688-695 */
table[cellspacing="2"][cellpadding="1"] > tbody > tr > td[valign="top"] {
  flex: 1;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.08);
  border: 1px solid var(--border);
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
}
/* Top3/Flop3 Firmennamen: kein Umbruch */
table[cellspacing="2"][cellpadding="1"] tr.top_flop td {
  white-space: nowrap;
  padding: 4px 8px;
}
/* Leere/nowrap TDs ausblenden */
table[cellspacing="2"][cellpadding="1"] > tbody > tr > td[nowrap]:not([valign]) {
  display: none;
}
/* Top3/Flop3 Header — Vorlage: .topflop-block-title Zeile 697-711 */
.topflop-header-top, .topflop-header-flop {
  font-size: 16px;
  font-weight: 700;
  padding: 0 0 4px 0;
  margin-bottom: 4px;
  border-bottom: 2px solid var(--blue-100);
  background-image: none;
  background: transparent;
  height: auto;
}
.topflop-header-top {
  color: var(--green);
}
.topflop-header-flop {
  color: var(--red);
}
/* Top3/Flop3: Preis ausblenden, nur Prozent zeigen — Vorlage: .topflop-pct Zeile 459 */
tr.top_flop a.top_flop font b,
tr.top_flop a.top_flop font[color] b {
  display: none;
}
/* Top3/Flop3 innere Header-Table: kein eigenes Card-Styling */

/* B5. Kursliste Datentabelle Header — Vorlage: .ap-table--detail thead th */
.kursliste_ueberschrift0 {
  background: var(--blue-50);
  color: var(--text);
  font-weight: 600;
  font-size: 13px;
  padding: 10px 10px;
  border-bottom: 2px solid var(--border);
  letter-spacing: 0.3px;
  white-space: nowrap;
}
/* Sortierbare Spaltenheader */
th.sortable {
  cursor: pointer;
  user-select: none;
  transition: background 0.15s ease;
}
th.sortable:hover {
  background: var(--blue-100, #dbe6f5);
}
/* Ecken-Radius für Tabellen-Header: erste und letzte TH */
tr[bgcolor] th.kursliste_ueberschrift0:first-of-type {
  border-radius: 6px 0 0 0;
}
tr[bgcolor] th.kursliste_ueberschrift0:last-of-type {
  border-radius: 0 6px 0 0;
}
/* Header-Zeile: bgcolor-Override auf blue-50 */
tr[bgcolor] th.kursliste_ueberschrift0,
tr[bgcolor] th[width="20"] {
  background: var(--blue-50);
}

/* Kursliste Datentabelle Zellen — Vorlage: .ap-table--detail td */
td.kursliste_text {
  padding: 10px 10px;
  border-bottom: 1px solid #e8e8e8;
  font-size: 14px;
  vertical-align: middle;
}
td.kursliste {
  padding: 10px 10px;
  border-bottom: 1px solid #e8e8e8;
  vertical-align: middle;
}

/* Kursliste: Firmenname — Vorlage: .cell-main */
td.kursliste a.text_14,
td.kursliste a[href*="showcompany"] {
  font-weight: 600;
  color: var(--text);
  text-decoration: none;
}
td.kursliste a.text_14:hover,
td.kursliste a[href*="showcompany"]:hover {
  color: var(--blue-600);
}

/* Kursliste: Timestamp — Vorlage: .cell-sub */
td.kursliste font.text_11,
td.kursliste .text_11 {
  font-size: 13px;
  color: var(--text-sec);
}

/* Kursliste: Alternating rows — Vorlage: .ap-table--detail tbody tr:nth-child(odd) */
table:has(> tbody > tr > td.kursliste_text) > tbody > tr:nth-child(odd) > td.kursliste_text,
table:has(> tbody > tr > td.kursliste_text) > tbody > tr:nth-child(odd) > td.kursliste {
  background: #fafbfc;
}

/* Kursliste: Row-Hover — Vorlage: .ap-table--detail tbody tr:hover */
table:has(> tbody > tr > td.kursliste_text) > tbody > tr:hover > td.kursliste_text,
table:has(> tbody > tr > td.kursliste_text) > tbody > tr:hover > td.kursliste {
  background: var(--blue-50);
}

/* B2b. Kursliste Layout: Top3/Flop3 links, ATX-Chart rechts */
/* Banner-Spalte ausblenden — Inhalt nach links schieben */
.page-home table[width="895"]:first-of-type > tbody > tr > td:nth-child(2) {
  display: none;
}
/* Container-Zelle als Flex */
.page-home table[width="895"]:first-of-type > tbody > tr > td:nth-child(3) {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: stretch;
  justify-content: flex-start;
  padding-left: 0;
}
/* Heading-Tabelle ganz oben (volle Breite) */
.page-home table[width="895"]:first-of-type > tbody > tr > td:nth-child(3) > table[cellspacing="1"] {
  order: 1;
  flex-basis: 100%;
  width: 100%;
}
/* Top3/Flop3 darunter (links, breiter) */
.page-home table[width="895"]:first-of-type > tbody > tr > td:nth-child(3) > table[cellspacing="2"] {
  order: 2;
  flex: 1 1 60%;
  min-width: 0;
  align-self: stretch;
}
/* Chart-Tabelle daneben (rechts) — nur ATX */
.page-home table[width="895"]:first-of-type > tbody > tr > td:nth-child(3) > table[cellspacing="0"] {
  order: 3;
  flex: 0 0 270px;
  align-self: stretch;
}

/* Chart-Zellen Card-Styling */
.page-home table[width="895"]:first-of-type td > table[cellspacing="0"][cellpadding="0"]:first-of-type > tbody > tr > td[align="center"] {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.08);
  border: 1px solid var(--border);
  padding: 8px;
  vertical-align: top;
  height: 100%;
  box-sizing: border-box;
}
/* Chart-Outer-Table: stretch to fill flex item */
.page-home table[width="895"]:first-of-type > tbody > tr > td:nth-child(3) > table[cellspacing="0"] > tbody,
.page-home table[width="895"]:first-of-type > tbody > tr > td:nth-child(3) > table[cellspacing="0"] > tbody > tr,
.page-home table[width="895"]:first-of-type > tbody > tr > td:nth-child(3) > table[cellspacing="0"] > tbody > tr > td {
  height: 100%;
}
/* Chart-Container Tabelle: Flex-Layout */
.page-home table[width="895"]:first-of-type td > table[cellspacing="0"][cellpadding="0"]:first-of-type {
  display: flex;
  gap: 20px;
}
.page-home table[width="895"]:first-of-type td > table[cellspacing="0"][cellpadding="0"]:first-of-type > tbody {
  display: contents;
}
.page-home table[width="895"]:first-of-type td > table[cellspacing="0"][cellpadding="0"]:first-of-type > tbody > tr {
  display: contents;
}
/* IATX und weitere Chart-Zellen ausblenden — nur ATX (erste align=center) behalten */
.page-home table[width="895"]:first-of-type td > table[cellspacing="0"][cellpadding="0"]:first-of-type > tbody > tr > td[align="center"] ~ td[align="center"] {
  display: none;
}
/* Leere Chart-Zellen ausblenden */
.page-home table[width="895"]:first-of-type td > table[cellspacing="0"][cellpadding="0"]:first-of-type > tbody > tr > td[align="center"]:empty {
  display: none;
}

/* Kursliste: Disclaimer-Text unter Legende — NICHT ausblenden, sondern stylen */
div.text_12 {
  font-size: 12px;
  color: var(--text-sec);
  line-height: 1.6;
  padding: 8px 16px;
}

/* Kursliste: Gesamte Datentabelle Card-Wrapper (TH oder TD Header) */
table:has(> tbody > tr > th.kursliste_ueberschrift0),
table:has(> tbody > tr > td.kursliste_ueberschrift0) {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.08);
  border: 1px solid var(--border);
  overflow: hidden;
  width: 100%;
  max-width: 100%;
}

/* kursliste.php: TD-Header gleich wie TH-Header stylen */
TD.kursliste_ueberschrift0 {
  background: var(--blue-50);
  color: var(--text);
  font-weight: 600;
  font-size: 13px;
  padding: 10px 10px;
  border-bottom: 2px solid var(--border);
  letter-spacing: 0.3px;
  white-space: nowrap;
  text-align: left;
}
/* Erste TD (Spacer) in Header-Zeile ausblenden */
table:has(td.kursliste_ueberschrift0) > tbody > tr > td[width="20"][bgcolor="white" i]:first-child {
  display: none;
}

/* kursliste.php: Heading "IHRE KURSLISTE" als card-title */

table[width="700"] .text_13 {
  font-size: 20px;
  font-weight: 700;
  color: var(--blue-800);
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--blue-100);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* kursliste.php: "Titel hinzufügen" Section als Card */
table[width="700"]:has(td.text_14 select) {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.08);
  border: 1px solid var(--border);
  padding: 12px;
  margin-bottom: 16px;
}
table[width="700"]:has(td.text_14 select) td.text_14 {
  font-size: 14px;
  line-height: 2;
}

/* kursliste.php: Bookmark Section Card */
table[width="700"]:has(#bookmarkme) {
  background: var(--blue-50);
  border-radius: 8px;
  border: 1px solid var(--border);
  padding: 12px 16px;
  margin-bottom: 16px;
}
table[width="700"]:has(#bookmarkme) td.t {
  font-size: 13px;
  color: var(--text-sec);
}

/* B7. Legend Card — Vorlage: .legend-section aus prime-market-redesign.html Zeile 756-788 */
.legend-card {
  margin-top: 16px;
}
.legend-section {
  border-top: none;
  padding-top: 0;
}
.legend-list {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6px 12px;
  align-items: center;
  font-size: 13px;
  color: var(--text-sec);
}
.legend-list .legend-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}
.legend-group-title {
  grid-column: 1 / -1;
  font-weight: 600;
  color: var(--text);
  margin-top: 10px;
  margin-bottom: 2px;
  font-size: 13px;
}
/* Legend badge styles */
.legend-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  font-weight: bold;
  text-decoration: none;
  color: #fff;
}
.legend-badge-ts {
  width: 28px;
  height: 20px;
  font-size: 10px;
  background: var(--green);
}
.legend-badge-n {
  width: 22px;
  height: 18px;
  font-size: 9px;
  background: #e67e22;
}
.legend-badge-ch {
  width: 22px;
  height: 18px;
  font-size: 11px;
  background: var(--blue-500);
}
.legend-trend-arrow {
  display: inline-block;
  width: 18px;
  height: 14px;
  border-radius: 2px;
  text-align: center;
  font-size: 9px;
  line-height: 14px;
  color: #fff;
}

/* kursliste.php: Legende-Heading als card-title (legacy fallback) */

/* kursliste.php: Legende Tabellen-Layout (legacy fallback) */

/* kursliste.php: Alle table[width="850"] responsive */
table[width="850"] {
  width: 100%;
  max-width: 100%;
}
/* kursliste.php: table[width="800"] responsive */
table[width="800"] {
  width: 100%;
  max-width: 100%;
}
/* kursliste.php: table[width="700"] responsive */
table[width="700"] {
  width: 100%;
  max-width: 100%;
}

/* kursliste.php: Spacer-TDs in allen Tabellen ausblenden */
table[width="700"] > tbody > tr > td.tabelle,
table[width="850"] > tbody > tr > td.tabelle,
table[width="800"] > tbody > tr > td.tabelle {
  display: none;
}

/* ===================================================================
   33. showcompany (C1–C5)
   =================================================================== */

/* C3. Wiki-Content */

/* C5. Chart-Images */
img[src*="chartcheck"] {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
}

/* ===================================================================
   34. Statische Content-Seiten (D1–D3)
   =================================================================== */

/* D1. Content-Typografie — Vorlage: .card-title exakt aus index-redesign-v3.html Zeile 194-206 */
/* NUR div.text_13 (Heading-Container), NICHT td.text_13 (Tabellen-Zellen) */
div.text_13, div#text_13 {
  font-size: 20px;
  font-weight: 700;
  color: var(--blue-800);
  line-height: 1.3;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--blue-100);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  display: flex;
  align-items: center;
  gap: 8px;
}
div.text_13 h1, div#text_13 h1 {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  display: inline;
  margin: 0;
}
.text_12 {
  font-size: 13px;
  color: var(--text-sec);
  line-height: 1.6;
}
.text_11 {
  font-size: 12px;
  color: var(--text-sec);
}

/* ===================================================================
   35. Forum (F1–F4)
   =================================================================== */

/* F1. Forum-Übersicht */
.text_16 {
  font-size: 22px;
  font-weight: 700;
  color: var(--blue-800);
}

/* F2. Forum: Card-Design für alle Tabellen */
/* Forum-Wrapper: alle Tabellen in show_topics bekommen Card-Stil */
.content-inner table[cellpadding="5"],
.content table[cellpadding="5"] {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.08);
  border: 1px solid var(--border);
  margin-bottom: 16px;
  overflow: hidden;
}

/* Forum Topic-Liste Header */
tr.dcheading {
  background: var(--blue-50);
}
tr.dcheading td {
  padding: 10px 14px;
  border-bottom: 2px solid var(--border);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--blue-800);
}

/* Forum Topic-Zeilen */
td.dcdate {
  font-size: 12px;
  color: var(--text-sec);
  white-space: nowrap;
}
td.dcpagelink, td.dcpagelink2,
tr.dcpagelink {
  padding: 8px 14px;
  font-size: 13px;
  background: transparent;  /* Überschreibt main.css: .dcpagelink { background: #e0e0e0 } */
}
/* TD.dclite die Pagination enthält: kein Hover-Grau (#f0f4f9) durchscheinen lassen */
td.dclite:has(> table.dcborder:has(td.dcpagelink)),
td.dclite:has(> table.dcborder:has(td.dcpagelink2)) {
  background: transparent;
}
td.dcpagelink a, td.dcpagelink2 a {
  color: var(--blue-600);
}
/* Karteikarten-Wrapper um Pagination entfernen — äußere UND innere Tabelle
   Hintergrund bleibt WEISS (nicht transparent!) damit TR.dclite-Hover-Grau nicht durchscheint */
table.dcborder:has(td.dcpagelink),
table.dcborder:has(td.dcpagelink2),
table.dcborder:has(td.dcpagelink) table,
table.dcborder:has(td.dcpagelink2) table {
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: #fff;
  margin-bottom: 0;
}
table.dcborder:has(td.dcpagelink) > tbody > tr > td,
table.dcborder:has(td.dcpagelink2) > tbody > tr > td {
  padding: 0;
}
/* Hover-Effekt auf Pagination-Zeilen unterdrücken —
   TR.dclite ist die ÄUSSERE Zeile, die TABLE.dcborder mit Pagination enthält */
table.dcborder:has(td.dcpagelink) tr:hover td,
table.dcborder:has(td.dcpagelink2) tr:hover td,
tr.dclite:has(td.dcpagelink):hover td,
tr.dclite:has(td.dcpagelink2):hover td,
tr:has(table.dcborder > tbody > tr > td > table > tbody > tr.dcpagelink):hover td {
  background: transparent;
}

/* Forum Breadcrumb */
td.dcbottomleft {
  font-size: 13px;
  color: var(--text-sec);
  padding: 10px 14px;
}
td.dcbottomleft a {
  color: var(--blue-600);
}

/* Forum Topic-Rows: abgerundete Ecken, Hover */
.content-inner table[cellpadding="5"] td {
  padding: 10px 14px;
  border-bottom: 1px solid #eee;
  line-height: 1.5;
}
.content-inner table[cellpadding="5"] tr:hover td {
  background: var(--blue-50);
}
/* Letzte Zeile: kein Border */
.content-inner table[cellpadding="5"] tr:last-child td {
  border-bottom: none;
}

/* Forum Icons: Navigation-Bar */
.content-inner table[cellpadding="5"] img {
  vertical-align: middle;
}

/* F3. Forum-Posting */
td.dcmisc {
  font-size: 13px;
  color: var(--text-sec);
}

/* Forum: Links in Topics */
.content-inner table[cellpadding="5"] a {
  color: var(--blue-600);
  text-decoration: none;
}
.content-inner table[cellpadding="5"] a:hover {
  color: var(--blue-500);
  text-decoration: underline;
}

/* ===================================================================
   36. Footer-Fixes (I0.1–I0.3)
   =================================================================== */

/* I0.1 "Diese Seite weiter empfehlen" — Design 2027 hell */
.footer-inner .text_16 a.large-1 {
  color: #9ca3af;
  font-size: 13px;
}
.footer-inner .text_16 a.large-1:hover {
  color: var(--blue-600);
}
.footer-inner .text_16 span[class*="glyphicon"] {
  color: #9ca3af;
  font-size: 12px;
}
.footer-inner .text_16 {
  font-size: 13px;
  font-weight: inherit;
  color: #9ca3af;
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 12px;
  margin-bottom: 16px;
}

/* I0.2 Footer-Spalten: 10px-Spacer ausblenden */

/* I0.3 Legal-Streifen: helles Grau (Design 2027) */
.footer-legal-bar {
  width: 100%;
  background: #ecedf0;
  color: #6b7280;
  text-align: center;
  font-size: 12px;
  line-height: 1.6;
  border-top: 1px solid #e0e2e6;
}
.footer-legal-bar a {
  color: #6b7280;
  text-decoration: none;
}
.footer-legal-bar a:hover {
  color: var(--blue-600);
  text-decoration: none;
}
/* Top-Reihe (Impressum, AGB etc.) etwas dunkler + bold */
.footer-legal-bar b a {
  color: var(--text-sec);
}
.footer-legal-bar b a:hover {
  color: var(--blue-600);
}
/* Legal-inner */
#redbottom {
  max-width: 1280px;
  margin: 0 auto;
  padding: 14px 16px;
  float: none;
  width: auto;
}

/* I0.4 Copyright-Text: dezent, noch eine Stufe heller */
.footer-copyright {
  width: 100%;
  background: #e5e7eb;
  color: #9ca3af;
  font-size: 11px;
  line-height: 1.5;
  padding: 10px 16px 16px;
  text-align: center;
  border-top: 1px solid #dcdfe4;
}
.footer-copyright a, .footer-copyright a.text_11 {
  color: #9ca3af;
}
.footer-copyright a:hover, .footer-copyright a.text_11:hover {
  color: var(--blue-600);
}
.footer .text_11, .footer a.text_11 {
  color: rgba(255,255,255,0.5);
}

/* Vorlage: Footer responsive — exakt aus index-redesign-v3.html Zeile 884-889 */
@media (max-width: 960px) {
  .footer-columns {
    flex-wrap: wrap;
  }
  #leftbottom {
    min-width: 140px;
  }
}
/* Vorlage: exakt aus prime-market-redesign.html @media 720px */
@media (max-width: 720px) {
  .footer-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
  }
}
@media (max-width: 480px) {
  .footer-columns {
    grid-template-columns: 1fr;
  }
}

/* ===================================================================
   37. Forum-Detailseiten (show_mesg, show_mesgs)
   =================================================================== */

/* Forum-Message Header (Autor, Titel, Datum) — dezent statt dunkelblau */
.message_head {
  background: #edf2f7;
  color: #1a1a1a;
  padding: 12px 16px;
  border-radius: 8px 8px 0 0;
  border-bottom: 2px solid var(--blue-200, #b0cde8);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.message_head .div_left {
  flex: 1;
}
.message_head .div_right {
  text-align: right;
  font-size: 13px;
}
.message_head a,
.message_head .div_right a {
  color: var(--blue-700, #1a4a7a);
}
.message_head a:hover {
  color: var(--blue-500);
}
.message_head .author_div {
  font-size: 13px;
  margin-top: 4px;
  color: #555;
}
/* Beitrag bewerten — auffällig inline */
.bewerten-inline {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 8px;
  padding: 2px 8px;
  background: var(--blue-50, #f0f4f9);
  border: 1px solid var(--blue-200, #b0cde8);
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  color: var(--blue-700, #1a4a7a);
  vertical-align: middle;
}
.bewerten-inline img {
  width: 18px;
  height: 18px;
  vertical-align: middle;
  opacity: 0.85;
  transition: opacity 0.15s, transform 0.15s;
}
.bewerten-inline a:hover img {
  opacity: 1;
  transform: scale(1.15);
}
.message_head .author_div a {
  color: #333;
  font-weight: 600;
}
.message_head .subject_div {
  font-size: 16px;
  font-weight: 700;
  color: #1a1a1a;
}
.message_head .subject_div a {
  color: #1a1a1a;
}
.message_head .subject_div strong {
  color: #1a1a1a;
}
.message_head .dcdate,
.message_head .subject_div .dcdate,
.message_head .author_div .dcdate {
  font-size: 12px;
  font-weight: 400;
  color: #666;
}
/* Alle Elemente im Header: dunkler Text für Kontrast — #message prefix für Spezifität gegen modern.css */
#message .message_head,
#message .message_head *,
#message .message_head a,
#message .message_head a:visited,
#message .message_head .dcdate {
  color: #333;
}
#message .message_head .subject_div,
#message .message_head .subject_div strong,
#message .message_head .subject_div b {
  color: #1a1a1a;
}
#message .message_head a {
  color: var(--blue-700, #1a4a7a);
}
#message .message_head .author_div {
  color: #555;
}
#message .message_head .dcdate {
  color: #666;
}
.message_head img {
  vertical-align: middle;
}

/* Forum: Legacy margin-top:-10px aus forum/jscss/a-p/menu.css aufheben */
#content {
  margin-top: 12px;
}

/* Forum-Tabellen als Cards (nur wenn NICHT bereits in .card) */
table.dcborder, table.dcbordernew {
  border: 1px solid var(--border, #e0e0e0);
  border-radius: 8px;
  overflow: hidden;
  width: 100%;
  margin-bottom: 12px;
  background: #fff;
  box-shadow: 0 1px 6px rgba(0,0,0,0.08);
}
/* Leere dcborder-Tabellen verstecken (Forum-Artefakt vor Forum-Content)
   :not(:only-child) → nur wenn es Geschwister gibt (sonst ist es der Hauptinhalt, z.B. show_mesg) */
#content > table.dcborder:first-child:not(:only-child) {
  display: none;
}
/* Card-in-Card verhindern: dcborder innerhalb .card → kein eigenes Card-Styling */
.card table.dcborder,
.card table.dcbordernew {
  border: none;
  border-radius: 0;
  box-shadow: none;
  margin-bottom: 0;
  background: transparent;
}
table.dcbordernew {
  border-color: var(--blue-400, #5a9fd4);
}
td.dclite {
  padding: 14px 16px;
  line-height: 1.6;
  font-size: 14px;
  color: var(--text, #1a1a1a);
  background: var(--blue-50);
  border-left: 3px solid var(--blue-300);
  border-radius: 0 6px 6px 0;
}
td.dclite blockquote {
  margin: 0;
  padding: 0;
}
td.dclite ul.dc {
  padding-left: 28px;
  margin: 4px 0;
}
td.dclite ul.dc li.dc {
  padding-left: 4px;
}

/* Forum-Message Footer (Antworten, Zitat etc.) */
.message_bottom {
  background: var(--blue-50, #f0f4f8);
  padding: 8px 16px;
  border-top: 1px solid var(--border, #e0e0e0);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
}
.message_bottom a {
  color: var(--blue-600, #2867b8);
  font-weight: 600;
}
.message_bottom a:hover {
  color: var(--blue-800, #1a4a7a);
}
.message_bottom .important {
  font-weight: 600;
}

/* Forum allgemein: dcmenu, dcpagelink, thread-tree — dezent */
tr.dcmenu td, td.dcmenu {
  background: var(--blue-50, #f0f4f8);
  color: var(--text);
  padding: 8px 12px;
  font-size: 13px;
  border-bottom: 1px solid var(--border);
}
tr.dcmenu a, td.dcmenu a {
  color: var(--blue-600);
}
tr.dcmenu a:hover, td.dcmenu a:hover {
  color: var(--blue-500);
}

/* selected_row global reset: kein Gelb (überschreibt message_style.css / modern.css) */
.selected_row,
tr.selected_row,
tr.selected_row td {
  background-color: transparent;
  background: transparent;
}

/* Thread-Baum (table.dctoc): Gelb-Markierung NUR hier */
table.dctoc tr.selected_row.current_row td {
  background: #fff3cc;
  font-weight: 700;
  border-top: 1px solid #e0c860;
  border-bottom: 1px solid #e0c860;
}
table.dctoc tr.selected_row.current_row td:first-child {
  border-left: 3px solid #d4a800;
}
table.dctoc tr.selected_row td {
  background: #fff3cc;
  font-weight: 600;
}
table.dctoc tr.selected_row.path_row td {
  background: var(--blue-50, #f0f4f8);
}

/* Thread-Tabelle: kompakte Darstellung */
table.dctoc,
table.dctoc table {
  border-collapse: collapse;
}
table.dctoc tr td {
  padding: 2px 6px;
  line-height: 1.3;
  font-size: 13px;
  white-space: nowrap;
}
table.dctoc tr td:first-child {
  white-space: normal;
}
table.dctoc tr.dcheading {
  background: var(--blue-50, #f0f4fa);
}
table.dctoc .dcheading td,
table.dctoc td.dcheading {
  padding: 6px 8px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: var(--text-sec, #5a6272);
  border-bottom: 2px solid var(--border, #dde3ec);
}
table.dctoc .dcmessageTreeImage {
  width: 16px;
  height: 16px;
  vertical-align: middle;
}
table.dctoc .dcmessageTreetocsubject,
table.dctoc .dctocsubject {
  font-size: 13px;
}
table.dctoc .dcmessageTreetocmisc,
table.dctoc .dctocmisc {
  font-size: 12px;
}
table.dctoc img[src*="reply_message"],
table.dctoc img[src*="icon_general"] {
  width: 14px;
  height: 14px;
  vertical-align: middle;
}
td.dcdark {
  background: var(--blue-50, #f0f4f8);
}
/* Reply-Indent: dezente Linie statt gelber Strich */
td[width="10"],
td.dcdark[width="10"],
td.dclite[width="10"] {
  border-left: none;
  background: transparent;
  width: 10px;
  padding: 0;
}

/* Forum Breadcrumb und Icons */
#messages {
  margin: 16px 0;
}

/* Forum-Rating-Sterne */
td.dcinfo {
  font-size: 13px;
  color: var(--text-sec, #666);
  padding: 4px 8px;
}

/* ============================================================
   TOPFLOP PAGE — Card Layout, Larger Fonts, Modern Nav
   ============================================================ */

/* Breadcrumb row */
.top_right {
  font-size: 13px;
  color: var(--text-sec, #666);
  padding: 8px 0 4px 5px;
}
.top_right a.top_right {
  color: var(--blue-600, #2867b8);
  text-decoration: none;
}
.top_right a.top_right:hover {
  text-decoration: underline;
}

/* 3-column container: card layout — only cells with actual content (topflop tables) */
table[cellpadding="10"] {
  border-spacing: 12px 0;
}
table[cellpadding="10"] > tbody > tr > td[valign="top"]:not(:empty) {
  background: #fff;
  border: 1px solid var(--border, #e0e0e0);
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  padding: 0;
  vertical-align: top;
}
/* Empty spacer TDs between column pairs — no styling */
table[cellpadding="10"] > tbody > tr > td[valign="top"]:empty {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0 4px;
  width: 8px;
}

/* Top/Flop/Umsatz header bars */
.topflop-header-top,
.topflop-header-flop {
  background-image: none;
  background-color: transparent;
  padding: 12px 14px;
  font-size: 18px;
  height: auto;
}
.topflop-header-top b {
  color: var(--green, #2e7d32);
  font-size: 18px;
}
.topflop-header-flop b {
  color: var(--red, #c62828);
  font-size: 18px;
}
/* Umsatz header — has <i> inside */
.topflop-header-top i,
.topflop-header-flop i {
  font-weight: 400;
  font-size: 14px;
  color: var(--text-sec, #666);
}

/* Top/Flop data rows */
tr.top_flop td {
  padding: 7px 14px;
  font-size: 15px;
  border-bottom: 1px solid var(--border, #e0e0e0);
}
tr.top_flop:last-child td {
  border-bottom: none;
}
a.top_flop,
td.top_flop a {
  font-size: 15px;
  text-decoration: none;
}
a.kursliste {
  font-size: 15px;
  font-weight: 600;
  color: var(--text, #1a1a1a);
  text-decoration: none;
}
a.kursliste:hover {
  color: var(--blue-600, #2867b8);
}
/* Price/percentage in topflop rows — already uses <font color=green/red> */
tr.top_flop font[color] b {
  font-size: 15px;
}

/* Bottom navigation bar */
.topflop-nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 16px;
  margin: 8px 0 16px;
  background: var(--blue-50, #f0f4f8);
  border-radius: 8px;
  border: 1px solid var(--border, #e0e0e0);
}
.topflop-nav a {
  display: inline-block;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
  color: var(--blue-600, #2867b8);
  background: #fff;
  border: 1px solid var(--border, #e0e0e0);
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
}
.topflop-nav a:hover {
  background: var(--blue-600, #2867b8);
  color: #fff;
  border-color: var(--blue-600, #2867b8);
}

/* ============================================================
   PERFORMANCE PAGE — h1 in table cells, compact spacing
   ============================================================ */
/* h1 inside table heading cells: tighter margin */
table[cellpadding="10"] td.text_12 h1,
table[cellpadding="10"] td h1 {
  margin: 0 0 4px;
  font-size: 20px;
}
/* Date line under heading */
table[cellpadding="10"] td.text_12 font[size="-2"] {
  font-size: 12px;
  color: var(--text-sec, #666);
}
/* Empty spacer TDs between left/right heading pairs */
table[cellpadding="10"] > tbody > tr > td[valign="top"]:empty {
  padding: 0 8px;
  width: 20px;
}

/* ============================================================
   SHOWSIGNALE — Kauf/Verkauf Signal Highlighting
   ============================================================ */
/* Signal table base */
table.tablestandard {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 13px;
}
/* Header row */
thead.tablehead th {
  background: var(--blue-50, #f0f4fa);
  color: var(--blue-800, #15335b);
  font-weight: 600;
  font-size: 13px;
  padding: 10px 12px;
  text-align: center;
  border-bottom: 2px solid var(--blue-200, #c5d5e8);
}
thead.tablehead th a {
  color: var(--blue-800, #15335b);
  text-decoration: none;
}
thead.tablehead th a:hover {
  color: var(--blue-600, #235495);
  text-decoration: underline;
}
/* Data rows */
tbody.tablebody tr {
  border-bottom: 1px solid var(--border, #e0e0e0);
}
tbody.tablebody tr:nth-child(even) {
  background: var(--blue-50, #f0f4f8);
}
tbody.tablebody td {
  padding: 8px 10px;
  text-align: center;
  vertical-align: middle;
  font-size: 13px;
}
td.tableuname {
  text-align: left;
  font-weight: 600;
  min-width: 160px;
}
td.tableuname a {
  color: var(--blue-700, #1e4476);
  text-decoration: none;
  font-weight: 600;
}
td.tableuname a:hover {
  text-decoration: underline;
}
td.tabledatum {
  white-space: nowrap;
  color: var(--text-sec, #666);
  font-size: 12px;
}
/* KAUF signal cells — subtle green highlight */
/* VERKAUF signal cells — subtle red highlight */
/* Override legacy bgcolor on even rows too */
/* Sorted column indicators — absolut positioniert für vertikale Zentrierung */
th.sortedASC::after { content: "\25B2"; font-size: 10px; }
th.sortedDESC::after { content: "\25BC"; font-size: 10px; }
th.sortedNULL::after { content: "\2195"; font-size: 10px; opacity: 0.5; }
/* JS-injected .sort-arrow span: absolut mittig */
th.sortable { position: relative !important; padding-right: 22px !important; }
th.sortable .sort-arrow { position: absolute !important; right: 4px !important; top: 50% !important; transform: translateY(-50%) !important; margin: 0 !important; }
/* Submenu bar */
.submenu {
  font-size: 13px;
  line-height: 1.8;
  color: var(--text, #333);
}
.submenu a {
  color: var(--blue-600, #2867b8);
  text-decoration: none;
}
.submenu a:hover {
  text-decoration: underline;
}
.submenu b {
  color: var(--text, #333);
  font-weight: 700;
}

/* ====================================================================
   A: HOMEPAGE (News-Bereich, Sidebars)
   ==================================================================== */

/* News-Bereich Typografie — Firmenname erbt Farbe vom parent <a> */
a.small-3 h2 {
  font-size: 14px;
  color: inherit;
  font-weight: 700;
  margin: 0;
}
a.large-1 {
  font-size: 17px;
  color: var(--blue-800);
  font-weight: 600;
  line-height: 1.4;
}
/* News Subtitle (inline font-size:14px → 16px) */
div.dottedline {
  border-bottom: 1px solid #e8e8e8;
  margin: 0;
}
/* News Company-Kurs Link */
a.small-3[href*="charts"] {
  font-size: 13px;
}
/* Quelle + Datum */
font.small-3 {
  font-size: 12px;
  color: var(--text-sec);
}

/* A1b: News-Block — Abstände */

/* ====================================================================
   B: KURSLISTE DESIGN KOMPLETT
   ==================================================================== */

/* B1: Summary-Arrows Pill */
.summary-arrows {
  display: inline-flex;
  gap: 14px;
  background: var(--blue-50);
  border-radius: 6px;
  border: 1px solid var(--border);
  padding: 6px 14px;
  font-weight: 600;
}

/* B3: Icon-Badges */

/* B4: Mini-Intraday-Charts vergrößern */

/* B5: Font-Color Mapping — bereits in C0.3 */

/* B6: Legacy-Spacer ausblenden (20px weiße Spacer-Zellen) */
TD.tabelle {
  width: 0;
  padding: 0;
  font-size: 0;
  line-height: 0;
  overflow: hidden;
}

/* B7: Legende Card-Styling */

table[bgcolor="white"][cellspacing="20"] {
  background: #fff;
  border-radius: 8px;
  border: 1px solid var(--border);
  box-shadow: 0 1px 6px rgba(0,0,0,0.08);
  padding: 16px;
  margin-bottom: 16px;
}

/* Legende Icon styling */

table[bgcolor="white"][cellspacing="20"] img {
  vertical-align: middle;
  margin-right: 6px;
  border-radius: 3px;
}

/* Legende Disclaimer-Text */

table[bgcolor="white"][cellspacing="20"] ~ div.text_12 {
  font-size: 12px;
  color: var(--text-sec);
  line-height: 1.6;
  padding: 8px 0;
  border-top: 1px solid #e8e8e8;
  margin-top: 8px;
}

/* B8: Responsive Kursliste */
@media (max-width: 720px) {
  table[width="850"],
  table[width="895"],
  table[width="800"],
  table[width="700"] {
    width: 100%;
    max-width: 100%;
  }
}

/* ====================================================================
   C: SHOWCOMPANY-SEITEN
   ==================================================================== */

/* C1: Tab-Leiste */
table[bgcolor] td a[href*="showcompany"] {
  color: var(--blue-600);
  text-decoration: none;
}
table[bgcolor] td a[href*="showcompany"]:hover {
  text-decoration: underline;
}

/* C2: Stammdaten-Table */
table[bgcolor] td.text_12 {
  padding: 6px 10px;
  border-bottom: 1px solid var(--border);
}

/* C5: showcompany-Charts */
img[src*="chartmodul"],
img[src*="chartdir"] {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
}

/* ====================================================================
   D: STATISCHE CONTENT-SEITEN (AGB, Impressum, DSGVO)
   ==================================================================== */

/* D1: Content-Typografie — .text_13 und .text_12 bereits gestylt */

/* D2: Content-Wrapper als Card */

/* ====================================================================
   E: WISSENSSEITEN (Kennzahlen, Indikatoren, Candlesticks)
   ==================================================================== */

/* E1: Datentabellen (Kennzahlen-Formeln) */
td.text_12 table td {
  padding: 4px 8px;
}

/* E3: Formel-Bilder */
td.text_12 img {
  max-width: 100%;
  height: auto;
}

/* ====================================================================
   F: FORUM-SEITEN
   ==================================================================== */

/* F1: Forum Tab-Leiste — Karteikartenoptik */
ul.tabs {
  border-bottom: 1px solid var(--border);
  margin-bottom: 16px;
  padding: 0;
  list-style: none;
  display: flex;
  gap: 0;
}
ul.tabs li {
  display: flex;
  margin-bottom: -1px;
}
ul.tabs li a {
  display: block;
  padding: 8px 16px;
  text-decoration: none;
  color: var(--text-sec);
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  min-height: unset;
  border: 1px solid transparent;
  border-radius: 4px 4px 0 0;
  background: transparent;
  box-sizing: border-box;
}
ul.tabs li a:hover {
  color: var(--blue-600);
  background: var(--blue-50, #e8f0fb);
  border-bottom-color: var(--blue-400, #6b9fd4);
}
ul.tabs li.active a {
  color: var(--blue-700);
  font-weight: 600;
  background: white;
  border: 1px solid #bdc7d3;
  border-bottom-color: white;
}

/* F2/F3: → see Section 35 (Forum Card-Design) above */

/* ====================================================================
   F5: Forum-Uebersicht — Post-Body-Styling (Legacy HTML → Template-Optik)
   Referenz: design/forum-uebersicht-redesign.html .forum-post-body
   ==================================================================== */

/* Post-Container (item even/odd) */
.item {
  padding: 14px 0;
  border-bottom: 1px solid #e8e8e8;
  display: block;
}
.item:last-of-type { border-bottom: none; }
.item.even, .item.odd { background: none; }

/* Post-Titel in Beitrags-Liste: h1 auf Listengröße reduzieren */
.item h1 {
  font-size: 20px;
  font-weight: 600;
  color: var(--blue-700);
  margin: 0 0 2px;
  line-height: 1.4;
  letter-spacing: 0;
  display: inline;
}

/* Trennlinie zwischen Posts */
.dottedline {
  display: none; /* item border-bottom übernimmt die Trennung */
}

/* Post-Body: Lichtblaue Box mit linkem Rand — wie im Template */
.message-padding,
div.message-padding {
  margin-top: 8px;
  width: 100%;
  box-sizing: border-box;
}
.message.message-padding,
.message-padding .message,
div.message-padding > div.message {
  background: var(--blue-50);
  border-left: 3px solid var(--blue-300);
  border-radius: 0 6px 6px 0;
  padding: 14px 16px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--text);
  margin-bottom: 10px;
}

/* Antwort-Buttons — wie Template .btn-forum */
.message .btn.btn-mini.btn-primary,
.message-padding .btn.btn-mini.btn-primary {
  display: inline-block;
  padding: 6px 16px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  background: var(--blue-600);
  border: none;
  cursor: pointer;
  text-decoration: none;
}
.message .btn.btn-mini.btn-primary:hover,
.message-padding .btn.btn-mini.btn-primary:hover {
  background: var(--blue-500);
  color: #fff;
}
.message .btn.btn-mini:not(.btn-primary),
.message-padding .btn.btn-mini:not(.btn-primary) {
  display: inline-block;
  padding: 6px 16px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  color: var(--blue-600);
  background: transparent;
  border: 1px solid var(--blue-600);
  text-decoration: none;
}
.message .btn.btn-mini:not(.btn-primary):hover,
.message-padding .btn.btn-mini:not(.btn-primary):hover {
  background: var(--blue-50);
  color: var(--blue-500);
}

/* Thema-Link Titel (large-1 qforum) */
a.large-1.qforum h2,
.large-1.qforum h2 {
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  display: inline;
}
a.large-1.qforum:hover h2 { color: var(--blue-600); }

/* Autor/Datum klein — aber Firmennamen-Links (mit inline color) beibehalten */
.small-3 { font-size: 12px; }
a.small-3:not([style*="color"]) { color: var(--text-sec); }
a.small-3:hover { color: var(--blue-600); }
/* Firmennamen: Kursfarbe via CSS-Klassen (höhere Spezifität als :not()) */
a.small-3.green, a.small-3.green:link, a.small-3.green:visited { color: var(--green, #1a8a4a); }
a.small-3.red, a.small-3.red:link, a.small-3.red:visited { color: var(--red, #c11f2d); }
a.small-3.black, a.small-3.black:link, a.small-3.black:visited { color: #333; }

/* ====================================================================
   F5b: Forum Index (/forum/) — Layout & Card-Styling
   Referenz: design/forum-index-redesign.html
   ==================================================================== */

/* Forum-Index Gesamtlayout: max-width 900px zentriert */
.page-forum-index {
  max-width: 1440px;
  margin: 16px auto;
  padding: 0 16px;
}
/* Forum-Index: Title in Title-Case (Vorlage: "Börsenforum — Übersicht") */
.page-forum-index .section-title {
  text-transform: none;
}
/* Icon-Toolbar + "Forum Startseite" auf Forum-Index ausblenden (Vorlage hat keine) */
.page-forum-index > table:first-child {
  display: block;
}
.page-forum-index > table:first-child { border:none; box-shadow:none; background:transparent; max-width:1100px; margin:0 auto; padding:0 16px; }
.page-forum-index > table:first-child table, .page-forum-index > table:first-child tbody, .page-forum-index > table:first-child tr, .page-forum-index > table:first-child td { display:block; width:100%; background:transparent; border:none; padding:0; margin:0; }
.page-forum-index > table:first-child tr:has(> td > [id="button_pic"]) { display:flex; justify-content:center; align-items:flex-end; flex-wrap:wrap; padding:16px 0 12px; }
.page-forum-index > table:first-child td:has(> [id="button_pic"]) { display:inline-flex; flex-direction:column; align-items:center; width:auto; min-width:60px; padding:0 8px; }
.page-forum-index > table:first-child [id="button_pic"] img { width:28px; height:28px; display:block; margin:0 auto; }
.page-forum-index > table:first-child .button_text { display:block; text-align:center; }
.page-forum-index > table:first-child .button_text a { font-size:11px; color:var(--text-sec); text-decoration:none; white-space:nowrap; }
.page-forum-index > table:first-child .button_text a:hover { color:var(--blue-600); }
.page-forum-index > table:first-child #breadcrumb_div, .page-forum-index > table:first-child #page_links { display:none; }
.forum-status-bar { max-width:900px; margin:0 auto 6px; padding:8px 16px; background:var(--blue-50); border:1px solid var(--blue-100); border-radius:6px; font-size:13px; color:var(--text-sec); text-align:center; }
.forum-status-bar strong { color:var(--blue-700); font-weight:700; }
.page-forum-index table[cellpadding="5"] {
  width: 100%;
  border-collapse: collapse;
}
/* Folder-Icons ausblenden */
.page-forum-index td[width="20"],
.page-forum-index img[src*="folder"] {
  display: none;
}
/* "Forum Startseite" Breadcrumb im DCForum ausblenden (eigener Breadcrumb in .page-forum-index) */
#breadcrumb_div {
  display: none;
}

/* Forum-Index Tabelle — Vorlage: forum-index-redesign.html */
.forum-index-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.forum-index-table th {
  background: var(--blue-50);
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-sec);
  border-bottom: 2px solid var(--border);
  text-align: left;
  white-space: nowrap;
}
.forum-index-table th.num { text-align: right; }
.forum-index-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #f0f2f5;
  vertical-align: top;
}
.forum-index-table .forum-name a strong {
  font-weight: 700;
  font-size: 14px;
  color: var(--text);
}
.forum-index-table .forum-name a:hover strong { color: var(--blue-600); }
.forum-index-table .forum-desc {
  font-size: 12px;
  color: var(--text-sec);
  margin-top: 2px;
}
.forum-index-table .forum-num {
  text-align: right;
  white-space: nowrap;
  color: var(--text-sec);
}
.forum-index-table .forum-last a {
  color: var(--blue-600);
  font-weight: 600;
}
.forum-index-table .forum-last-date {
  display: block;
  margin-top: 3px;
  color: #999;
  font-size: 12px;
}
.forum-index-table tbody tr:hover td { background: var(--blue-50); }
.forum-index-table td.num { text-align: right; white-space: nowrap; color: var(--text-sec); }
.forum-index-table .forum-name a { font-weight: 700; font-size: 14px; color: var(--text); }
.forum-index-table .forum-name a:hover { color: var(--blue-600); }
/* Card Header + Primary Button */
.card-header {
  background: var(--blue-50);
  border-bottom: 2px solid var(--blue-100);
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.btn-primary {
  padding: 7px 16px;
  background: var(--blue-600);
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
}
.btn-primary:hover { background: var(--blue-700); color: #fff; text-decoration: none; }

/* Gruppen-Header (Conference Name) */
.forum-group-header td {
  background: var(--blue-50);
  border-bottom: 2px solid var(--blue-100);
  padding: 12px 16px;
}
.forum-group-header .card-title {
  font-size: 17px;
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
/* Old dcborder tables inside forum-index-card: transparent */
.forum-index-card table.dcborder { display: none; }

/* Forum-Zeilen als saubere Rows (Legacy Fallback) */
body:has(.dclink) table[cellpadding="5"] td.dcmisc,
body:has(.dclink) table[cellpadding="5"] td:has(.dclink) {
  padding: 10px 12px;
  border-bottom: 1px solid #f0f2f5;
  vertical-align: top;
  background: transparent;
}

/* Forum-Name bold, 14px */
.dclink, span.dclink, a:has(> span.dclink) {
  font-weight: 700;
  font-size: 14px;
  color: var(--text);
  text-decoration: none;
}
a:has(> span.dclink):hover span.dclink { color: var(--blue-600); }

/* Forum-Beschreibung */

/* Themen/Beiträge-Zahlen */
.dcmisc {
  font-size: 13px;
  color: var(--text-sec);
}

/* Folder-Icons: dezenter */
body:has(.dclink) td[width="20"] img {
  opacity: 0.5;
  width: 16px;
}

/* Forum-Index: Heading-Zeile (.dcheading) als Card-Title */
.dcheading, td.dcheading {
  font-size: 17px;
  font-weight: 700;
  color: var(--blue-800);
  background: var(--blue-50);
  padding: 12px 16px;
  border-bottom: 2px solid var(--blue-100);
}

/* F5d: Forum Login/Register/Profile — Icon-Toolbar ausblenden */
table:has(+ .page-forum-login),
table:has(+ .page-forum-register),
table:has(+ .page-profile) {
  display: none;
}
body:has(input[name="username"]):has(input[name="password"]) #breadcrumb_div {
  display: none;
}
/* F5d: Forum Login — zentriertes Card-Layout */
/* Vorlage: design/forum-login-redesign.html */
body:has(input[name="username"]):has(input[name="password"]) table[cellpadding="5"][cellspacing="1"] {
  max-width: 440px;
  margin: 20px auto;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.08);
  padding: 24px;
  border-collapse: separate;
}
body:has(input[name="username"]) .dcheading,
body:has(input[name="username"]) td.dcheading {
  font-size: 22px;
  font-weight: 700;
  color: var(--blue-800);
  background: #fff;
  border: none;
  padding: 0 0 16px 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
body:has(input[name="username"]) .dcheading::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  background: var(--red);
  border-radius: 1px;
  flex-shrink: 0;
}
body:has(input[name="username"]) .dclite,
body:has(input[name="username"]) td.dclite {
  background: #fff;
  border: none;
  padding: 0;
}
body:has(input[name="username"]) input[type="text"],
body:has(input[name="username"]) input[type="password"],
body:has(input[name="username"]) input[name="username"],
body:has(input[name="username"]) input[name="password"] {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: 14px;
  margin-top: 4px;
  margin-bottom: 12px;
  box-sizing: border-box;
}
body:has(input[name="username"]) input[type="submit"] {
  width: 100%;
  padding: 12px;
  background: var(--blue-600);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  margin-top: 8px;
}
body:has(input[name="username"]) input[type="submit"]:hover {
  background: var(--blue-500);
}

/* F5e: Forum Rangliste — Toolbar ausblenden */
.page-rangliste-outer > table:first-child {
  display: block;
}
.page-rangliste-outer > table:first-child { border:none; box-shadow:none; background:transparent; max-width:1100px; margin:0 auto; padding:0 16px; }
.page-rangliste-outer > table:first-child table, .page-rangliste-outer > table:first-child tbody, .page-rangliste-outer > table:first-child tr, .page-rangliste-outer > table:first-child td { display:block; width:100%; background:transparent; border:none; padding:0; margin:0; }
.page-rangliste-outer > table:first-child tr:has(> td > [id="button_pic"]) { display:flex; justify-content:center; align-items:flex-end; flex-wrap:wrap; padding:16px 0 12px; }
.page-rangliste-outer > table:first-child td:has(> [id="button_pic"]) { display:inline-flex; flex-direction:column; align-items:center; width:auto; min-width:60px; padding:0 8px; }
.page-rangliste-outer [id="button_pic"] img { width:28px; height:28px; display:block; margin:0 auto; }
.page-rangliste-outer .button_text { display:block; text-align:center; }
.page-rangliste-outer .button_text a { font-size:11px; color:var(--text-sec); text-decoration:none; white-space:nowrap; }
.page-rangliste-outer .button_text a:hover { color:var(--blue-600); }
.page-rangliste-outer > table:first-child #breadcrumb_div { display:none; }
.page-rangliste-outer #breadcrumb_div {
  display: none;
}
/* F5e: Forum Rangliste — Striped Lines */
.page-rangliste table tr:nth-child(even) td {
  background: var(--blue-50);
}
.page-rangliste table tr:hover td {
  background: #e8eef6;
}
/* F5e: Forum Rangliste — 2-Spalten Grid */
.page-rangliste {
  max-width: 1440px;
  margin: 16px auto;
  padding: 0 16px;
}
/* Breadcrumb + Section-Title + rangliste-grid über volle Breite */
.page-rangliste > .breadcrumb,
.page-rangliste > .section-title,
.page-rangliste > .rangliste-grid {
  grid-column: 1 / -1;
}
.rangliste-grid {
  display: grid;
  grid-template-columns: 1fr 260px;
  gap: 20px;
}
.rangliste-main {
  min-width: 0;
  overflow-x: auto;
}
/* Rangliste-Tabelle: volle Breite */
.rangliste-main table.dcborder.rangliste {
  width: 100%;
  table-layout: auto;
}
.rangliste-sidebar { min-width: 0; }

@media (max-width:720px) { .rangliste-grid { grid-template-columns: 1fr; } .rangliste-sidebar { display: none; } }

/* F5c: Forum Topics — Outer Wrapper (toolbar styling) */
.page-forum-topics-outer > table:first-child {
  border: none;
  box-shadow: none;
  background: transparent;
  margin-bottom: 0;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 16px;
}
.page-forum-topics-outer #breadcrumb_div {
  font-size: 13px;
  color: var(--text-sec);
  margin-bottom: 6px;
}
.page-forum-topics-outer #breadcrumb_div a {
  color: var(--blue-600);
  text-decoration: none;
}
.page-forum-topics-outer #breadcrumb_div a:hover {
  color: var(--blue-500);
}
/* Modern toolbar: Icon + Text sichtbar, zentriert */
.page-forum-topics-outer > table:first-child table, .page-forum-topics-outer > table:first-child tbody, .page-forum-topics-outer > table:first-child tr, .page-forum-topics-outer > table:first-child td { display:block; width:100%; background:transparent; border:none; padding:0; margin:0; }
.page-forum-topics-outer > table:first-child tr:has(> td > [id="button_pic"]) { display:flex; justify-content:center; align-items:flex-end; flex-wrap:wrap; padding:16px 0 12px; }
.page-forum-topics-outer > table:first-child td:has(> [id="button_pic"]) { display:inline-flex; flex-direction:column; align-items:center; width:auto; min-width:60px; padding:0 8px; }
.page-forum-topics-outer [id="button_pic"] { display:block; text-align:center; margin-bottom:2px; }
.page-forum-topics-outer [id="button_pic"] img { width:28px; height:28px; display:block; margin:0 auto; }
.page-forum-topics-outer .button_text { display:block; text-align:center; }
.page-forum-topics-outer .button_text a { font-size:11px; color:var(--text-sec); text-decoration:none; white-space:nowrap; }
.page-forum-topics-outer .button_text a:hover { color:var(--blue-600); }
.page-forum-topics-outer > table:first-child #breadcrumb_div, .page-forum-topics-outer > table:first-child #page_links { display:none; }
/* F5c: Forum Topics — 2-Spalten Grid (Main + Sidebar) */
.page-forum-topics {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 20px;
  max-width: none;
  margin: 0 auto;
  padding: 0 16px 16px;
}
.forum-topics-main { min-width: 0; }
.forum-topics-sidebar { min-width: 0; align-self: start; }
@media (max-width:960px) { .page-forum-topics { grid-template-columns: 1fr 220px; } }
@media (max-width:720px) { .page-forum-topics { grid-template-columns: 1fr; } .forum-topics-sidebar { display: none; } }

/* ====================================================================
   F6: Forum Show-Topics — Layout & Optik
   Problem: alte Toolbar-Icons, Themen-Zeile mit bgcolor, leere Bereiche
   ==================================================================== */

/* Alte Icon-Toolbar (Login, Neues Thema, Neue lesen etc.) — dezent */

/* Forum-Topic-Zeilen: bgcolor-Styling überschreiben */
/* Pinned/Sticky-Topic-Zeile */

/* Forum-Topics Haupt-Thema-Link */
/* Forum-Topics: kompaktere Zeilenabstände */
.page-forum-topics td.dclite,
.page-forum-topics td.dcdark,
.page-forum-topics-outer td.dclite,
.page-forum-topics-outer td.dcdark,
.forum-topics-main td.dclite,
.forum-topics-main td.dcdark {
  padding: 5px 8px;
}
.page-forum-topics td[cellpadding] td,
.forum-topics-main td {
  padding-top: 4px;
  padding-bottom: 4px;
}
.forum-topics-main tr[bgcolor] td {
  padding: 5px 8px;
  font-size: 13px;
}
/* Abstand zwischen Topic-Blöcken halbieren: nur <br> ZWISCHEN Tabellen entfernen */
.forum-topics-main .card > br,
.forum-topics-main > .card > table + br {
  display: none;
}
/* Dezenter Querstrich zwischen Topic-Blöcken */
.forum-topics-main table.dcborder,
.forum-topics-main table.dcbordernew {
  margin-bottom: 4px;
}
.forum-topics-main table.dcborder + br,
.forum-topics-main table.dcbordernew + br {
  display: none;
}

/* dcborder-Wrapper gezielt neutralisieren */
.page-forum-topics .forum-topics-main table.dcborder,
.page-forum-topics .forum-topics-main table.dcbordernew,
.page-forum-topics-outer .forum-topics-main table.dcborder,
.page-forum-topics-outer .forum-topics-main table.dcbordernew {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
}
.page-forum-topics .forum-topics-main table[cellpadding="5"],
.page-forum-topics-outer .forum-topics-main table[cellpadding="5"] {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
/* Topic-Header (Thema-Zeile mit Titel) padding reduzieren */

/* Seitennavigation (Seiten 1|2|3...) */
.dcpagelink, a.dcpagelink {
  color: var(--blue-600);
  font-size: 13px;
}

/* Status Badges (HOT/NEU/PINNED) */

/* Thread List (Vorlage: forum-topics-redesign.html) */

/* Sidebar elements */
.sidebar-card { background:#fff; border:1px solid var(--border); border-radius:8px; box-shadow:0 1px 5px rgba(0,0,0,0.06); padding:14px; margin-bottom:14px; }
.sidebar-title { font-size:14px; font-weight:700; color:var(--blue-800); display:flex; align-items:center; gap:6px; border-bottom:2px solid var(--blue-100); padding-bottom:8px; margin-bottom:10px; }
.sidebar-title::before { content:''; width:8px; height:8px; background:var(--red); border-radius:1px; }

/* "it's easy" und ähnliche alte Badges: ausblenden */
 img[alt*="easy"] {
  display: none;
}

/* F4: Responsive Forum */

/* ====================================================================
   G: CHART-SEITEN
   ==================================================================== */

/* G1: Chart-Container */

/* ====================================================================
   C1b: showcompany Tab-Leiste — Verfeinerung
   ==================================================================== */

/* Tabs im showcompany: flex-wrap für viele Tabs, padding anpassen */
ul.tabs {
  flex-wrap: wrap;
}
/* Aktiver Tab: Falls kein .active gesetzt, markiere Übersicht-Tab via CSS */
ul.tabs li a[href*="showcompany"]:not([href*="sub="]) {
  font-weight: 600;
}

/* C1c: Breadcrumb-Zeile in showcompany */
td[colspan] > a.top_right,
a.top_right {
  color: var(--blue-600);
  font-size: 13px;
}

/* C2b: Stammdaten-Box verfeinern */
.top_flop_ueberschrift0 {
  background: var(--blue-50);
  color: var(--blue-800);
  font-weight: 700;
  padding: 8px 12px;
  border-radius: 6px 6px 0 0;
  font-size: 14px;
  text-align: left;
}
.top_flop_ueberschrift0 center {
  text-align: left;
}

/* ====================================================================
   D2b: Statische Content-Seiten — Verfeinerung
   ==================================================================== */

/* Content-Table Links: blau und underline on hover */
td.text_12 a {
  color: var(--blue-600);
}
td.text_12 a:hover {
  text-decoration: underline;
}

/* Content inner Abschnitt-Trenner */
td.text_12 hr {
  border: none;
  border-top: 1px solid var(--border);
  margin: 12px 0;
}

/* ====================================================================
   E1b: Datentabellen (Kennzahlen-Formeln) — Verfeinerung
   ==================================================================== */

/* Verschachtelte Tables in text_12: Border-Bottom, Header-Styling */
td.text_12 table {
  border-collapse: collapse;
  width: 100%;
  margin: 8px 0;
}
td.text_12 table td {
  padding: 6px 10px;
  border-bottom: 1px solid var(--border);
  font-size: 13px;
}
td.text_12 table td[bgcolor] {
  background: var(--blue-50);
  font-weight: 600;
}

/* E2: Literatur-Buchtabellen — Buch-Cover */
td.text_12 img[src*="amazon"],
td.text_12 img[src*="buch"],
td.text_12 img[src*="cover"] {
  max-width: 120px;
  border-radius: 4px;
}

/* ====================================================================
   F2b: Forum Topic-Rows — alternating rows
   ==================================================================== */

/* Forum alternating rows (nicht im Thread-Baum, nicht auf selected/current rows) */
table:has(> tbody > tr.dcheading):not(.dctoc):not(.rangliste) > tbody > tr:nth-child(even):not(.dcheading):not(.selected_row):not(.current_row) > td {
  background: var(--blue-50);
}

/* Forum-Übersicht: Grid-Layout — Vorlage: 1fr 340px, gap 20px */

/* ====================================================================
   G3: Chart-Steuerung (Formular-Elemente)
   ==================================================================== */

/* Chart-Seiten Selects und Buttons */
form select, form input[type="submit"] {
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 6px 10px;
  font-size: 13px;
}

/* ====================================================================
   I0.3: Footer — Roter Legal-Streifen bis zum Rand
   ==================================================================== */

/* Roter Legal-Streifen: volle Breite */
#redbottom {
  max-width: 1280px;
  margin: 0 auto;
  padding: 14px 16px;
}

/* Copyright-Text: volle Breite, kein Float */
.footer .text_11 {
  float: none;
  width: 100%;
  clear: both;
  display: block;
  padding: 10px 16px;
}

/* ====================================================================
   Responsive: alle Seitentypen
   ==================================================================== */

/* I0b: Termine-Tabelle Header-Zeilen → blue (global, nicht nur .page-termine) */
table tr:first-child > td.text_13:has(> b) {
  background: var(--blue-700);
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  padding: 8px 10px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
table tr:first-child > td.text_13:has(> b) b {
  color: #fff;
  font-weight: 600;
}
/* I0c: Termine-Datenzeilen: dunkle alternierend-Farbe aufhellen */
.page-termine .termine-main table tr[bgcolor] td.news,
.page-termine .termine-main table tr[bgcolor] td.news a,
.page-termine .termine-main table tr[bgcolor] td.news i {
  background: transparent;
}
.page-termine .termine-main table tr:nth-child(even) td.news {
  background: #fafbfc;
}
.page-termine .termine-main table tr:nth-child(odd) td.news {
  background: #fff;
}

/* H1: Links-Seite + Börsenplätze — Wissens-Unterseiten */
.page-links .card { padding: 24px 28px; }
.page-links table { border-collapse: separate; border-spacing: 0; }
.page-links td { vertical-align: top; padding: 0 20px 20px 0; }
.page-links .text_13 {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: var(--blue-800);
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 2px solid var(--blue-100);
}
.page-links li {
  margin-bottom: 10px;
  line-height: 1.5;
}
.page-links li b a {
  color: var(--blue-600);
  font-size: 14px;
}
.page-links li b a:hover { color: var(--blue-800); }

/* Börsenplätze */
.page-boerseplaetze .card { padding: 24px 28px; }
.page-boerseplaetze td { vertical-align: top; padding: 0 20px 16px 0; }
.page-boerseplaetze .text_13 {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: var(--blue-800);
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 2px solid var(--blue-100);
}
.page-boerseplaetze li {
  margin-bottom: 4px;
  line-height: 1.5;
}
.page-boerseplaetze li a {
  color: var(--blue-600);
  font-size: 14px;
}
.page-boerseplaetze li a:hover { color: var(--blue-800); }

/* I0: Footer → see Section 36 (Footer-Fixes) above */

/* ====================================================================
   I1: Forum Rangliste — Vorlage: forum-rangliste-redesign.html
   ==================================================================== */
/* Rangliste: Rang-Nummer als Badge */
table.rangliste td:nth-child(2) {
  font-weight: 700;
  font-size: 14px;
  text-align: center;
  width: 36px;
  min-width: 36px;
}
/* Gold/Silber/Bronze Badges — gemeinsame Basis */
table.rangliste tr:nth-child(3) > td:nth-child(2),
table.rangliste tr:nth-child(4) > td:nth-child(2),
table.rangliste tr:nth-child(5) > td:nth-child(2) {
  border-radius: 50%;
  width: 36px; max-width: 36px;
  height: 36px;
  line-height: 36px; padding: 0;
  text-align: center; box-sizing: content-box;
}
/* Gold */
table.rangliste tr:nth-child(3) > td:nth-child(2) {
  background: #FFD700; color: #7a5c00;
}
/* Silber */
table.rangliste tr:nth-child(4) > td:nth-child(2) {
  background: #C0C0C0; color: #5a5a5a;
}
/* Bronze */
table.rangliste tr:nth-child(5) > td:nth-child(2) {
  background: #CD7F32; color: #fff;
}
/* Spaltenbreiten: Name breit, Status schmal */
table.rangliste td:nth-child(3) { width: auto; }
table.rangliste td:nth-child(4) { width: 80px; text-align: right; }
/* Rangliste: Status-Icons vergrößern */
table.rangliste img[src*="award_star"] {
  width: 24px;
  height: 24px;
}

/* ====================================================================
   H1: Pagination / Blätter-Navigation — Template: forum-rangliste-redesign.html
   ==================================================================== */

.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 14px 16px;
  flex-wrap: wrap;
  border-top: 1px solid var(--border);
}
.page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 30px;
  padding: 0 6px;
  border: 1px solid var(--border);
  border-radius: 4px;
  font-size: 13px;
  color: var(--text-sec);
  background: #fff;
  cursor: pointer;
  text-decoration: none;
  font-weight: 400;
}
.page-btn:hover {
  background: var(--blue-50);
  color: var(--blue-600);
  border-color: var(--blue-300);
  text-decoration: none;
}
.page-btn.active {
  background: var(--blue-600);
  color: #fff;
  border-color: var(--blue-600);
  font-weight: 600;
}
.page-btn.disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

/* Pagination-Bar: Forum "weitere Foren Beiträge" */
.pagination-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  border-top: 1px solid var(--border);
  flex-wrap: wrap;
}
.pagination-label {
  font-size: 13px;
  color: var(--text-sec);
  font-weight: 500;
}
.pagination-btn {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  border: 1px solid var(--border);
  border-radius: 4px;
  font-size: 13px;
  color: var(--blue-600);
  background: #fff;
  text-decoration: none;
  font-weight: 500;
}
.pagination-btn:hover {
  background: var(--blue-50, #e8f0fb);
  border-color: var(--blue-300, #93b8e8);
  color: var(--blue-700);
  text-decoration: none;
}

/* ====================================================================
   G2: Gelbe bgcolor-Tabellenköpfe → blaue Darstellung wie Template
   ==================================================================== */

/* Häufigste Muster: <td bgcolor="#FFFF00">, <td bgcolor="yellow">,
   <tr bgcolor="#FFFF00">, <th bgcolor="..."> */

td[bgcolor="yellow"],
tr[bgcolor="yellow"] > td,
th[bgcolor], th[bgcolor="yellow"] {
  background-color: var(--blue-700);
  color: #fff;
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 6px 10px;
  border: none;
}

/* ====================================================================
   G3: newsmedia_ueberschrift ::before-Marker-Alignment
   ==================================================================== */

/* Wenn die Überschrift mehrzeilig wird, muss der Marker oben bleiben */
a.newsmedia_ueberschrift,
.newsmedia_ueberschrift {
  display: flex;
  align-items: flex-start;
  gap: 0;
}
a.newsmedia_ueberschrift::before,
.newsmedia_ueberschrift::before {
  flex-shrink: 0;
  margin-top: 3px;
}

/* ====================================================================
   G1: Wissens-Nav — Strich + Marker-Fixes (candlesticks, indikatoren, etc.)
   ==================================================================== */

/* table[background] Strich in der Nav unterdrücken */
.kennzahlen-nav table,
.literatur-nav table {
  background-image: none;
  background-color: transparent;
  border: none;
  width: 100%;
}
.kennzahlen-nav td,
.literatur-nav td {
  background-image: none;
  background-color: transparent;
  padding: 0;
}

/* Alle Bilder + br in der Nav unterdrücken — mit,
   damit headline_11.gif-Regel (display:inline-block) verliert */
.kennzahlen-nav img,
.kennzahlen-nav br,
.literatur-nav img,
.literatur-nav br {
  display: none;
}

/* b-Überschriften in der Nav (Section-Header, NICHT aktive Links): eigenes Styling */
.kennzahlen-nav li > b,
.literatur-nav li > b {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: var(--text-sec);
  display: block;
  padding: 8px 14px;
}
.kennzahlen-nav li > b::before,
.literatur-nav li > b::before {
  display: none;
}

/* Aktiver Nav-Link (enthält <b>): Highlight auf ganzer Zeile */
.kennzahlen-nav a.submenu:has(> b),
.literatur-nav a.submenu:has(> b) {
  font-weight: 700;
  color: var(--blue-800);
  border-left-color: var(--red);
  background: var(--blue-50);
}
/* b INNERHALB aktiver Links: kein eigenes Padding/Größe */
.kennzahlen-nav a.submenu > b,
.literatur-nav a.submenu > b {
  display: inline;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
  text-transform: none;
  letter-spacing: inherit;
  color: inherit;
  background: transparent;
}
.kennzahlen-nav a.submenu > b::before,
.literatur-nav a.submenu > b::before {
  display: none;
}

/* Kennzahlen-Nav: Card-Container */
.kennzahlen-nav {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.08);
  border: 1px solid var(--border);
  overflow: hidden;
  align-self: start;
}
.kennzahlen-nav ul {
  list-style: none;
  padding: 4px 0;
  margin: 0;
}
.kennzahlen-nav ul li {
  border-bottom: 1px solid #eef0f4;
}
.kennzahlen-nav ul li:last-child {
  border-bottom: none;
}
.kennzahlen-nav ul li a,
.kennzahlen-nav ul li a.submenu,
.kennzahlen-nav ul li a.submenu_green,
.kennzahlen-nav ul li a.submenu_red,
.kennzahlen-nav ul li a.submenu_black {
  display: block;
  padding: 8px 14px;
  font-size: 13px;
  color: var(--text);
  border-left: 3px solid transparent;
  text-decoration: none;
}
.kennzahlen-nav ul li a:hover {
  background: var(--blue-50);
  color: var(--blue-600);
  border-left-color: var(--blue-300);
}
.kennzahlen-nav ul li a.submenu:has(> b),
.kennzahlen-nav ul li a.submenu_green:has(> b),
.kennzahlen-nav ul li a.submenu_red:has(> b),
.kennzahlen-nav ul li a.submenu_black:has(> b) {
  font-weight: 700;
  color: var(--blue-800);
  border-left-color: var(--red);
  background: var(--blue-50);
}
.kennzahlen-nav ul li a.submenu_green { color: var(--green, #28a745); }
.kennzahlen-nav ul li a.submenu_red { color: var(--red, #dc3545); }
.kennzahlen-nav ul li a.submenu_black { color: var(--text); }

/* Showcompany-Nav: Segment-Header mit Icon beibehalten */
.kennzahlen-nav li > img.seg-icon {
  display: inline-block;
  width: 12px;
  height: 13px;
  margin-right: 4px;
  vertical-align: middle;
}
.kennzahlen-nav li.nav-segment {
  padding: 6px 10px;
  border-bottom: 1px solid #eef0f4;
}
.kennzahlen-nav li.nav-segment a.submenu {
  display: inline;
  padding: 0;
  border-left: none;
  font-size: 12px;
}

/* ====================================================================
   G2: Insider-Tabelle — Striped, volle Breite
   ==================================================================== */

.table-insider {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  margin-bottom: 16px;
}
.table-insider th {
  background: var(--blue-50);
  color: var(--blue-800);
  padding: 8px 10px;
  text-align: center;
  font-weight: 600;
  font-size: 13px;
  white-space: nowrap;
  border-bottom: 2px solid var(--blue-200);
}
.table-insider td {
  padding: 6px 10px;
  border-bottom: 1px solid #e8e8e8;
  vertical-align: middle;
}
.table-insider tbody tr:nth-child(even) {
  background-color: #f5f7fa;
}
.table-insider tbody tr:hover {
  background-color: #e8eef5;
}
@media (max-width: 768px) {
  .table-insider {
    font-size: 12px;
    display: block;
    overflow-x: auto;
  }
  .table-insider th,
  .table-insider td {
    padding: 4px 6px;
  }
}

/* ====================================================================
   H1: ChatGPT Bilder — Thumbnails (Übersicht) + Detail-Bild
   ==================================================================== */

/* Thumbnail in der Nachrichtenübersicht (news2017.php + news2013.php) */
.news-thumb {
  float: right;
  margin: 2px 0 6px 12px;
  border-radius: 4px;
  object-fit: cover;
  width: 160px;
  height: 90px;
}
/* news2013 (showcompany sub=news): Float-Containment für Thumbnails */

/* Bild in der Nachrichtendetailseite (shownews.html) */

@media (max-width: 768px) {
  .news-thumb {
    width: 80px;
    height: 45px;
  }
}

/* Nachrichtendetailseite: Haupttext größer und besser lesbar */
#text_news,
#text_news p {
  font-size: 16px;
  line-height: 1.6;
}

/* Tabellen in shownews: keine Borders/Linien */
.page-shownews table,
.page-shownews td,
.page-shownews th {
  border: none;
  border-collapse: collapse;
}

/* Chart-Aside im Text: keine Linien */
.chart-aside,
.chart-aside table,
.chart-aside td,
.chart-aside th,
.chart-aside tr,
.chart-aside img {
  border: none;
  border-collapse: collapse;
  outline: none;
  box-shadow: none;
}

/* ====================================================================
   H1: Related-News Grid (shownews — Meldungen + Media-Monitoring)
   ==================================================================== */
.related-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
@media (max-width: 768px) {
  .related-grid { grid-template-columns: 1fr; }
}

/* News-List-Table (shared) */
.news-list-table {
  width: 100%;
  border-collapse: collapse;
}
.news-list-table td {
  padding: 7px 10px;
  border-bottom: 1px solid #f0f2f5;
  font-size: 13px;
}
.news-list-table tr:nth-child(even) {
  background: #f8fafc;
}
.news-list-table tr:hover {
  background: #eef3fa;
}
.news-list-date {
  width: 70px;
  font-size: 12px;
  color: var(--text-sec);
  white-space: nowrap;
  vertical-align: top;
  font-weight: 600;
}
.news-list-title a {
  color: var(--text);
}
.news-list-title a:hover {
  color: var(--blue-600);
}

/* Badge NEU */
.badge-neu {
  display: inline-block;
  padding: 0 5px;
  margin-left: 5px;
  background: #fff3e0;
  color: #bf5600;
  font-size: 9px;
  font-weight: 700;
  border-radius: 2px;
  text-transform: uppercase;
  line-height: 16px;
  vertical-align: middle;
}

/* More-Link */
.more-link {
  display: block;
  padding: 8px 10px;
  text-align: center;
  font-size: 12px;
  color: var(--blue-600);
  border-top: 1px solid var(--border);
}
.more-link:hover {
  background: var(--blue-50);
  text-decoration: none;
}

/* ====================================================================
   H2: Forum Login Card (design2026 — forum-login-redesign.html)
   ==================================================================== */
.page-forum-login {
  max-width: 700px;
  margin: 20px auto;
  padding: 0 16px;
}
.login-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.10);
  padding: 32px;
}
.login-card .card-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--blue-800);
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.login-card .card-title::before {
  content: '';
  display: inline-block;
  width: 11px;
  height: 11px;
  background: var(--red);
  border-radius: 1px;
  flex-shrink: 0;
}

/* Two-column login layout */
.login-two-col {
  display: flex;
  align-items: stretch;
  gap: 0;
}
.login-left {
  flex: 1;
  padding-right: 32px;
  display: flex;
  flex-direction: column;
}
.login-left .card-title {
  margin-bottom: 20px;
}
.login-left .oauth-buttons {
  margin-bottom: 16px;
}
.login-left .oauth-username-notice {
  margin-top: auto;
  margin-bottom: 0;
}
.login-divider-v {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  padding: 0 20px;
  color: #999;
  font-size: 13px;
  flex-shrink: 0;
}
.login-divider-v::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  border-left: 1px solid var(--border);
}
.login-divider-v span {
  position: relative;
  background: #fff;
  padding: 6px 0;
  margin-top: 60px;
}
.login-right {
  flex: 1;
  padding-left: 32px;
}
@media (max-width: 600px) {
  .login-two-col {
    flex-direction: column;
  }
  .login-left {
    padding-right: 0;
    padding-bottom: 24px;
  }
  .login-divider-v {
    flex-direction: row;
    padding: 0;
    margin: 0 0 20px;
  }
  .login-divider-v::before {
    top: 50%;
    bottom: auto;
    left: 0;
    right: 0;
    border-left: none;
    border-top: 1px solid var(--border);
    width: 100%;
  }
  .login-divider-v span {
    margin-top: 0;
    padding: 0 14px;
  }
  .login-right {
    padding-left: 0;
  }
}

/* Form Elements (shared: login + register) */
.form-group {
  margin-bottom: 16px;
}
.form-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 6px;
}
.form-control {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 4px;
  font-size: 14px;
  color: var(--text);
  outline: none;
  background: #fff;
  box-sizing: border-box;
}
.form-control:focus {
  border-color: var(--blue-600);
  box-shadow: 0 0 0 3px rgba(35,84,149,0.12);
}
.checkbox-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
}
.checkbox-row input[type=checkbox] {
  width: 16px;
  height: 16px;
  accent-color: var(--blue-600);
  cursor: pointer;
}
.checkbox-row label {
  font-size: 13px;
  color: var(--text-sec);
  cursor: pointer;
}
.btn-submit {
  width: 100%;
  padding: 12px;
  background: var(--blue-600);
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}
.btn-submit:hover {
  background: var(--blue-700);
}
.form-divider {
  border: none;
  border-top: 1px solid var(--border);
  margin: 16px 0;
}
.form-links {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
}
.form-links a {
  color: var(--blue-600);
}
.form-links a:hover {
  color: var(--blue-500);
  text-decoration: underline;
}
.form-links .register-link {
  font-weight: 600;
}
@media (max-width: 640px) {
  .page-forum-login { margin: 24px auto; }
  .login-card { padding: 24px 20px; }
  .login-left { padding-right: 0; padding-bottom: 20px; }
  .login-right { padding-left: 0; }
}

/* ====================================================================
   H3: Forum Register Card (design2026 — forum-register-redesign.html)
   ==================================================================== */
.page-forum-register {
  max-width: 520px;
  margin: 32px auto;
  padding: 0 16px;
}
.register-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.10);
  padding: 32px;
}
.register-card .card-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--blue-800);
  margin-bottom: 22px;
}

/* Step Indicator */
.step-indicator {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  font-size: 13px;
}
.step {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--text-sec);
}
.step.done { color: var(--green); }
.step.active { color: var(--blue-600); font-weight: 700; }
.step-num {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid currentColor;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
}
.step.done .step-num {
  background: var(--green);
  color: #fff;
  border-color: var(--green);
}
.step.active .step-num {
  background: var(--blue-600);
  color: #fff;
  border-color: var(--blue-600);
}
.step-arrow { color: #ccc; font-size: 16px; line-height: 1; }
.step-label { white-space: nowrap; }
.step.done .step-label { text-decoration: line-through; color: var(--green); }

/* Buttons Row */
.buttons-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.btn-back {
  padding: 11px 20px;
  background: #fff;
  color: var(--text-sec);
  border: 1px solid var(--border);
  border-radius: 4px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.btn-back:hover {
  background: var(--blue-50);
  border-color: #b0bdd0;
  color: var(--text);
}

/* Form Hint */

/* 2-Column Grid */

@media (max-width: 640px) {
  .page-forum-register { margin: 24px auto; }
  .register-card { padding: 24px 20px; }
}

/* ====================================================================
   H4: Trend-Pfeile für Unternehmen A-Z (unternehmen.html)
   ==================================================================== */
.seg-arrow {
  font-size: 12px;
  font-weight: 700;
  margin-left: 2px;
}
.seg-arrow.up { color: var(--green); }
.seg-arrow.down { color: var(--red); }
.seg-arrow.flat { color: #aaa; }

/* ====================================================================
   H5: Forum Topic Badges (HOT, NEU, PINNED)
   ==================================================================== */
.topic-badge {
  display: inline-block;
  padding: 1px 6px;
  margin-left: 6px;
  font-size: 9px;
  font-weight: 700;
  border-radius: 2px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  vertical-align: middle;
  line-height: 16px;
}
.topic-badge.hot {
  background: #fff3e0;
  color: #e65100;
}
.topic-badge.neu {
  background: #e8f5e9;
  color: var(--green);
}
.topic-badge.pinned {
  background: var(--blue-50);
  color: var(--blue-600);
}

/* ====================================================================
   Intraday Kursliste (i.php)
   ==================================================================== */

/* Header-Bereich: Chart links, Stats rechts */
.intraday-header {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  margin: 16px 0 24px;
  flex-wrap: wrap;
}
.intraday-chart {
  flex: 0 0 auto;
}
.intraday-chart img {
  width: 500px;
  max-width: 100%;
  height: auto;
  border: 1px solid var(--border);
  border-radius: 6px;
  display: block;
}
.intraday-stats {
  flex: 0 0 auto;
  min-width: 180px;
}
.intraday-stats-table {
  border-collapse: collapse;
  font-size: 14px;
}
.intraday-stats-table td {
  padding: 4px 12px 4px 0;
  white-space: nowrap;
}
.intraday-stats-table td:first-child {
  color: var(--blue-800);
  font-weight: 500;
  padding-right: 16px;
}

/* Kursliste-Tabelle */
.intraday-kurse-table {
  width: 100%;
  max-width: 700px;
  border-collapse: collapse;
  font-size: 13px;
  margin-bottom: 24px;
}
.intraday-kurse-table thead th {
  background: var(--blue-50);
  color: var(--blue-800);
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 8px 10px;
  text-align: left;
  border-bottom: 2px solid var(--border);
}
.intraday-kurse-table thead th.text-right {
  text-align: right;
}
.intraday-kurse-table tbody td {
  padding: 5px 10px;
  border-bottom: 1px solid var(--border);
}
.intraday-kurse-table tbody tr:nth-child(even) {
  background: var(--blue-50);
}
.intraday-kurse-table tbody tr:hover {
  background: #e8f0fb;
}
.intraday-kurse-table .text-right {
  text-align: right;
}

/* Section-Title mit rotem Quadrat */
.section-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--blue-800);
  margin: 24px 0 8px;
}
.red-square {
  display: inline-block;
  width: 10px;
  height: 10px;
  background: var(--red);
  border-radius: 1px;
  margin-right: 8px;
  vertical-align: middle;
}

/* ===================================================================
   SEITE 18: Forum User Profile
   =================================================================== */
.page-profile {
  max-width: 1100px;
  margin: 16px auto;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 20px;
  align-items: start;
}
/* When no sidebar, profile-main is only child — use single column */
.page-profile > .profile-main:first-child {
  grid-column: 1 / -1;
}
@media (max-width: 767px) {
  .page-profile { grid-template-columns: 1fr; }
  .profile-index-card { order: 2; }
}

/* User Menu Sidebar (showcompany-Stil) */
.profile-sidebar-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.08);
  padding: 0;
  overflow: hidden;
}
.profile-sidebar-card .sidebar-title {
  padding: 12px 14px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--blue-800);
  border-bottom: 1px solid var(--border);
}
.profile-sidebar-card .sidebar-link {
  display: block;
  padding: 9px 14px;
  font-size: 13px;
  color: var(--text, #1a1a1a);
  text-decoration: none;
  border-left: 3px solid transparent;
  transition: background 0.15s;
}
.profile-sidebar-card .sidebar-link:hover {
  background: var(--blue-50, #f0f4f9);
}
.profile-sidebar-card .sidebar-link.active {
  border-left-color: var(--blue-600, #1a5276);
  font-weight: 600;
  color: var(--blue-700, #1a3c5e);
  background: var(--blue-50, #f0f4f9);
}

/* Profile browse sidebar */
.profile-index-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 14px;
}
.profile-index-card .index-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--blue-800);
  margin-bottom: 10px;
}
.profile-index-card input[type="text"] {
  width: 100%;
  padding: 5px 8px;
  border: 1px solid var(--border);
  border-radius: 3px;
  font-size: 12px;
  color: var(--text);
  box-sizing: border-box;
}
.profile-index-card input[type="submit"] {
  margin-top: 5px;
  width: 100%;
  padding: 5px;
  background: var(--blue-600);
  color: #fff;
  border: none;
  border-radius: 3px;
  font-size: 12px;
  cursor: pointer;
}
.profile-index-card input[type="submit"]:hover {
  background: var(--blue-500);
}

/* Main Area */
.profile-main { min-width: 0; }

/* Profile Header */
.profile-header {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.profile-avatar { flex-shrink: 0; }
.profile-avatar img {
  width: 72px; height: 72px; border-radius: 50%;
  border: 2px solid var(--blue-100); object-fit: cover;
}
.profile-avatar-placeholder {
  width: 72px; height: 72px; border-radius: 50%;
  background: var(--blue-100); display: flex; align-items: center; justify-content: center;
  font-size: 28px; font-weight: 700; color: var(--blue-600);
}
.profile-info { flex: 1 1 200px; }
.profile-username {
  font-size: 20px; font-weight: 700; color: var(--blue-800); margin-bottom: 2px;
}
.profile-status { font-size: 13px; color: var(--text-sec); margin-bottom: 6px; }
.profile-rang { display: inline-flex; align-items: center; gap: 6px; }
.profile-rang a { font-size: 13px; color: var(--blue-600); }
.profile-actions {
  display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px;
}
.profile-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 14px; border-radius: 6px; font-size: 13px; font-weight: 500;
  text-decoration: none; border: 1px solid var(--border);
  background: #fff; color: var(--text); transition: background .15s;
}
.profile-btn:hover { background: var(--blue-50); color: var(--blue-700); border-color: var(--blue-300); }
.profile-btn-primary {
  background: var(--blue-700); color: #fff !important; border-color: var(--blue-700);
}
.profile-btn-primary:hover { background: var(--blue-800, #1e3a5f); border-color: var(--blue-800, #1e3a5f); }
.profile-error-card { text-align: center; padding: 32px 20px; }
.profile-error-icon { color: var(--text-sec); margin-bottom: 12px; }
.profile-error-title { font-size: 18px; font-weight: 700; margin-bottom: 8px; color: var(--text); }
.profile-error-text { font-size: 14px; color: var(--text-sec); margin-bottom: 20px; }
.profile-error-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

/* Profile Fields Table */
.profile-fields {
  width: 100%; border-collapse: collapse; font-size: 13px; margin-bottom: 0;
}
.profile-fields td {
  padding: 7px 10px; border-bottom: 1px solid var(--border); vertical-align: top;
}
.profile-fields tr:last-child td { border-bottom: none; }
.profile-fields .lbl {
  width: 30%; color: var(--text-sec); font-weight: 600; white-space: nowrap;
}
.profile-fields .val { color: var(--text); }
.profile-fields tr:nth-child(even) td { background: var(--blue-50); }

/* Data Table (Letzte Beiträge) */
.data-table {
  width: 100%; border-collapse: collapse; font-size: 13px;
}
.data-table th {
  background: var(--blue-50); color: var(--blue-800); padding: 8px 10px;
  text-align: left; font-size: 12px; font-weight: 600; white-space: nowrap;
}
.data-table td {
  padding: 7px 10px; border-bottom: 1px solid var(--border); vertical-align: middle;
}
.data-table tr:nth-child(even) td { background: var(--blue-50); }
.data-table tr:hover td { background: var(--blue-100); }
.data-table td.date { white-space: nowrap; color: var(--text-sec); font-size: 12px; }
.data-table td.subject a { color: var(--blue-600); }


/* Auszeichnungen — originale Forum-Symbole */

/* ===================================================================
   SEITE 19: Showcompany Page
   =================================================================== */

/* Company Tabs Navigation */

/* Company Name */
.company-name {
  font-size: 26px;
  font-weight: 700;
  color: var(--blue-800);
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.company-name::before {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  background: var(--red);
  border-radius: 1px;
  flex-shrink: 0;
}

/* Company Body: Stammdaten links + Chart rechts (Flexbox-Layout wie Vorlage) */
.company-body {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  width: 100%;
  margin-bottom: 16px;
}
.company-body .company-left {
  width: 270px;
  flex-shrink: 0;
  overflow: hidden;
}
.company-body .company-left .card {
  width: 100%;
  box-sizing: border-box;
}
.company-body .stammdaten-card {
  width: 100%;
}
.stammdaten-card table[width="255"] {
  width: 100%;
}
.stammdaten-card td.text_11 {
  padding: 4px 0;
  font-size: 13px;
  border-bottom: 1px solid #f0f0f0;
  line-height: 1.6;
}
.company-chart {
  flex: 1;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fafbfc;
  padding: 8px;
}
.company-chart img {
  width: 100%;
  height: auto;
  display: block;
}

/* Stammdaten Key-Value (für Vorlage-kompatible Divs) */
.stammdaten-label { color: var(--text-sec); }
.stammdaten-value { font-weight: 600; color: var(--text); }
.stammdaten-row {
  display: flex;
  justify-content: space-between;
  padding: 4px 0;
  border-bottom: 1px solid #f0f0f0;
}
.stammdaten-row:last-child { border-bottom: none; }

/* News/Media: CSS Grid Layout (wie Vorlage) */
.news-media-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.news-item {
  padding: 10px 0;
  border-bottom: 1px solid #e8e8e8;
  font-size: 14px;
}
.news-item:last-child { border-bottom: none; }
.news-item-date { font-size: 12px; color: var(--text-sec); margin-bottom: 2px; }
.news-item-headline a { color: var(--text); font-weight: 600; line-height: 1.3; }
.news-item-headline a:hover { color: var(--blue-600); }

/* Section More */
.section-more {
  text-align: right;
  margin-top: 12px;
  padding-top: 8px;
  border-top: 1px solid var(--border);
  font-size: 13px;
}
.section-more a { color: var(--blue-500); font-weight: 600; }
.section-more a:hover { color: var(--blue-600); text-decoration: underline; }

/* Showcompany: Legacy table layout → CSS Grid override */
/* Main content TD: volle Breite nutzen */

/* Sidebar: dotline Hintergrundbild entfernen */
.sidebar-left table[background],
td.sidebar-left table[background] {
  background: none;
  background-image: none;
}

/* ====================================================================
   Showcompany: Kurs-Zeile kompakt + harmonisch
   ==================================================================== */
/* Kurs-Tabelle: Card-Wrapper Stil (Vorlage: .card mit ap-table--detail) */
/* Leere Spacer-Spalte (10px weiß) ausblenden */
/* Header: ap-table--detail thead th Stil */
/* Kurs-Header: grauer Legacy-Hintergrund entfernen */
/* Datenzellen: ap-table--detail td Stil */
/* Kurs-Zeile: kein Hover-Effekt */
/* Kurs-Wert: prominent — Link erbt Farbe vom Kind-<font> */
/* Prozent-Zelle: etwas größer */
/* Pfeil-Icon größer */
/* Interne verschachtelte Tabelle in Namensspalte: kein Border */

/* ====================================================================
   Showcompany: Forum-Embed → forum-item Stil (Vorlage)
   ==================================================================== */
/* User-Link: nicht floaten, als Inline */
/* Titel (b Tag): eigene Zeile */
/* Datum */
/* Forum-Titel Link */
/* Trennlinien entfernen — border-bottom übernimmt */
/* Teaser am Ende: section-more Stil */

/* Kurs-Bar: kompakte Kursanzeige für Unterseiten (Charts, etc.) */
.kurs-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  margin-bottom: 12px;
  background: var(--blue-50);
  border: 1px solid var(--border);
  border-radius: 8px;
}
.kurs-bar-value { font-size: 22px; font-weight: 700; color: var(--text); }
.kurs-bar-change { font-size: 14px; font-weight: 600; }
.kurs-bar-ht { display: grid; grid-template-columns: auto auto auto; gap: 1px 6px; font-size: 12px; color: var(--text-sec); align-items: baseline; }
.kurs-bar-ht-label { text-align: left; }
.kurs-bar-ht-val { text-align: right; font-weight: 600; color: var(--text); }
.kurs-bar-ht-pct { text-align: right; }
.kurs-bar-meta { font-size: 12px; color: var(--text-sec); margin-left: auto; }

/* Showcompany sidebar: Kennzahlen-Nav-Stil */

/* Showcompany tabs: override ul.tabs for showcompany context */

@media (max-width: 960px) {
  .company-body { flex-direction: column; }
  .company-body .company-left { width: 100%; }
  .news-media-grid { grid-template-columns: 1fr; }
}

/* Showcompany Forum: Zweispaltiges Grid (Hauptcontent + Sidebar) */
.sc-forum-grid {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.sc-forum-main {
  flex: 1;
  min-width: 0;
}
.sc-forum-sidebar {
  flex: 0 0 300px;
  min-width: 0;
}

/* Showcompany: Äußeres Flex-Layout (ersetzt table width="890") */
.sc-outer-layout {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  width: 100%;
  max-width: 1440px;
}
.sc-sidebar {
  width: 160px;
  flex-shrink: 0;
}
.sc-main {
  flex: 1;
  min-width: 0;
}

/* "Hot" Badge auf Tabs (z.B. Forum-Tab in showcompany) */
.tab-badge-hot {
  display: inline-block;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: var(--red);
  color: #fff;
  padding: 1px 5px;
  border-radius: 3px;
  vertical-align: super;
  line-height: 1;
  margin-left: 3px;
}

/* ===================================================================
   Unternehmen A-Z: Segment-Grid (5-Spalten)
   =================================================================== */
.page-unternehmen {
  max-width: 1100px;
  margin: 16px auto;
  padding: 0 16px;
}

.segment-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  align-items: start;
}

.segment-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  overflow: hidden;
}

.segment-header {
  background: var(--blue-50);
  border-bottom: 2px solid var(--blue-100);
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 700;
  color: var(--blue-800);
  letter-spacing: 0.2px;
  text-transform: uppercase;
}
.segment-header::before {
  content: '';
  width: 8px; height: 8px;
  background: var(--red);
  border-radius: 1px;
  flex-shrink: 0;
}

.segment-list {
  list-style: none;
  padding: 6px 0;
  margin: 0;
}
.segment-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 3px 12px;
  font-size: 13px;
  border-bottom: 1px solid #f4f4f4;
}
.segment-list li:last-child { border-bottom: none; }
.segment-list li:hover { background: var(--blue-50); }

.seg-name a {
  color: var(--text);
  font-weight: 500;
  text-decoration: none;
}
.seg-name a:hover { color: var(--blue-600); text-decoration: underline; }

.seg-arrow {
  font-size: 10px;
  flex-shrink: 0;
  margin-left: 4px;
}
.seg-arrow.up { color: var(--green); }
.seg-arrow.down { color: var(--red); }
.seg-arrow.flat { color: #aaa; }

.termine-badge {
  background: var(--blue-800, #15335b);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 1px 7px;
  border-radius: 100px;
  flex-shrink: 0;
  margin-left: auto;
  white-space: nowrap;
}

@media (max-width: 960px) {
  .segment-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .segment-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 400px) {
  .segment-grid { grid-template-columns: 1fr; }
}

/* Shared page wrapper for segment-grid pages */
.page-termine-un,
.page-indices,
.page-charts {
  max-width: 1100px;
  margin: 16px auto;
  padding: 0 16px;
}

/* segment-links: link-based variant of segment-list (for termine, charts, indices) */
.segment-links {
  padding: 6px 0;
}
.segment-links a {
  display: block;
  font-size: 13px;
  padding: 3px 12px;
  color: var(--text);
  border-bottom: 1px solid #f4f4f4;
  text-decoration: none;
  font-weight: 500;
  line-height: 1.25;
}
.segment-links a:last-of-type { border-bottom: none; }
.segment-links a:hover { background: var(--blue-50); }
/* Hide legacy HTML artefacts from old include files */
.segment-links img,
.segment-links br,
.segment-links > b { display: none !important; }

/* === News Quicklinks (shownews.html) === */
.news-quicklinks {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 28px 0;
	padding: 20px 0;
	border-top: 1px solid var(--border, #d0d7e3);
	border-bottom: 1px solid var(--border, #d0d7e3);
}
.news-quicklinks a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	background: var(--blue-50, #f0f4fa);
	border: 1px solid var(--border, #d0d7e3);
	border-radius: 6px;
	color: var(--blue-700, #1e4476);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	transition: background 0.15s, border-color 0.15s, box-shadow 0.15s;
}
.news-quicklinks a:hover {
	background: var(--blue-100, #dbe6f5);
	border-color: var(--blue-300, #8dadd4);
	box-shadow: 0 2px 6px rgba(30,68,118,0.10);
	text-decoration: none;
}

.news-quicklinks .ql-icon {
	font-size: 20px;
	line-height: 1;
}

/* === News Navigation (vor/zurück) === */
.news-nav {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 28px 0;
	padding: 16px 20px;
	background: var(--blue-700, #1e4476);
	border-radius: 10px;
	box-shadow: 0 2px 8px rgba(30,68,118,0.15);
}
.news-nav-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #fff;
	color: var(--blue-700, #1e4476);
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
	flex-shrink: 0;
	transition: background 0.15s, transform 0.15s;
}
.news-nav-btn:hover {
	background: var(--blue-100, #dbe6f5);
	transform: scale(1.1);
	text-decoration: none;
}
.news-nav-btn.disabled {
	background: rgba(255,255,255,0.3);
	color: rgba(255,255,255,0.5);
	pointer-events: none;
}
.news-nav-text {
	flex: 1;
	font-size: 14px;
	color: #fff;
	line-height: 1.5;
	min-width: 0;
	text-align: right;
}
.news-nav-text strong {
	color: #fff;
	font-size: 15px;
}

/* === News Medien-Block (Bild + Chart) === */
.news-media {
	float: right;
	width: 380px;
	margin: 0 0 16px 24px;
	border: 1px solid var(--border, #d0d7e3);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 1px 6px rgba(0,0,0,0.06);
}
.news-media-img {
	width: 100%;
	height: auto;
	display: block;
}
.news-chart-card {
	background: var(--blue-50, #f0f4fa);
	overflow: hidden;
}
.news-chart-info {
	display: flex;
	align-items: baseline;
	gap: 10px;
	padding: 10px 14px;
	background: var(--blue-700, #1e4476);
	color: #fff;
}
.news-chart-price {
	font-size: 20px;
	font-weight: 700;
	margin-left: auto;
}
.news-chart-price small {
	font-size: 13px;
	font-weight: 400;
	opacity: 0.7;
}
.news-chart-change {
	font-size: 14px;
	font-weight: 700;
}
.news-chart-info .pos { color: #6fcf7c; }
.news-chart-info .neg { color: #ff8a8a; }
.news-chart-link {
	display: block;
	background: #fff;
	padding: 4px 8px;
}
.news-chart-svg {
	width: 100%;
	height: auto;
	display: block;
	pointer-events: none;
}
.news-chart-meta {
	display: flex;
	justify-content: space-around;
	padding: 8px 14px;
	font-size: 12px;
	color: var(--text-sec, #666);
	border-top: 1px solid var(--border, #d0d7e3);
	background: #fff;
}
.news-chart-meta strong {
	font-weight: 700;
	color: var(--text, #333);
}
@media (max-width: 768px) {
	.news-media { float: none; width: 100%; margin: 0 0 16px 0; }
}

/* === Forum-Kachel-Übersicht === */
.page-forum-index { max-width:1280px; margin:16px auto; padding:0 16px; }
.forum-group-title { font-size:16px; font-weight:700; color:var(--blue-700, #1e4476); margin:24px 0 8px; }
.forum-group-title:first-of-type { margin-top:12px; }
.forum-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:8px; }
.forum-tile {
	position:relative; cursor:pointer;
	padding:16px; border:1px solid var(--border, #d5dde7); border-radius:8px;
	box-shadow:0 1px 4px rgba(0,0,0,0.06); background:#fff;
	transition:border-color 0.15s, background 0.15s;
}
.forum-tile:hover { border-color:var(--blue-300, #8ab2e5); background:var(--blue-50, #f0f4f9); }
.forum-tile-icon { width:36px; height:36px; color:var(--blue-600, #235495); margin-bottom:10px; display:block; }
.forum-tile-icon svg { width:100%; height:100%; }
.forum-tile h2 { font-size:15px; font-weight:700; color:var(--blue-800, #15335b); margin-bottom:6px; }
.forum-tile-desc { font-size:13px; color:var(--text-sec, #5a6272); line-height:1.4; margin-bottom:8px; }
.forum-tile-stats { font-size:12px; color:var(--text-sec, #5a6272); margin-bottom:8px; }
.forum-tile .card-cta { color:var(--blue-600, #235495); font-weight:600; font-size:13px; }
.forum-tile-link { position:absolute; inset:0; z-index:1; }
@media (max-width:768px) { .forum-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px) { .forum-grid { grid-template-columns:1fr; } }

/* Forum Symbolleiste */
.forum-toolbar {
	display:flex; justify-content:center; gap:24px; flex-wrap:wrap;
	padding:6px 0 8px; margin-bottom:4px;
}
.forum-toolbar a {
	display:flex; flex-direction:column; align-items:center; gap:4px;
	text-decoration:none; color:var(--text-sec, #5a6272); font-size:12px; font-weight:600;
}
.forum-toolbar a:hover { color:var(--blue-600, #235495); text-decoration:none; }
.forum-toolbar img { width:22px; height:22px; }


/* Forum Teaser-Zitat (Auszeichnungs-Foren) */
.forum-teaser {
	margin:6px 0 8px 0;
	padding:8px 12px;
	border-left:3px solid var(--blue-300, #8ab2e5);
	background:var(--blue-50, #f0f4f9);
	font-size:13px;
	color:var(--text-sec, #5a6272);
	line-height:1.4;
	border-radius:0 4px 4px 0;
}

/* ============================================
   ANALYST DASHBOARD WIDGET (analysen-kursziele)
   ============================================ */
.analyst-ov-wrap {
  display: block;
  text-decoration: none;
  color: inherit;
}
.analyst-ov-wrap:hover .analyst-panel {
  border-color: var(--blue-300);
  box-shadow: 0 2px 8px rgba(30,68,118,.12);
}
.analyst-dashboard {
  display: flex;
  gap: 10px;
  margin: 14px 0 18px;
  flex-wrap: wrap;
}
.analyst-panel {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: 0 1px 5px rgba(0,0,0,.06);
  padding: 12px 14px;
  flex: 1;
  min-width: 150px;
  transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
  cursor: default;
}
.analyst-panel:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,.10);
  transform: translateY(-2px);
  border-color: var(--blue-300);
}
.analyst-panel:active {
  transform: translateY(0);
  transition-duration: 0.05s;
}
.analyst-panel-title {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-sec);
  border-bottom: 2px solid var(--blue-100);
  padding-bottom: 6px;
  margin-bottom: 9px;
}
/* Panel 1: Top Analyst */
.analyst-top-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--blue-800);
  margin-bottom: 7px;
}
.analyst-bar-wrap {
  background: var(--blue-50);
  border-radius: 3px;
  height: 5px;
  margin: 4px 0;
  overflow: hidden;
}
.analyst-bar-fill { height: 100%; border-radius: 3px; }
.analyst-bar-buy  { background: var(--green); }
.analyst-score {
  font-size: 11px;
  color: var(--text-sec);
  margin: 3px 0 7px;
}
/* Recommendation badges */
/* Panel 2: Price Targets */
.analyst-kz-avg {
  font-size: 19px;
  font-weight: 700;
  color: var(--blue-800);
  margin-bottom: 4px;
}
.analyst-kz-label { font-size: 11px; color: var(--text-sec); font-weight: 400; }
.analyst-range-wrap { margin: 4px 0; }
.analyst-range-bar {
  position: relative;
  height: 4px;
  background: linear-gradient(to right, var(--red), #f59e0b, var(--green));
  border-radius: 2px;
  margin: 18px 0 6px;
}
.analyst-range-marker {
  position: absolute;
  top: -7px;
  width: 3px;
  height: 18px;
  transform: translateX(-50%);
  border-radius: 2px;
}
.analyst-range-avg-m { background: var(--blue-700); }
.analyst-range-cur-m { background: var(--text); }
.analyst-range-tip {
  position: absolute;
  top: -17px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 9px;
  white-space: nowrap;
  background: var(--blue-50);
  color: var(--blue-800);
  border: 1px solid var(--border);
  padding: 1px 4px;
  border-radius: 3px;
}
.analyst-cur-tip { background: var(--blue-50); color: var(--text); }
.analyst-range-labels {
  display: flex;
  justify-content: space-between;
  font-size: 10px;
  color: var(--text-sec);
}
.analyst-kz-upside { font-size: 12px; font-weight: 600; margin-top: 6px; }
.analyst-up   { color: var(--green); }
.analyst-down { color: var(--red); }
/* Panel 3: Monthly chart */
.analyst-monthly-chart {
  display: flex;
  gap: 6px;
  align-items: flex-end;
  height: 70px;
  margin-bottom: 4px;
}
.analyst-month-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}
.analyst-month-bar-wrap {
  flex: 1;
  width: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.analyst-stacked-bar {
  width: 65%;
  display: flex;
  flex-direction: column-reverse;
  border-radius: 3px 3px 0 0;
  overflow: hidden;
  min-height: 3px;
}
.analyst-seg-buy  { background: var(--green); }
.analyst-seg-hold { background: #f59e0b; }
.analyst-seg-sell { background: var(--red); }
.analyst-month-total { font-size: 10px; color: var(--text-sec); margin-top: 2px; }
.analyst-month-label { font-size: 10px; color: var(--text-sec); }
.analyst-month-legend { font-size: 10px; color: var(--text-sec); margin-top: 5px; }
.analyst-leg-buy  { color: var(--green); }
.analyst-leg-hold { color: #f59e0b; }
.analyst-leg-sell { color: var(--red); }
/* Panel 4: Latest rating */
.analyst-latest-table { width: 100%; border-collapse: collapse; }
.analyst-latest-table tr { border-bottom: 1px solid var(--border); }
.analyst-latest-table tr:last-child { border-bottom: none; }
.al-key { font-size: 10px; color: var(--text-sec); padding: 4px 8px 4px 0; width: 40%; vertical-align: top; }
.al-val { font-size: 12px; color: var(--text); padding: 4px 0; font-weight: 500; }
.al-kz  { color: var(--blue-800); font-weight: 700; font-size: 13px; }
@media (max-width: 700px) {
  .analyst-dashboard { flex-direction: column; }
  .analyst-panel { min-width: unset; }
}

/* ============================================
   Design 2027: Footer — heller Grauton
   ============================================ */
.footer {
  background: #f5f6f8;
  color: #5a6272;
  margin-top: 32px;
  border-top: 1px solid #e5e7eb;
  overflow: clip;
}
.footer-inner {
  padding: 0 32px;
}
.footer .large-1,
.footer a.large-1 {
  color: #9ca3af;
  text-decoration: none;
  font-size: 13px;
}
.footer .large-1:hover,
.footer a.large-1:hover {
  color: var(--blue-600);
}

/* Footer action bar (empfehlen, feedback, kontakt) — blauer Balken, volle Breite */
.footer-action-bar {
  background: var(--blue-800, #15335b);
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  justify-content: center;
  align-items: center;
  padding: 14px 16px;
  margin: 0;
  font-size: 13px;
  color: rgba(255,255,255,0.7);
}
.footer-action-bar .glyphicon {
  font-size: 12px;
  color: rgba(255,255,255,0.55);
}
.footer-action-bar a.large-1 {
  color: rgba(255,255,255,0.8);
  text-decoration: none;
  font-size: 13px;
}
.footer-action-bar a.large-1:hover {
  color: #fff;
}
/* Legacy .text_16 inside footer (falls noch referenziert) */
.footer .text_16 {
  font-size: 13px;
  font-weight: inherit;
  color: #9ca3af;
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 12px;
  margin-bottom: 16px;
}

/* Footer columns grid */
.footer-columns {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 24px;
  padding: 24px 0;
}
.footer-columns #leftbottom {
  float: none;
  width: auto;
  padding: 0;
}
.footer-columns #leftbottom .text_18,
.footer-columns #leftbottom a.text_18 {
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
  text-decoration: none;
  display: block;
  margin-bottom: 8px;
}
.footer-columns #leftbottom a {
  color: #6b7280;
  font-size: 13px;
  text-decoration: none;
  line-height: 2;
}
.footer-columns #leftbottom a:hover {
  color: var(--blue-600);
}
.footer-columns #leftbottom b {
  font-weight: 600;
  color: var(--text-sec);
}

@media (min-width: 641px) and (max-width: 960px) {
  .footer-columns {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 640px) {
  .footer-columns {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .footer-action-bar {
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }
}

/* Legal bar — Design 2027: heller Grauton (finale Regel, überschreibt frühere) */
.footer-legal-bar {
  background: #ecedf0;
  padding: 0;
  border-top: 1px solid #e0e2e6;
}
.footer-legal-bar #redbottom {
  max-width: 1280px;
  margin: 0 auto;
  font-size: 12px;
  line-height: 2;
  color: #6b7280;
  text-align: center;
  padding: 14px 16px;
}
.footer-legal-bar #redbottom a {
  color: #6b7280;
  text-decoration: none;
}
.footer-legal-bar #redbottom a:hover {
  color: var(--blue-600);
  text-decoration: none;
}
.footer-legal-bar #redbottom b {
  font-weight: 600;
}
.footer-legal-bar #redbottom b a {
  color: var(--text-sec);
}
.footer-legal-bar #redbottom b a:hover {
  color: var(--blue-600);
}

/* Copyright bar — Design 2027: dezentes Grau */
.footer-copyright {
  background: #e5e7eb;
  color: #9ca3af;
  font-size: 11px;
  line-height: 1.6;
  padding: 12px 16px 20px;
  max-width: 100%;
  text-align: center;
  border-top: 1px solid #dcdfe4;
}
.footer-copyright a {
  color: #9ca3af;
}
.footer-copyright a:hover {
  color: var(--blue-600);
}

/* ============================================================
   Phase 8: Hybrid News-Cards (Homepage + Newsseite)
   news2017.php bleibt unverändert — CSS-only Weiche via Container-Klasse
   ============================================================ */

/* ---- Hauptgrid: 2 Spalten, große Cards (Top-8 News/Media, Top-4 Newsseite) ---- */
.hn-grid-main {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 0;
  padding: 0;
}
/* Trennlinien aus dem Grid entfernen */
.hn-grid-main > .dottedline { display: none; }
.hn-grid-main > .banner-card {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 250px;
  background: var(--bg-secondary);
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  overflow: hidden;
}

/* Card-Wrapper (jeder äußere div von news2017.php)
   Spezifität: .hn-grid-main + 3× Attribut-Selektor + :not → schlägt A1b (Zeile 4447) */
.hn-grid-main > div:not(.dottedline) {
  background: var(--bg-card);
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-card);
  overflow: hidden;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  min-height: 200px;
  background-color: var(--bg-card);
}
.hn-grid-main > div:not(.dottedline):hover {
  box-shadow: var(--shadow-card-hover);
  transform: translateY(-1px);
  transition: box-shadow 0.2s, transform 0.2s;
}

/* Bild-Bereich: float aufheben, 16:9 oben */
.hn-grid-main .news-thumb-link {
  display: block;
  width: 100%;
  overflow: hidden;
  flex-shrink: 0;
  aspect-ratio: 16 / 9;
  line-height: 0;
}
.hn-grid-main .news-thumb {
  float: none;
  margin: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  display: block;
  border-radius: 0;
}

/* Text-Bereich unterhalb des Bildes */
.hn-grid-main > div:not(.dottedline) > div[style*="line-height"] {
  padding: 12px 14px 14px;
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 6px;
  line-height: normal;
}
/* Default: alle Kinder nehmen volle Breite (= eigene Zeile) */
.hn-grid-main > div:not(.dottedline) > div[style*="line-height"] > * {
  width: 100%;
  flex-shrink: 0;
}
/* Firmenname + Kurs teilen sich eine Zeile */
.hn-grid-main > div:not(.dottedline) > div[style*="line-height"] > a.small-3 {
  width: auto;
}
/* <br> zwischen Firma/Kurs und Datum entfernen */
.hn-grid-main > div:not(.dottedline) > div[style*="line-height"] > br {
  display: none;
}

/* Firmenname — größer + Farbe vom Inline-Style durchlassen */
.hn-grid-main a.small-3 h2 {
  font-size: 16px;
  font-weight: 700;
  margin: 0;
  display: inline;
}
/* Kurs-Link: größer + Farbe durchlassen */
.hn-grid-main a.small-3:not(:has(h2)) {
  font-size: 13px;
  font-weight: 600;
}
/* Inline-Farben auf Design-2027-Palette mappen */
/* Schwarze Farbe → normaler Text */
/* Datum */
.hn-grid-main font.small-3 {
  font-size: 12px;
  color: var(--text-sec);
  display: block;
  margin-bottom: 2px;
}
/* Headline */
.hn-grid-main a.large-1 {
  text-decoration: none;
}
.hn-grid-main a.large-1 h3 {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  margin: 4px 0;
  color: var(--text);
}
.hn-grid-main a.large-1:hover h3 { color: var(--blue-600); }

/* Subtitel */
.hn-grid-main > div:not(.dottedline) > div[style*="line-height"] > div[style*="font-size"] {
  font-size: 13px;
  color: var(--text-sec);
  line-height: 1.45;
  margin-top: 2px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Kurs (small-3 inline) */
.hn-grid-main a.small-3:not(:has(h2)) {
  font-size: 12px;
  font-weight: 600;
}

/* Empfehlung-Badge: kompakt, rechts */
.hn-grid-main .news-empfehlung {
  float: right;
  display: inline-block;
  margin: 4px 0;
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 4px;
  width: auto;
}

/* Quelle — prominenter Badge oben im Text-Bereich */
.hn-grid-main .news-meta {
  order: -1;
  margin-top: 0;
  margin-bottom: 4px;
  padding: 0;
}
.hn-grid-main .news-meta-source {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  color: var(--blue-700);
  background: var(--blue-50);
  padding: 2px 8px;
  border-radius: 3px;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

/* "Premium Text Card" wenn kein Bild vorhanden:
   news-thumb-link wird per onerror auf display:none gesetzt →
   der flex-container schrumpft nicht mehr auf das Bild.
   Wir geben der Card trotzdem min-height + sanften Akzent. */
.hn-grid-main > div:not(.dottedline):not(:has(.news-thumb-link:not([style*="display:none"]))) > div[style*="line-height"] {
  padding: 16px;
  background: var(--blue-50);
  border-left: 3px solid var(--blue-300);
  flex: 1;
}

/* Section-More Link: außerhalb der Cards */
.hn-section-more {
  display: flex;
  justify-content: space-between;
  padding: 10px 0 4px;
  font-size: 13px;
}
.hn-section-more a { color: var(--blue-600); text-decoration: none; }
.hn-section-more a:hover { text-decoration: underline; }

/* Card-Titel der News-Sektion ausblenden (Überschriften entfernt) */
.hn-no-title .card-title { display: none; }

/* Responsive */
@media (max-width: 960px) {
  .hn-grid-main { grid-template-columns: 1fr 1fr; }
  .hn-grid-medium { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .hn-grid-main { grid-template-columns: 1fr; }
  .hn-grid-medium { grid-template-columns: 1fr; }
}

/* ============================================================
   Phase 9: Magazine-Overlay Cards (Bild-Cards in .hn-grid-main)
   Bild füllt gesamte Card, Text mit Gradient-Overlay unten,
   Empfehlung als Badge top-right. CSS-only, news2017.php unverändert.
   ============================================================ */

/* ---- 1. Card-Wrapper: Flex → Grid für Bild-Cards ---- */
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  flex-direction: unset;
  position: relative;
  min-height: 300px;
  overflow: hidden;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

/* ---- 2. Bild füllt gesamte Card ---- */
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) > .news-thumb-link {
  grid-area: 1 / 1;
  aspect-ratio: unset;
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden;
}
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) > .news-thumb-link > .news-thumb {
  height: 100%;
  transition: transform 0.4s ease;
}

/* ---- 3. Gradient-Overlay (::after auf Card-Wrapper) ---- */
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"]))::after {
  content: "";
  grid-area: 1 / 1;
  align-self: end;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.7) 30%, rgba(0,0,0,0.35) 55%, rgba(0,0,0,0.12) 75%, transparent 100%);
  z-index: 1;
  pointer-events: none;
}

/* ---- 4. Text-Overlay am unteren Rand ---- */
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) > div[style*="line-height"] {
  grid-area: 1 / 1;
  align-self: end;
  z-index: 2;
  padding: 60px 16px 16px 16px;
  background: transparent;
  border-left: none;
}

/* ---- 5. Weiße Textfarben für Overlay-Kontext ---- */
/* Company Name — weiß, GRÖSSER */
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) a.small-3 h2 {
  color: #ffffff;
  font-size: 20px;
  text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) a.small-3 {
  color: #ffffff;
  text-shadow: 0 1px 2px rgba(0,0,0,0.4);
}
/* Kurs grün → kräftiger auf dunklem Hintergrund (nur Kurs-Link, NICHT h2/Firmenname) */
/* Kurs rot → kräftiger auf dunklem Hintergrund (nur Kurs-Link, NICHT h2/Firmenname) */
/* Datum — weiß/halbtransparent */
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) font.small-3 {
  color: rgba(255,255,255,0.8);
}
/* Headline — weiß, größer, Textschatten */
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) a.large-1 h3 {
  color: #ffffff;
  font-size: 17px;
  text-shadow: 0 1px 4px rgba(0,0,0,0.5), 0 0 8px rgba(0,0,0,0.3);
}
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) a.large-1:hover h3 {
  color: rgba(255,255,255,0.9);
}
/* Subtitel — weiß/halbtransparent, 2 Zeilen */
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) > div[style*="line-height"] > div[style*="font-size"] {
  color: rgba(255,255,255,0.85);
  -webkit-line-clamp: 2;
  text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) > div[style*="line-height"] > div[style*="font-size"] a {
  color: rgba(255,255,255,0.85);
}
/* Source-Badge — halbtransparent auf dunklem Hintergrund */
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) .news-meta-source {
  background: rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.9);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border: 1px solid rgba(255,255,255,0.1);
}

/* ---- 6. Empfehlung-Badge als Overlay (top-right, SOLIDE) ---- */
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) .news-empfehlung {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  float: none;
  margin: 0;
  width: auto;
  font-size: 12px;
  padding: 6px 12px;
  border-radius: 8px;
  border: none;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  line-height: 1.3;
}
/* Buy → solides Grün */
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) .news-empfehlung.emp-buy {
  background: #16a34a;
  color: #ffffff;
}
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) .news-empfehlung.emp-buy b,
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) .news-empfehlung.emp-buy .emp-value {
  color: #ffffff;
}
/* Hold → solides Orange */
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) .news-empfehlung.emp-hold {
  background: #d97706;
  color: #ffffff;
}
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) .news-empfehlung.emp-hold b,
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) .news-empfehlung.emp-hold .emp-value {
  color: #ffffff;
}
/* Sell → solides Rot */
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) .news-empfehlung.emp-sell {
  background: #dc2626;
  color: #ffffff;
}
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) .news-empfehlung.emp-sell b,
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) .news-empfehlung.emp-sell .emp-value {
  color: #ffffff;
}
/* Neutral → solides Grau */
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) .news-empfehlung.emp-neutral {
  background: rgba(0,0,0,0.5);
  color: #ffffff;
}

/* ---- 7. Hover-Zoom auf Bild ---- */
.hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])):hover .news-thumb {
  transform: scale(1.03);
}

/* ---- 8. Responsive: Magazine-Overlay Mobile ---- */
@media (max-width: 640px) {
  .hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) {
    min-height: 250px;
  }
  .hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) > div[style*="line-height"] {
    padding: 50px 12px 12px 12px;
  }
  .hn-grid-main > div:not(.dottedline):has(.news-thumb-link:not([style*="display:none"])) a.large-1 h3 {
    font-size: 15px;
  }
}

/* ============================================================
   Phase 9b: 3-Stufen-Layout — Medium Grid + Listen-Ansicht
   ============================================================ */

/* ---- Medium Grid: 3 Spalten, mittlere Cards mit Bild ---- */
.hn-grid-medium {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 14px;
  padding: 0;
}
.hn-grid-medium > .dottedline { display: none; }
.hn-grid-medium > div:not(.dottedline) {
  background: var(--bg-card);
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-card);
  overflow: hidden;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  background-color: var(--bg-card);
  position: relative;
}
.hn-grid-medium > div:not(.dottedline):hover {
  box-shadow: var(--shadow-card-hover);
  transition: box-shadow 0.2s;
}
/* Bild: volle Breite, mittlere Höhe */
.hn-grid-medium .news-thumb-link {
  display: block;
  width: 100%;
  overflow: hidden;
  flex-shrink: 0;
  aspect-ratio: 16 / 9;
  line-height: 0;
}
.hn-grid-medium .news-thumb {
  float: none;
  margin: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0;
  transition: transform 0.3s ease;
}
.hn-grid-medium > div:not(.dottedline):hover .news-thumb {
  transform: scale(1.02);
}
/* Text-Bereich */
.hn-grid-medium > div:not(.dottedline) > div[style*="line-height"] {
  padding: 10px 12px 12px;
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 1px 5px;
  line-height: normal;
}
.hn-grid-medium > div:not(.dottedline) > div[style*="line-height"] > * {
  width: 100%;
  flex-shrink: 0;
}
.hn-grid-medium > div:not(.dottedline) > div[style*="line-height"] > a.small-3 {
  width: auto;
}
.hn-grid-medium > div:not(.dottedline) > div[style*="line-height"] > br {
  display: none;
}
/* Firmenname */
.hn-grid-medium a.small-3 h2 {
  font-size: 13px;
  font-weight: 700;
  margin: 0;
  display: inline;
}
/* Kurs */
.hn-grid-medium a.small-3:not(:has(h2)) {
  font-size: 12px;
  font-weight: 600;
}
/* Farbmapping */
/* Headline */
.hn-grid-medium a.large-1 { text-decoration: none; }
.hn-grid-medium a.large-1 h3 {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  margin: 3px 0;
  color: var(--text);
}
.hn-grid-medium a.large-1:hover h3 { color: var(--blue-600); }
/* Datum */
.hn-grid-medium font.small-3 {
  font-size: 11px;
  color: var(--text-sec);
}
/* Subtitel ausblenden */
.hn-grid-medium > div:not(.dottedline) > div[style*="line-height"] > div[style*="font-size"] {
  display: none;
}
/* Empfehlung: Overlay rechts oben auf Bild, solide Farben */
.hn-grid-medium > div:not(.dottedline) > div[style*="line-height"] > a.news-empfehlung {
  display: inline-block;
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 3;
  font-size: 11px;
  padding: 3px 8px;
  margin: 0;
  float: none;
  width: auto;
  box-shadow: 0 2px 6px rgba(0,0,0,0.25);
  border: none;
  border-radius: 8px;
  color: #fff;
}
.hn-grid-medium > div:not(.dottedline) > div[style*="line-height"] > a.news-empfehlung b,
.hn-grid-medium > div:not(.dottedline) > div[style*="line-height"] > a.news-empfehlung .emp-value { color: #fff; }
.hn-grid-medium > div:not(.dottedline) > div[style*="line-height"] > a.news-empfehlung.emp-buy { background: #16a34a; }
.hn-grid-medium > div:not(.dottedline) > div[style*="line-height"] > a.news-empfehlung.emp-hold { background: #d97706; }
.hn-grid-medium > div:not(.dottedline) > div[style*="line-height"] > a.news-empfehlung.emp-sell { background: #dc2626; }
.hn-grid-medium > div:not(.dottedline) > div[style*="line-height"] > a.news-empfehlung.emp-neutral { background: rgba(0,0,0,0.5);
}
/* Quelle */
.hn-grid-medium .news-meta { order: -1; margin: 0 0 3px; padding: 0; }
.hn-grid-medium .news-meta-source {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  color: var(--blue-700);
  background: var(--blue-50);
  padding: 1px 6px;
  border-radius: 2px;
  text-transform: uppercase;
}
/* Zebra Override */
.hn-grid-medium > div[style*="background"] { background: var(--bg-card); }
/* No-image Fallback */
.hn-grid-medium > div:not(.dottedline):not(:has(.news-thumb-link:not([style*="display:none"]))) > div[style*="line-height"] {
  padding: 14px 12px;
  background: var(--blue-50);
  border-left: 3px solid var(--blue-300);
}

/* ---- Listen-Ansicht: kleines Bild links + Text rechts ---- */
.hn-grid-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 8px;
  padding: 0;
  border-top: 1px solid var(--border);
}
.hn-grid-list > .dottedline { display: none; }
.hn-grid-list > div:not(.dottedline) {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--border);
  background: transparent;
  overflow: hidden;
  position: relative;
}
/* Bild: kleines Rechteck links */
.hn-grid-list .news-thumb-link {
  display: block;
  width: 120px;
  min-width: 120px;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: var(--radius-sm);
  line-height: 0;
  aspect-ratio: 16 / 10;
}
.hn-grid-list .news-thumb {
  float: none;
  margin: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: var(--radius-sm);
}
/* Text-Bereich rechts */
.hn-grid-list > div:not(.dottedline) > div[style*="line-height"] {
  flex: 1;
  min-width: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 1px 5px;
  line-height: normal;
}
.hn-grid-list > div:not(.dottedline) > div[style*="line-height"] > * {
  width: 100%;
  flex-shrink: 0;
}
.hn-grid-list > div:not(.dottedline) > div[style*="line-height"] > a.small-3 {
  width: auto;
}
.hn-grid-list > div:not(.dottedline) > div[style*="line-height"] > br {
  display: none;
}
/* Firmenname */
.hn-grid-list a.small-3 h2 {
  font-size: 13px;
  font-weight: 700;
  margin: 0;
  display: inline;
}
.hn-grid-list a.small-3:not(:has(h2)) {
  font-size: 12px;
  font-weight: 600;
}
/* Farbmapping */
/* Headline */
.hn-grid-list a.large-1 { text-decoration: none; }
.hn-grid-list a.large-1 h3 {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  margin: 2px 0;
  color: var(--text);
}
.hn-grid-list a.large-1:hover h3 { color: var(--blue-600); }
/* Datum */
.hn-grid-list font.small-3 {
  font-size: 11px;
  color: var(--text-sec);
}
/* Subtitel: 1 Zeile */
.hn-grid-list > div:not(.dottedline) > div[style*="line-height"] > div[style*="font-size"] {
  font-size: 12px;
  color: var(--text-sec);
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 1px;
}
/* Empfehlung: rechts oben in der Zeile */
.hn-grid-list > div:not(.dottedline) > div[style*="line-height"] > a.news-empfehlung {
  display: inline-block;
  position: absolute;
  top: 10px;
  right: 0;
  z-index: 3;
  font-size: 11px;
  padding: 2px 8px;
  margin: 0;
  float: none;
  width: auto;
}
/* Quelle: sichtbar wie bei medium */
.hn-grid-list .news-meta { order: -1; margin: 0 0 2px; padding: 0; }
.hn-grid-list .news-meta-source {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  color: var(--blue-700);
  background: var(--blue-50);
  padding: 1px 6px;
  border-radius: 2px;
  text-transform: uppercase;
}

/* ---- Responsive: Medium + List ---- */
@media (max-width: 960px) {
  .hn-grid-medium { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .hn-grid-medium { grid-template-columns: 1fr; }
  .hn-grid-list .news-thumb-link { width: 90px; min-width: 90px; }
}


/* ============================================================
   === RESPONSIVE (ehemals responsive.css) ===
   Zusammengeführt in design2026.css
   ============================================================ */

/* ============================================
   RESPONSIVE.CSS - aktie.at
   ============================================ */

/* --- Basis (alle Größen) --- */

.header, #submenu1, #submenu2, #werbung_top,
#container {
  max-width: 100%;
  box-sizing: border-box;
}
img { max-width: 100%; height: auto; }

/* Kurs-Pfeile (pfeil*.gif) größer darstellen */

/* News-Navigation: Pfeile größer und vertikal zentriert */
img[src*="pfeil_links"], img[src*="pfeil_rechts"] {
  width: 24px !important;
  height: 24px !important;
  vertical-align: middle !important;
}


/* Tabellen + feste Breiten: responsive */
table { max-width: 100%; }
table[width="900"], table[width="745"], table[width="890"] { width: 100% !important; max-width: 100%; }
/* Footer: feste Breite beibehalten, nicht auf 100% stretchen */
/* Footer-Spalten: etwas breiter, weniger Padding → weniger Umbruch */
#leftbottom { width: 143px !important; padding: 8px 4px !important; }
.content-inner { box-sizing: border-box; }
.content-inner img { max-width: 100%; height: auto; }
ins.adsbygoogle { max-width: 100% !important; }

/* Forum: Messages */
#message { max-width: 100%; box-sizing: border-box; }
#message blockquote { word-wrap: break-word; overflow-wrap: break-word; }
#message img { max-width: 100%; height: auto; }

/* Forum: Content-Bereich + Layout-Container responsive */
div#content { max-width: 100% !important; }
.footer { min-width: 0 !important; max-width: 100%; }
/* #right_ad ist jetzt Flex-Sidebar im .content Layout */


/* --- TABLET (max-width: 960px) --- */

@media (max-width: 960px) {
  .content { flex-direction: column; align-items: center; }
  .content-inner { padding: 10px 16px 0; }
  #right_ad { display: none; }
  .header { width: 100% !important; }


  /* INDEX: 3-Spalten → Content+Right nebeneinander, Left unter Right */
  #container { display: flex !important; flex-wrap: wrap !important; }
  #container #content { float: none !important; width: 63% !important; order: 0; }
  #container #right { float: none !important; width: 35% !important; order: 0; margin-left: auto; }
  #container #left { float: none !important; width: 35% !important; order: 1; margin-left: auto; }

  /* NEWS: content-inner flex nur wenn left_news/right_news vorhanden */
  .content-inner:has(.left_news),
  .content-inner:has(.right_news) {
    display: flex !important; flex-wrap: wrap !important;
    align-items: flex-start !important;
  }
  /* Störende BR/Text-Nodes im Flex-Container ausblenden */
  .content-inner > br { display: none; }
  .left_news, #left_news {
    width: 68% !important; float: none !important; order: 0;
  }
  .right_news, #right_news {
    width: 30% !important; float: none !important; order: 1;
    position: relative !important; top: auto !important; right: auto !important;
    left: auto !important; margin: 0 !important;
  }


  #message { width: 100% !important; }

  /* Forum: feste Breiten aufheben */
  .content { width: 100% !important; box-sizing: border-box; }
  div#content { width: 100% !important; box-sizing: border-box; }
  .footer { min-width: 0 !important; width: 100% !important; }

  /* showcompany: Tabs fließend umbrechen */
  ul.tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }
  ul.tabs li { flex-shrink: 0 !important; }

  /* showcompany: innere Tabellen responsive */
  .content-inner table[width="726"],
  .content-inner table[width="760"],
  .content-inner table[width="550"],
  .content-inner table[width="460"],
  .content-inner table[width="600"] {
    width: 100% !important;
  }

  /* Chart-Bilder responsive (auch Tablet) */
  .content-inner img[width="250"],
  .content-inner img[width="460"],
  .content-inner img[width="400"],
  .content-inner img[width="370"] {
    max-width: 100% !important;
    height: auto !important;
  }

  /* Charts: Zellen untereinander ab Tablet */
  .content-inner table[width="600"] > tbody > tr > td {
    display: block !important;
    width: 100% !important;
  }

}


/* --- MOBILE (max-width: 640px) --- */

@media (max-width: 640px) {
  body { margin-left: 0 !important; padding: 0; }

  /* Single Column — #left ans Ende, #content zuerst */
  #container { display: flex !important; flex-direction: column !important; }
  #container #content { order: 0; }
  #container #right { order: 1; }
  #container #left { order: 2; }
  #container #left, #container #content, #container #right,
  #left, #right, #left_news, #right_news, .left_news, .right_news {
    float: none !important; width: 100% !important; display: block !important;
    position: relative !important; top: auto !important; right: auto !important;
  }

  /* Firmenseite Inline-Style Divs */

  /* Header */
  .header { width: 100% !important; min-height: auto !important; }
  #logoline { width: 100%; }
  #toprightsmall { display: none !important; }

  /* Werbung */
  #werbung_top { width: 100% !important; margin-left: 0 !important; }

  /* Forum: Layout responsive */
  .content { width: 100% !important; padding: 0 16px !important; }
  div#content { width: 100% !important; }
  .footer { min-width: 0 !important; width: 100% !important; }
  #message { width: 100% !important; }
  #message .div_right { float: none !important; margin-bottom: 5px; }
  #message .div_left { margin-right: 0 !important; }
  td[nowrap] { white-space: normal !important; }
  body[leftmargin] { margin-left: 0 !important; }

  /* Forum: Tabellen-Overflow scrollbar */
  .dcborder, table.dcborder { width: 100% !important; }
  .dcborder td { word-break: break-word; }
  table[cellspacing] { table-layout: auto; }

  /* Breite Tabellen: horizontales Scrollen via Wrapper */
  .content, div#content {
    overflow-x: auto !important; -webkit-overflow-scrolling: touch;
  }

  /* News: right_news unter left_news (nicht neben) */
  .left_news, #left_news { margin: 0 !important; }
  .right_news, #right_news { margin: 0 !important; margin-top: 10px !important; }

  /* === SHOWCOMPANY: Mobile Layout === */

  /* Sidebar ausblenden */
  .content-inner > table[width="890"] > tbody > tr > td[width="160"],
  .content-inner > table > tbody > tr > td[width="160"] {
    display: none !important;
  }

  /* Hauptcontent volle Breite */
  .content-inner > table[width="890"] > tbody > tr > td:last-child,
  .content-inner > table > tbody > tr > td[valign="top"] {
    display: block !important;
    width: 100% !important;
  }

  /* Tabs: kompakt, scrollbar */
  ul.tabs {
    font-size: 13px !important;
    border-bottom: 2px solid var(--blue-700, #1e4476);
  }
  ul.tabs li a {
    padding: 6px 10px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
  }

  /* Chart-Bilder responsive */
  .content-inner img[width="460"],
  .content-inner img[width="400"],
  .content-inner img[width="370"],
  .content-inner img[width="250"] {
    width: 100% !important;
    height: auto !important;
  }

  /* Charts-Tabelle: Zellen untereinander */
  .content-inner table[width="600"] {
    width: 100% !important;
  }
  .content-inner table[width="600"] > tbody > tr > td {
    display: block !important;
    width: 100% !important;
  }

  /* Forum innerhalb showcompany: absolute Positionierung aufheben */

  /* showcompany: Sidebar-Tabelle nur innerhalb der Sidebar-Zelle ausblenden */
  td[width="160"] table[width="160"] { display: none !important; }

  /* topflop / unternehmen: Spalten untereinander auf Mobile */

  /* Firmen-Tabellen volle Breite */
  .content-inner table[width="160"] {
    width: 100% !important;
  }
  /* Hintergrundbild für 160px entfernen */
  .content-inner table[width="160"][background] {
    background: none !important;
  }

  /* content-inner: horizontal scrollbar statt overflow hidden */
  .content-inner { overflow-x: auto; }

  /* ATX Intraday-Chart-Tabelle auf Mobile ausblenden */
  table[width="50%"] { display: none !important; }

  /* ChartCheck: Submenu-Navigation mobil umbrechen */
  div.submenu { white-space: normal !important; line-height: 1.8; padding: 6px 8px !important; }
  div.submenu br { display: none !important; }
  div.submenu a, div.submenu b { display: inline-block !important; margin: 2px 3px 2px 0 !important; white-space: nowrap !important; }

  /* TopFlop: Karten stapeln */
  .topflop-grid { flex-direction: column !important; }
  .topflop-grid .card { width: 100% !important; }

  /* Politik + Meistgelesen: Einspaltig */
  .page-politik-inner, .page-meistgelesen-inner { flex-direction: column !important; }
  .page-politik .right_news, .page-meistgelesen .right_news { width: 100% !important; flex: none !important; }

  /* Showcompany: Outer Layout einspaltig */
  .sc-outer-layout { flex-direction: column !important; align-items: stretch !important; }
  .sc-sidebar { width: 100% !important; }
  .sc-main { width: 100% !important; min-width: 0 !important; }

  /* Showcompany Forum: Einspaltig */
  .sc-forum-grid { flex-direction: column !important; }
  .sc-forum-sidebar { flex: none !important; width: 100% !important; }

  /* Brokervergleich: Mobile */
  .broker-page .broker-head { flex-direction: column !important; align-items: flex-start !important; }
  .broker-page .stats { grid-template-columns: repeat(2,1fr) !important; }
  .broker-page thead th { font-size: 11px !important; padding: 6px 4px !important; }
  .broker-page td { font-size: 12px !important; padding: 6px 4px !important; }

  /* Showcompany Übersicht: Einspaltig */
  .company-body { flex-direction: column !important; }
  .company-body .company-left { width: 100% !important; flex-shrink: 1 !important; }
  .stammdaten-row { font-size: 13px; }
  .stammdaten-label { min-width: 120px; }
}

/* === WATCHLIST / MERKEN === */
.wl-star{cursor:pointer;color:var(--blue-600, #235495);font-size:18px;transition:transform var(--transition-fast),color var(--transition-fast);user-select:none;-webkit-tap-highlight-color:transparent;line-height:1;}
.wl-star.on{color:#e6a817;}
.wl-star.pop{transform:scale(1.15);}
.wl-hover{position:relative;display:inline-block;padding-right:22px;}
.wl-hover>.wl-star{position:absolute;right:2px;top:50%;transform:translateY(-50%);opacity:0;pointer-events:none;font-size:14px;transition:opacity 0.2s ease 0.3s;}
.wl-hover:hover>.wl-star{opacity:1;pointer-events:auto;transition:opacity 0.15s ease 0s;}
.wl-hover>.wl-star.on{opacity:1;pointer-events:auto;transition:none;}
.header-watchlist-icon{display:flex;align-items:center;width:38px;height:38px;justify-content:center;font-size:24px;color:var(--blue-600, #235495);flex-shrink:0;text-decoration:none;}
.header-watchlist-icon.has-items{color:#e6a817;}
.gemerkt-row{display:flex;align-items:center;gap:8px;padding:5px 10px;text-decoration:none;color:inherit;border-bottom:1px solid #f0f0f0;}
.gemerkt-row:hover{background:var(--blue-50);}
.gemerkt-row:last-child{border-bottom:none;}
.gemerkt-row .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;}
.gemerkt-row .price{font-size:13px;font-weight:600;white-space:nowrap;}
.gemerkt-row .pct{font-size:12px;font-weight:600;min-width:52px;text-align:right;white-space:nowrap;}
.gemerkt-remove{display:none;width:20px;text-align:center;font-size:16px;color:#b0b0b0;cursor:pointer;flex-shrink:0;line-height:1;}
.gemerkt-row:hover .gemerkt-remove{display:block;}
.gemerkt-remove:hover{color:var(--red);}
.gemerkt-more{display:block;text-align:center;padding:8px;font-size:12px;color:var(--blue-600);cursor:pointer;}
.gemerkt-more:hover{background:var(--blue-50);}
.wl-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--blue-900);color:#fff;padding:8px 18px;border-radius:var(--radius-sm);font-size:13px;z-index:9999;opacity:0;transition:opacity .3s;pointer-events:none;}
.wl-toast.show{opacity:1;}
@media(max-width:720px){.wl-star-desktop{display:none;}}
@media(max-width:720px){.kl-sec{display:none !important;}}

/* === MEINE WERTE — Premium Karten-Layout === */

/* Page Header */
.mw-page-header{margin:10px 0 18px;padding:0 4px;}
.mw-page-header h1{font-size:28px;font-weight:700;color:var(--blue-800);margin:0 0 2px;line-height:1.2;letter-spacing:-0.01em;}
.mw-page-header .mw-subtitle{font-size:14px;color:var(--text-sec);display:block;margin-top:4px;}

/* Toolbar */
.mw-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:20px;padding:0 2px;}
.mw-sort{display:flex;align-items:center;gap:0;font-size:13px;}
.mw-sort-label{color:var(--text-sec);margin-right:8px;font-weight:500;}
.mw-sort a{color:var(--text-sec);text-decoration:none;padding:5px 12px;border:1px solid var(--border);background:var(--bg-card);transition:all var(--transition-fast);}
.mw-sort a:first-of-type{border-radius:var(--radius-sm) 0 0 var(--radius-sm);}
.mw-sort a:last-of-type{border-radius:0 var(--radius-sm) var(--radius-sm) 0;}
.mw-sort a+a{border-left:none;}
.mw-sort a:hover{background:var(--blue-50);color:var(--blue-600);}
.mw-sort a.active{background:var(--blue-600);color:#fff;border-color:var(--blue-600);}
.mw-toolbar-actions{display:flex;gap:10px;align-items:center;}
.mw-toolbar-actions a{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--blue-600);text-decoration:none;padding:6px 14px;border:1px solid var(--blue-200);border-radius:var(--radius-sm);background:var(--bg-card);transition:all var(--transition-fast);}
.mw-toolbar-actions a:hover{background:var(--blue-50);border-color:var(--blue-400);}
.mw-toolbar-actions a svg{width:14px;height:14px;}

/* Cards Container */
.mw-cards{display:flex;flex-direction:column;gap:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);}

/* Individual Card Row */
.mw-card{padding:0;border-bottom:1px solid var(--border);transition:background var(--transition-fast);}
.mw-card:last-child{border-bottom:none;}
.mw-card:hover{background:var(--bg-secondary);}

/* Card Header: Kursliste-style row */
.mw-card-head{display:flex;align-items:center;gap:12px;padding:12px 18px;cursor:pointer;user-select:none;}
.mw-card-head .mw-rank{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:var(--blue-50);color:var(--blue-600);font-size:11px;font-weight:700;border-radius:50%;flex-shrink:0;}
.mw-card-head .mw-name-col{min-width:120px;max-width:200px;flex:1 1 200px;}
.mw-card-head .mw-name-col a{font-size:14px;font-weight:700;color:var(--blue-800);text-decoration:none;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mw-card-head .mw-name-col a:hover{color:var(--blue-600);}
.mw-card-head .mw-name-col .mw-segment{font-size:10px;text-transform:uppercase;letter-spacing:0.5px;color:var(--text-sec);margin-top:1px;display:block;}
.mw-card-head .mw-chart-link{flex-shrink:0;display:block;line-height:0;}
.mw-card-head .mw-sparkline{width:120px;height:36px;object-fit:contain;display:block;flex-shrink:0;border-radius:4px;}
.mw-card-head .mw-price-col{text-align:right;flex-shrink:0;min-width:80px;}
.mw-card-head .mw-price-col .mw-price-val{font-size:16px;font-weight:700;color:var(--text);display:block;line-height:1.2;font-variant-numeric:tabular-nums;}
.mw-card-head .mw-change-col{text-align:right;flex-shrink:0;min-width:70px;}
.mw-card-head .mw-change-col .mw-pct{font-size:13px;font-weight:700;display:block;line-height:1.2;font-variant-numeric:tabular-nums;}
.mw-card-head .mw-change-col .mw-pct.pos{color:var(--green);}
.mw-card-head .mw-change-col .mw-pct.neg{color:var(--red);}
.mw-card-head .mw-change-col .mw-abs{font-size:11px;display:block;font-variant-numeric:tabular-nums;}
.mw-card-head .mw-change-col .mw-abs.pos{color:var(--green);}
.mw-card-head .mw-change-col .mw-abs.neg{color:var(--red);}
.mw-card-head .mw-vortag-col{text-align:right;flex-shrink:0;min-width:60px;font-size:12px;color:var(--text-sec);}
.mw-card-head .mw-vortag-label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:0.3px;opacity:0.6;}
.mw-card-head .mw-vortag-val{font-variant-numeric:tabular-nums;font-weight:500;}
.mw-card-head .mw-hl-col{text-align:right;flex-shrink:0;min-width:62px;font-size:12px;font-variant-numeric:tabular-nums;}
.mw-card-head .mw-hl-hoch{display:block;color:var(--green);font-weight:500;}
.mw-card-head .mw-hl-tief{display:block;color:var(--red);font-weight:500;}
.mw-card-head .mw-bidask-col{text-align:center;flex-shrink:0;min-width:80px;font-size:12px;color:var(--text-sec);font-variant-numeric:tabular-nums;}
.mw-card-head .mw-bidask-sep{opacity:0.4;margin:0 2px;}
.mw-card-head .mw-vol-col{text-align:right;flex-shrink:0;min-width:65px;font-size:12px;color:var(--text-sec);font-variant-numeric:tabular-nums;font-weight:500;}
.mw-card-head .mw-toggle{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-sec);font-size:13px;transition:all var(--transition-fast);flex-shrink:0;}
.mw-card-head .mw-toggle:hover{background:var(--blue-50);color:var(--blue-600);border-color:var(--blue-400);}
.mw-card-head .mw-toggle.open{transform:rotate(180deg);}
.mw-card-head .mw-remove-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-sec);font-size:16px;transition:all var(--transition-fast);flex-shrink:0;padding:0;}
.mw-card-head .mw-remove-btn:hover{background:#fef2f2;border-color:#fca5a5;color:var(--red);}

/* Card Detail Panel (expandable) */
.mw-card-detail{display:none;padding:0 18px 16px 56px;border-top:1px solid #f0f0f0;}
.mw-card-detail.open{display:block;}

/* Detail Grid: 3 columns — Kennzahlen+Signale+Termine+Insider | News+Media | Forum */
.mw-detail-grid{display:grid;grid-template-columns:1fr 1.2fr 0.8fr;gap:20px;padding-top:14px;}

/* Shared column title */
.mw-col-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.8px;color:var(--blue-600);margin-bottom:8px;padding-bottom:4px;border-bottom:2px solid var(--blue-100);}

/* Column: Kennzahlen + Sub-Sections */
.mw-col-data .mw-details{margin:0;padding:0;list-style:none;font-size:13px;color:var(--text-sec);}
.mw-col-data .mw-details li{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid #f5f5f5;}
.mw-col-data .mw-details li:last-child{border-bottom:none;}
.mw-col-data .mw-details .val{font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;}
.mw-link{display:inline-flex;align-items:center;gap:4px;margin-top:8px;font-size:12px;font-weight:500;color:var(--blue-600);text-decoration:none;padding:3px 8px;border:1px solid var(--blue-200);border-radius:var(--radius-sm);transition:all var(--transition-fast);}
.mw-link:hover{background:var(--blue-50);border-color:var(--blue-400);}

/* Sub-sections: Signale, Termine, Insider */
.mw-sub-section{margin-top:12px;}
.mw-sub-section .mw-col-title{margin-bottom:6px;}
.mw-signal-list,.mw-termine-list,.mw-insider-list{margin:0;padding:0;list-style:none;font-size:12px;line-height:1.5;}
.mw-signal-list li,.mw-termine-list li,.mw-insider-list li{padding:2px 0;border-bottom:1px solid #f8f8f8;}
.mw-signal-list li:last-child,.mw-termine-list li:last-child,.mw-insider-list li:last-child{border-bottom:none;}
.mw-signal-date,.mw-termin-date,.mw-insider-date{font-size:11px;color:var(--text-sec);font-variant-numeric:tabular-nums;margin-right:6px;}
.mw-insider-price{font-size:11px;color:var(--text-sec);font-variant-numeric:tabular-nums;}
.mw-loading{font-size:11px;color:var(--text-sec);opacity:0.5;}
.mw-empty-hint{font-size:12px;color:var(--text-sec);opacity:0.6;font-style:italic;}

/* Column: News + Media */
.mw-news-item{font-size:12px;color:var(--text-sec);margin-bottom:6px;line-height:1.45;}
.mw-news-item .time{color:var(--text-sec);margin-right:6px;font-size:11px;font-variant-numeric:tabular-nums;opacity:0.7;}
.mw-news-item a{color:var(--text);text-decoration:none;transition:color var(--transition-fast);}
.mw-news-item a:hover{color:var(--blue-600);}
.mw-media-quelle{font-size:10px;color:var(--text-sec);margin-left:6px;opacity:0.7;}
.mw-media-empf{font-size:10px;font-weight:600;margin-left:4px;padding:1px 5px;border-radius:3px;background:var(--blue-50);color:var(--blue-600);}
.mw-news-all{font-size:12px;font-weight:500;color:var(--blue-600);text-decoration:none;margin-top:6px;display:inline-block;}
.mw-news-all:hover{text-decoration:underline;}

/* Column: Forum */
.mw-forum-item{font-size:12px;color:var(--text-sec);margin-bottom:6px;line-height:1.45;}
.mw-forum-item .author{font-weight:600;color:var(--text);margin-right:4px;}
.mw-forum-item .snippet{color:var(--text-sec);}
.mw-forum-all{font-size:12px;font-weight:500;color:var(--blue-600);text-decoration:none;margin-top:6px;display:inline-block;}
.mw-forum-all:hover{text-decoration:underline;}

/* Meine-Werte Leerzustand */
.mw-empty{text-align:center;padding:80px 20px;color:var(--text-sec);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);}
.mw-empty h2{font-size:20px;color:var(--blue-800);font-weight:600;margin-bottom:12px;}
.mw-empty p{font-size:14px;line-height:1.7;max-width:420px;margin:0 auto 24px;color:var(--text-sec);}
.mw-empty .btn{display:inline-flex;align-items:center;gap:6px;padding:10px 24px;font-size:14px;font-weight:600;color:#fff;background:var(--blue-600);border:none;border-radius:var(--radius-sm);text-decoration:none;transition:all var(--transition-fast);box-shadow:0 2px 4px rgba(0,0,0,0.1);}
.mw-empty .btn:hover{background:var(--blue-700);box-shadow:0 4px 8px rgba(0,0,0,0.15);}

/* Mobile */
@media(max-width:720px){
  .mw-page-header{margin:8px 0 14px;}
  .mw-page-header h1{font-size:22px;}
  .mw-toolbar{flex-direction:column;align-items:stretch;gap:8px;}
  .mw-sort{justify-content:center;}
  .mw-toolbar-actions{justify-content:center;}
  .mw-card-head{padding:10px 12px;gap:8px;flex-wrap:wrap;}
  .mw-card-head .mw-rank{width:22px;height:22px;font-size:10px;}
  .mw-card-head .mw-name-col{max-width:none;flex:1 1 100%;order:-1;}
  .mw-card-head .mw-name-col a{font-size:13px;}
  .mw-card-head .mw-sparkline{display:none;}
  .mw-card-head .mw-chart-link{display:none;}
  .mw-card-head .mw-vortag-col{display:none;}
  .mw-card-head .mw-hl-col{display:none;}
  .mw-card-head .mw-bidask-col{display:none;}
  .mw-card-head .mw-vol-col{display:none;}
  .mw-card-detail{padding:0 12px 14px 12px;}
  .mw-detail-grid{grid-template-columns:1fr;gap:14px;}
  .mw-card-head .mw-price-col .mw-price-val{font-size:14px;}
  .mw-card-head .mw-change-col .mw-pct{font-size:12px;}
}

/* ====================================================================
   H3: OAuth Buttons + Login Integration (2026 Design)
   ==================================================================== */

/* --- OAuth Buttons Container --- */
.oauth-buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 0;
}

/* --- Individual OAuth Button --- */
.oauth-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 11px 16px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: #fff;
  color: #333;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: background .15s, border-color .15s, box-shadow .15s;
  min-height: 44px;
  box-sizing: border-box;
}
.oauth-btn:hover {
  background: #f8f9fa;
  border-color: #bbb;
  box-shadow: 0 1px 3px rgba(0,0,0,.08);
  text-decoration: none;
  color: #333;
}
.oauth-btn:active {
  background: #f0f1f3;
}

/* Provider-specific hover accents */
.oauth-btn-google:hover { border-color: #4285F4; }
.oauth-btn-microsoft:hover { border-color: #00A4EF; }
.oauth-btn-meta:hover { border-color: #1877F2; }

/* --- OAuth Icon --- */
.oauth-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}

/* --- "oder" Divider --- */
.oauth-divider {
  display: flex;
  align-items: center;
  margin: 20px 0;
  color: #888;
  font-size: 13px;
}
.oauth-divider::before,
.oauth-divider::after {
  content: '';
  flex: 1;
  border-top: 1px solid var(--border);
}
.oauth-divider span {
  padding: 0 14px;
  white-space: nowrap;
}

/* --- OAuth Error Message --- */
.oauth-error {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  margin-bottom: 16px;
}

/* --- Choose Username Page --- */
.oauth-welcome-info {
  background: var(--blue-50);
  border: 1px solid var(--blue-100, #dbeafe);
  border-radius: var(--radius-sm);
  padding: 14px 16px;
  margin-bottom: 16px;
  font-size: 14px;
}
.oauth-welcome-info p { margin: 0 0 4px; }
.oauth-welcome-info p:last-child { margin-bottom: 0; }
.oauth-email-display {
  font-weight: 600;
  color: var(--blue-700);
  font-size: 13px;
}

.oauth-username-notice {
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: var(--radius-sm);
  padding: 12px 16px;
  margin-bottom: 20px;
  font-size: 13px;
  line-height: 1.5;
  color: #92400e;
}

.form-hint {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: #888;
}
.required { color: #dc2626; }
.optional { color: #888; font-weight: 400; font-size: 12px; }

/* --- Linked Accounts (User Profile) --- */
.oauth-linked-accounts {
  margin-top: 8px;
}
.oauth-linked-accounts h4 {
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 12px;
}
.oauth-link-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--border);
}
.oauth-link-row:last-child { border-bottom: none; }
.oauth-link-label {
  flex: 1;
  font-size: 14px;
  font-weight: 500;
}
.oauth-link-status {
  font-size: 13px;
  font-weight: 500;
}
.oauth-linked {
  color: #16a34a;
}
.oauth-link-btn,
.oauth-unlink-btn {
  font-size: 13px;
  padding: 4px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  text-decoration: none;
  cursor: pointer;
  transition: background .15s;
}
.oauth-link-btn {
  color: var(--blue-600);
  background: #fff;
}
.oauth-link-btn:hover {
  background: var(--blue-50);
  text-decoration: none;
}
.oauth-unlink-btn {
  color: #dc2626;
  background: #fff;
}
.oauth-unlink-btn:hover {
  background: #fef2f2;
  text-decoration: none;
}
.oauth-hint {
  font-size: 12px;
  color: #888;
}

/* Responsive */
@media (max-width: 640px) {
  .oauth-btn { font-size: 13px; padding: 10px 12px; }
  .oauth-link-row { flex-wrap: wrap; gap: 6px; }
}

/* Kurs-Snippet Tabelle: kompakt, kein Hover */
table.kurs-snippet-table { width: auto; }
table.kurs-snippet-table tr:hover td,
table.kurs-snippet-table tr:hover th { background: inherit !important; }

/* KI-Bild Kennzeichnung (EU AI Act) */
.news-media-img-wrap { position: relative; display: inline-block; width: 100%; }
.news-media-img-wrap .news-media-img { display: block; width: 100%; }
.ki-label {
  position: absolute;
  bottom: 0;
  left: 0;
  background: rgba(0,0,0,0.55);
  color: #fff;
  font-size: 11px;
  line-height: 1.3;
  padding: 3px 7px;
  border-radius: 4px;
  pointer-events: none;
  letter-spacing: 0.2px;
}

/* Forum Snippet + Sidebar Heading */
.forum-snippet {
  font-size: 13px;
  color: #777;
  font-weight: normal;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 2px;
  line-height: 1.4;
}
.sc-forum-sidebar-title {
  font-size: 15px;
  font-weight: 600;
  color: #224477;
  margin: 0 0 6px;
  padding-bottom: 4px;
  border-bottom: 1px solid #dde;
}

/* Kurs-Bar Erweiterung: Vortag, Umsatz, Intraday-Link */
.kurs-bar-vortag { font-size: 12px; color: var(--text-sec); margin-left: 10px; }
.kurs-bar-vortag strong { color: var(--text); }
.kurs-bar-umsatz { font-size: 12px; color: var(--text-sec); margin-left: 10px; }
.kurs-bar-umsatz strong { color: var(--text); }
.kurs-bar-intraday-link { font-size: 12px; color: #224477; margin-left: 10px; text-decoration: none; font-weight: 600; }
.kurs-bar-intraday-link:hover { text-decoration: underline; }

/* Intraday-Minigraf in der Kurs-Bar */
.kurs-bar-intraday-img { display:inline-block; margin-left:10px; vertical-align:middle; line-height:0; }
.kurs-bar-intraday-img img { height:48px; width:auto; border-radius:4px; border:1px solid #dde; display:block; }

/* Intraday Doppelchart (Kurs + Umsatz) auf Chartanalyse-Seite */
.intraday-charts-row { display:flex; gap:12px; align-items:flex-start; margin:10px 0 14px; }
.intraday-chart-item { display:flex; flex-direction:column; gap:3px; }
.intraday-chart-label { font-size:11px; color:var(--text-sec); font-weight:600; }
.intraday-chart-item img { height:60px; width:auto; border-radius:4px; border:1px solid #dde; display:block; }

/* Intraday Kurs+Umsatz Charts innerhalb der Kurs-Bar */
.kurs-bar-charts { display:inline-flex; gap:8px; align-items:flex-end; margin-left:10px; vertical-align:middle; }
.kurs-bar-chart-item { display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
.kurs-bar-chart-label { font-size:10px; color:var(--text-sec); font-weight:600; line-height:1; }
.kurs-bar-chart-item img { height:52px; width:auto; border-radius:3px; border:1px solid #dde; display:block; }

/* Kurs-Bar neue Elemente: Pfeil, außerbörslich, Bid/Ask */
.kurs-bar-pfeil { display:inline-flex; align-items:center; margin-right:4px; }
.kurs-bar-pfeil img { height:28px; width:auto; }
.kurs-bar-ab { font-size:12px; color:var(--text-sec); margin-left:10px; display:inline-flex; flex-direction:column; align-items:flex-start; gap:1px; }
.kurs-bar-ab-row1 { display:inline-flex; align-items:baseline; gap:4px; }
.kurs-bar-ab-row2 { display:inline-flex; align-items:baseline; gap:4px; }
.kurs-bar-ab-label { font-size:10px; color:var(--text-sec); font-weight:600; }
.kurs-bar-ab-zeit { font-size:10px; color:var(--text-sec); }
.kurs-bar-bidask { font-size:12px; color:var(--text-sec); margin-left:10px; display:inline-flex; align-items:baseline; gap:3px; }
.kurs-bar-bidask-label { font-size:10px; color:var(--text-sec); font-weight:600; }
