@font-face {
    font-family: 'Press Start 2P';
    src: url('../fonts/PressStart2P-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}


@font-face {
    font-family: 'Coluna';
    src: url('../fonts/Coluna_Rounded.otf')format("opentype");
    font-weight: bold;
    font-style: normal;
}


:root {
  --color-primary:   #8ffefa;   /* Blau als Beispiel */
  --color-secondary: #fafe0b;   /* Tomatenrot als Beispiel */
  --color-white:     #ffffff;
  --color-black:     #000000;
  --color-grey:      #666666;
}


html {
background-color: var(--gb__bg);
    min-height: 100vh; /* Verwende vh statt % */
}

body {
    /* background-color: transparent;Oder rgba(30, 33, 54, 0.8) für halbtransparent */
    min-height: 100vh;
    font-family: monospace;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 0;
    background: var(--gb__bg);
    color: var(--gb__fg);
}

main {
	    margin: 20px;
	    margin-bottom: 50px;
}

td {
	    font-family: 'Press Start 2P', monospace;
}

h1 {
    font-family: 'Coluna', monospace;
    color: var(--color-primary);
    font-size: 72px;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: -24px;
}

.year_title {
	width: 200px;
}

.counter {
	width: 249px;
}

.title {
	    display: flex;
    flex-direction: column;
  margin: auto;
  width: fit-content;
}

h1 .small {
    font-size: 28px;
    margin-right: 0.5rem;
    vertical-align: middle;
    display: block;
    margin-bottom: -3px;
    line-height: 0;
}

th.sorting {
	padding-right: 10px;	
}

.total_score {
			background-color: var(--color-white) !important;
			color: var(--color-black) !important;
}



h2 {
	color: var(--color-secondary) !important;
}

.secondary-color {
	color: var(--color-secondary) !important;
}
.white {
		color: var(--color-white) !important;
}
.grey {
		color: var(--color-grey) !important;
}

table {
    /*border-collapse: separate !important;  */ /* Wichtig: getrennte Rahmen */
    table-layout: fixed;
    width: 100%;
}

tr {
    border: solid 1px white;
    background: var(--gb__bg1);
}

td {
    
}




.year-table {
    display: none;
    margin-bottom: 30px;
    padding: 2rem;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter: blur(0px);
    background-color: var(--gb__bg1);
	border: 1px solid var(--gb__bg_h);
	border-radius: 10px;
}

.year-link {
    color: blue;
    cursor: pointer;
    text-decoration: underline;
}

.show_id {
	background: none;
}

/* CSS für das Bohnen-Icon */
.bohnenicon {
    width: 16px;
    height: 16px;
    vertical-align: middle;
}

/* Font Awesome Icons stylen */
.fa-solid {
    color: #fafe0b; /* Gelb für Konsistenz */
    margin-right: 2px;
    font-size: 25px;
}

.fa-solid.small {
    font-size: 15px;
}

/* Spezielle Farben für verschiedene Icons */
th .fa-star {
    color: #ffd700; /* Gold für Stern */
}

th .fa-users {
    color: #8ffefa; /* Cyan für User */
}

th .fa-hashtag {
    color: #fff; /* Weiß für Hashtag */
}

table.dataTable th, 
table.dataTable td {
    border: 1px solid var(--gb__bg1); /* oder eine andere Farbe */
    border-collapse: collapse; /* Rand nicht doppelt anzeigen */
}

.dataTables_scrollHead {
	padding: 0;
	background-color: var(--gb__bg1);
}



.top1 .total_score {
    background-color: gold !important;       /* goldgelb für höchsten Score */
}
.top1 .game_title, .top1 .total_score, .top1 .editorial_score, .top1 .user_score {
    border-top: 1px solid gold !important;
    border-bottom: 1px solid gold !important;
    border-left: 1px solid gold !important;
    border-right: 1px solid gold !important;
}

.top2 .total_score {
    background-color: silver !important;     /* silber für zweithöchsten */
}
.top2 .game_title, .top2 .total_score, .top2 .editorial_score, .top2 .user_score {
    border-top: 1px solid silver !important;
    border-bottom: 1px solid silver !important;
    border-left: 1px solid silver !important;
    border-right: 1px solid silver !important;
}

.top3 .total_score {
    background-color: #cd7f32 !important;    /* bronze für dritthöchsten */
}
.top3 .game_title, .top3 .total_score, .top3 .editorial_score, .top3 .user_score {
    border-top: 1px solid #cd7f32 !important;
    border-bottom: 1px solid #cd7f32 !important;
    border-left: 1px solid #cd7f32 !important;
    border-right: 1px solid #cd7f32 !important;

}

.settings_bar {
    color: var(--color-white);
    background-color: var(--gb__bg1);
    border-radius: 10px;
    display: flex;
    justify-content: center;
    width: fit-content;
    padding: 1rem;
    margin: auto;
    gap: 10px;
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.rating_container {
	display: flex;
    justify-content: flex-end;
        margin-top: 5px;
        align-items: center;
}


.rating_container i {
  /* gleiche Breite und Höhe für alle Sterne */
  display: inline-flex;       /* sorgt für zentrierte Inhalte */
  justify-content: center;
  align-items: center;
  width: 32px;                /* gleiche Breite für alle */
  height: 25px;               /* optional für gleichmäßige Höhe */
  text-shadow: 0 0 3px gold, 0 0 8px gold, 0 0 12px orange;
}

.rating_container i.grey {
  text-shadow: 0 0 1px black
}

.rating_container i.white {
  text-shadow: 0 0 3px #cccccc, 0 0 8px #cccccc, 0 0 12px #cccccc;
}


footer {
	color: var(--color-white);
	background-color: var(--gb__bg_h);
	padding: 1rem;
}






.toggle-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
}

.toggle-label {
  font-weight: bold;
  font-size: 16px;
}

.toggle-button {
  width: 50px;
  height: 26px;
  background-color: #f44336; /* Rot = aus */
  border: none;
  border-radius: 13px;
  position: relative;
  cursor: pointer;
  transition: background-color 0.3s;
  padding: 0;
}

.toggle-circle {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 22px;
  height: 22px;
  background-color: white;
  border-radius: 50%;
  transition: left 0.3s;
}

.toggle-button.active {
  background-color: #4CAF50; /* Grün = an */
}

.toggle-button.active .toggle-circle {
  left: 26px;
}



/* Modal Styles */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.4);
}

.modal-content {
    background-color: var(--gb__bg_h);
    margin: 2% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 95%;
    max-width: 1600px;
    border-radius: 5px;
    max-height: 95vh;
    overflow-y: auto;
}

.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
}

/* Versteckte Zeilen für Spinoffs */
.spinoff-hidden {
    display: none !important;
}

.infobox {
    background-color: #f9f9f9;
    padding: 15px;
    border-radius: 5px;
    margin-bottom: 20px;
    border-left: 4px solid #4CAF50;
}

.infobox img {
    max-width: 200px;
    height: auto;
    border-radius: 5px;
    margin: 10px 0;
}

.year-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 30px;
}

.info-column {
  flex: 1 1 60%;
  min-width: 250px;
}

.thumbnail-column {
  flex: 1 1 35%;
  min-width: 200px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}

.thumbnail-column img {
  max-width: 100%;
  height: auto;
  border-radius: 5px;
}

/* Jahr-Titel Bild */
.year_title {
  display: block;
  max-width: 250px;
  margin: auto;
  margin-bottom: 15px;
}

/* Responsive für Mobile */
@media (max-width: 768px) {
  .year-container {
    flex-direction: column;
  }

  .thumbnail-column {
    justify-content: flex-start;
    order: 2; /* Thumbnail unter Infos */
  }

  .info-column {
    order: 1;
  }
}
