/*
/*
Theme Name: gorgs musik
Author: gorg
Author URI: https://www.gorgs-musik.de/
Description: Handgeschmiedet!
Version: 1.0 (06-2026)
*/ 


@font-face { 
	font-family: 'RobotoSlab-Regular';
	src: url('fonts/Roboto_Slab/RobotoSlab-Regular.ttf') format('truetype');
}

@font-face { 
	font-family: 'RobotoSlab-Bold';
	src: url('fonts/Roboto_Slab/RobotoSlab-Bold.ttf') format('truetype');
}

@font-face { 
	font-family: 'RobotoSlab-ExtraBold';
	src: url('fonts/Roboto_Slab/RobotoSlab-ExtraBold.ttf') format('truetype');
}


@font-face {
	font-family: "OpenSans-Regular";
	src: url("fonts/Open_Sans/OpenSans-Regular.ttf") format("truetype");
}

@font-face {
	font-family: "OpenSans-Bold";
	src: url("fonts/Open_Sans/OpenSans-Bold.ttf") format("truetype");
}

 * {
    box-sizing: border-box;
	 margin: 0;
	 padding: 0;
	transition:all 0.8s;
} 

:root {
	--linkfarbe:#036724;
	--linkfarbe:#1ED760;
	--linkfarbe:#bc16f8; /* von musikblog */
	--linkfarbe:#006f64; /* mein grün */
}

::selection {
	color:#CCC;
	background-color:#000;
}


html {
	font-family: "OpenSans-Regular";
	font-size:17px;
	color:#000;
	scroll-behavior:smooth;
}


body {
	background-image: none;
	background-image:url(grafik/metall.jpg);
	background-image:url(grafik/beton.jpg);
	background-attachment:fixed;
	background-color:#000;
	overflow-wrap: break-word;
		}

/*
body {
	overflow-wrap: break-word;
}

/* Hintergrund-Ebene: liegt fest im Viewport und wandert beim Scrollen nach
   oben. Reine CSS-Lösung über eine scroll-getriebene Animation – kennt der
   Browser animation-timeline nicht, steht der Hintergrund einfach still.
   Die Kachel wiederholt sich, ein Versatz erzeugt also nie eine Lücke.
   Tempo über den Endwert in bg-drift steuern (größer = schneller). */

/*
@keyframes bg-drift {
	to { background-position: 0 -5200px; }
}

body::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	background: url(grafik/beton.jpg) repeat;
	background-position: 0 0;
	animation: bg-drift linear both;
	animation-timeline: scroll(root block);
}

@media (prefers-reduced-motion: reduce) {
	body::before { animation: none; }
}
*/

/* intern */
#admin-box {
	position:fixed;
	z-index:9999;
	top:160px;
	left:0px;
    padding-left: 20px;
}


.admin-button  {
	padding:10px 20px 10px 20px;
	color:#FFF;
	font-weight:bold;
	background-color:#000;
	text-transform:uppercase;
    border: 0px solid #000;
    margin-top: 20px;
    display: inline-block;
}

.admin-button a {
    color: #FFF;
}




.tracklist-intern {
	background-color: #FFF;
	margin: 0 auto;
}



a {
	color: var(--linkfarbe);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

b, strong {
	font-family: "OpenSans-Bold";
}



/* Kopfbereich */
#kopf-box {
	position: fixed;
	left:0;
	right:0;
	top:0;
	z-index:999;
	border:0px solid #0F0;
}

#kopf {
	border: 0px solid #CC0000;

}

#titel, #mehr, #weniger {
	font-size:5.0rem;
	line-height:1.0em;
	background-color:#000;
	color:#FFF;
	text-transform: lowercase;
	padding:20px;
	font-family: 'RobotoSlab-Regular';
	display:block;
}

#titel:hover, #mehr:hover {

}


#titel a, #mehr a, #weniger a {
		color:#FFF;
}

#titel:hover, #mehr:hover, 
#weniger:hover {
	cursor: pointer;
	text-decoration: underline;
}

#titel {
	position: absolute;
	left: 0;
	top: 0;
}

#mehr {
	position: absolute;
	right: 0;
	top: 0;
}

#weniger {
	text-align: center;
}





/**** Inhalt ****/

#inhalt {
	min-height:300px;
	width:100%;
	max-width:800px;
	margin:250px auto 250px auto;
	padding: 0px 10px 0px 10px;
	position:relative;
	box-sizing:border-box;
}

h1 {
	font-family: 'RobotoSlab-ExtraBold';
	font-size: 7.0em;
    text-align: center;
	margin-bottom: 100px;
	width: 100%;
/*	
	position: fixed;
	display: block;
	left: 0;
	right: 0;
	top:150px;
*/	
	
}

.text-box h1 {
	text-align: left;
	font-size: 3.0em;
	margin-bottom: 50px;
	position: relative;
	display: inline-block;
	top:0;
}

h2.abschnitt {
	font-family: 'RobotoSlab-ExtraBold';
	font-size: 7.0em;
	line-height: 1.1em;
	text-align: center;
	width: 100%;
	margin: 200px 0 100px 0;
}

/* Gruppenüberschriften auf der Suchergebnisseite */
h2.such-gruppe {
	font-family: 'RobotoSlab-ExtraBold';
	font-size: 2.4em;
	line-height: 1.1em;
	text-align: center;
	width: 100%;
	margin: 80px 0 40px 0;
}




 h2 {
	font-family: 'RobotoSlab-Regular';
	line-height:1.1em;
	font-size:1.8rem;
	font-weight:normal;

	 margin:0;
	padding: 0;
	margin-bottom: 20px;
}



#inhalt h2 a:hover {
	text-decoration: underline;

}


.artikeldatum {
    margin-top: 50px;
    font-size: 0.8rem;
    color: #666;
}



#inhalt  h3 {
	font-family: 'RobotoSlab-Regular';
	line-height:1.1em;
	font-size:1.3rem;
	font-weight:normal;
	margin: 0;
}

#inhalt  h3 a {
    color: #000;
}

#inhalt  h3 a:hover {
	text-decoration: underline;
}


#inhalt p {
	line-height: 1.6em;
	margin-bottom:1.2em;
}

.page  h3 {
    margin-bottom: 10px !important;
}



#bild-box {
	padding: 0px 0px 0px 0px;	
}

#bild-box img {
	display: block;
	opacity: 1.0;
	max-height: 500px;
	max-width: 100%;
  	height: auto;
  	width: auto;
}

#bild-box img:hover {
	opacity: 0.3;
}


.bild-quelle {
    font-size: 0.8em;
    margin-left: 0px;
	color: #000;
}


.text-box {
	position: relative;
	background-color: #FFF;
	background-color: rgb(255,255,255,1.0);
	margin-top: 50px;
	max-width: 100%;
	padding: 130px 80px 80px 80px;
}


.text-box .thumb-bild {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    height: 130px;
    transform-origin: top right; 
    transition: transform 0.3s ease; 
}

.text-box .thumb-bild img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.text-box .thumb-bild:hover {
    transform: scale(calc(100% / 800px));
    transform: scale(3.5);
}


#titel-zusatz {
    position: absolute;
    top: 0;
    right: 0;
    background: #000;
    padding: 5px 15px 5px 15px;
    color: #FFF;
    text-transform: uppercase;
/*	font-family: "OpenSans-Bold"; */

}

#titel-zusatz a {
	color: #FFF;
}


#songs-box {
	margin: 30px 0px 0px 0px;
}



/*** Infos ***/
#info-box {
}

#info-box a {
	color: var(--linkfarbe);
}

.info-titel {
	font-weight: bold;
	margin-top: 5px;
	margin-bottom: -3px;
}

.info-wert {

}

#link-box {
    margin-top: 50px;

}

.link-block {
	margin-bottom: 20px;
}

.link-block a {
	font-weight: bold;
}

.link-domain {
    font-size: 0.9em;
    color: #666;
    font-style: italic;
}


h2.song-titel a {
	color: #000;
}



/* single-song */
#song-meta-block h1 {
	margin-bottom: 10px;
}

#lyrics-block {
	border: 0px solid #000;
	margin-top: 50px;
}

.lyrics-link a {
	text-decoration: none;
	color: #FFF;
	background-color: #000;
	padding: 5px 10px 8px 10px;
    display: inline-block;
}

iframe {
    border: 0;
    margin-bottom: 30px;
    width: 100%;
    height: 152px;
}

#lied-beschreibung h2 {
	margin: 50px 0px 20px 0px;
}

.author p:last-of-type {
	display: inline;
}

.info-inline {
	display: inline;
	color: #666;
	font-style: italic;
    display: none;
}

.lied-bandname {
	font-size: 1.5em;
	font-family: "OpenSans-Bold";
	display: inline-block;
	margin: 10px 0px 5px 0px;
}






/* ============================================================
   Kommentare – minimalistisch, eckig, übersichtlich
   ============================================================ */
hr {
	height: 0;
	border-top: 5px solid #000;
	margin: 30px 0px 30px 0px;
}

#kommentare-box hr {
	height: 0;
	border-top: 5px solid #000;
	margin-top: 30px;
}

#kommentarhinweis {
	display: none;
}

/* --- Überschriften / Hinweise --- */
.comments-title,
#kommentartitel {
	font-family: 'RobotoSlab-Regular';
	font-size: 1.5rem;
	font-weight: normal;
}

#kommentarhinweis {
}

/* --- Kommentarliste --- */
.comment-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.comment-list .children {
	list-style: none;
	margin: 0 0 0 50px;   /* Einrückung für Antworten */
	padding: 0;
}

.comment-body {


}




/* --- Avatar links --- */
.comment-body .avatar {
	float: left;
	margin: 0 1rem .5rem 0;
	width: 50px;
	height: auto;
	border-radius: 0;
}

/* --- Name oben, Datum darunter, rechts neben dem Avatar --- */
.comment-author .fn {


}

.comment-author .says {
	display: none;
}

.comment-metadata {
	margin-top: 5px;
	font-size: 0.7em;
	color: #777;
}

.comment-metadata a {
	color: #777;
	text-decoration: none;
}

.comment-metadata a:hover {
	text-decoration: underline;
}

/* --- Inhalt + Reply darunter, volle Breite --- */
.comment-content,
.reply {
	clear: both;
}
.comment-content p {
	margin: 0 0 .5rem;
}




/* ============================================================
   Formular – Labels und Felder untereinander
   ============================================================ */

.comment-form {
	margin-top: 1rem;
}

.comment-reply-title {       /* leer, da Titel oben in #kommentartitel */
	font-size: 14px;
	margin: 0;
}

.comment-form p {
	margin: 0 0 1rem;
}

.comment-form label {
	display: block;
	margin-bottom: .25rem;
	font-weight: bold;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	display: block;
	width: 100%;
	padding: .5rem;
	border: 1px solid #e5e5e5;
	border-radius: 0;
	font-size: 16px;
	font-family: inherit;
	background: #fff;
}

.comment-form textarea {
	resize: vertical;
}

.comment-form .required {
	color: #c00;
}

/* Cookie-Consent: Checkbox + Label nebeneinander */
.comment-form-cookies-consent label {
	display: inline;
	font-weight: normal;
}

.comment-form-cookies-consent input[type="checkbox"] {
	width: auto;
	margin-right: .4rem;
}


.form-submit {
	margin: 0;
}

.comment-form input#submit {
	cursor: pointer;
}

.comment-form input#submit:hover {
	text-decoration: underline;
}

/* Button-Klasse für a-Tag */
.button,
#submit {
	padding: 10px 20px 10px 20px;
	background: #000;
	color: #fff !important;
	border: 0;
	margin-top: 0px;
	display: inline-block;
	
}

.button:hover {
	text-decoration: none;
}

.button span {
	display: inline-block;
	margin-left: 5px;
	margin-right: 5px;
	font-size: 30px;
	line-height: 1rem;
	transition: all 0.2s ease;
	vertical-align: -4px;
}

.button:hover span {
	margin-left: 15px;
	margin-right: -5px;
}

/*
.button::after {
  content: " ☞";
  margin-left: 8px;
	font-size: 24px;
}
*/


.playlist-block {
    display: flex;
    align-items: stretch;
    width: fit-content;
	gap: 10px;
	margin-bottom: 30px;

}

.playlist-block-bild img {
    width: 120px;
    height: auto;
    display: block;
    border: 0px solid #000;
}

.playlist-block-info {
    padding: 0px 40px 20px 0px;
    border: 0px solid #8B0F11;
    position: relative;
    background-color: rgb(255,255,255,0.3);
    background-color: rgb(255,255,255,0.9);
    background-color: #FFF;
}


.playlist-block h3 {
	display: inline-block;
}


.playlist-block .spotify-link {
	display: block;
	margin-top: 10px;
}


/**** Seitenspalte ****/
#gorg {
	text-align: center;
}

#gorg img {
	width: 200px;
	height: auto;
	margin: 0 auto;
}

#seitenspalte {
	position: fixed;
	width:500px;
	right:-500px;
	top:0px;
	bottom:0;
	max-width:100%;
	line-height:1.4em;
	font-size:0.9rem;
	overflow-y:scroll;
	overflow-x:hidden;
	z-index:99999;
	padding:0px 50px 50px 50px;
	background-color:#000;
	color:#FFF;
}

#seitenspalte.aktiv {
	right:0px;
}

#seitenspalte .seitentitel {
	font-family: 'RobotoSlab-Regular';
	font-weight:normal;
	font-size:1.8rem;
	line-height:1.1em;
	margin:30px 0px 5px 0px;
	color:#FFF;
}

#hauptnavi {
    line-height: 1.5em;
}

#seitenspalte a {
	color:#FFF;
}

.kategorien ul {
	margin: 0;
	padding:0;
}

.kategorien li {
	list-style: none;
	margin-bottom: 2px;
}


#forderungen ul {
	margin: 0;
	padding:0;
}

#forderungen li {
	list-style: disc;
	list-style-position: inside;
	margin-bottom: 2px;
}



#suchform {
	width:100%;
	padding:0;
	border:0;
}

form {
	padding:0;
}

#suchfeld {
	width:100%;
	border:0;
	padding:8px;
}





/**** Fuss ****/
#fuss-box {
	margin: 1000px 10px 0px 10px;
}

#fuss {
	max-width:800px;
	margin:0 auto;
	text-align:center;
	background-color: rgb(0,0,0,1.0);
	background-color:#000;
	padding:30px 30px 80px 30px;
	line-height: 2.0em;
}

#fuss:hover {
/*	background-color: rgb(0,0,0,0.5); */
}

#fuss a, 
.nf-copy {
	font-size:1.1em;
	color:#FFF;
	text-transform:uppercase;
	margin:0px 10px 0px 10px;
	font-family: 'RobotoSlab-Regular';
}

.nf-copy__status:not(:empty)::before { content: " – "; }

.nf-copy { 
    min-width: 11ch;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
}

.nf-copy:hover {
    text-decoration: underline;
}

#matomo-opt-out {
	border:1px solid #CCC;
	padding:10px;
}





/*** Ausgabe für Archivseiten ***/

.media-block-liste {
	display: flex;
    flex-wrap: wrap;
    gap: 120px;
	justify-content: center;
    align-items: flex-start; /* oben */
    align-items: center;
}

.media-block {
    display: flex;
    align-items: flex-start; /* Info-Box nur so hoch wie ihr Inhalt */
    width: fit-content;
	gap: 10px;
/*	clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0% 100%); */
	max-width: 40%;

}

.media-block-bild img {
    width: 200px;
    height: auto;
    display: block;
}

.media-block-info {
    padding: 0px 40px 20px 0px;
	
    border: 0px solid #8B0F11;
    position: relative;
    background-color: #FFF;
    background-color: rgb(255,255,255,0.4);
}

.media-block-info:hover {
	    background-color: rgb(255,255,255,0.8);
}

.media-block a {
	color: #000;
}

.media-block h2 {

}

.media-block h2 a {
	color: #FFF;
	background-color: #000;
	padding: 4px 20px 6px 20px;
	display: inline-block;
}


.media-block-songs {
    list-style: none;
    padding: 0px  0px  30px 0px;
    margin: 10px 0px 0px 20px;
}


.media-block-songs  a { 
	display: block;
}

.media-block-songs a:hover {
    text-decoration: underline;
}

.media-block-songs li {
	display: flex;
	align-items: center;
	gap: 0.35em;
}

.media-block-songs .lyrics-symbol {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	opacity: 0.55;
	cursor: default;
}
.media-block-songs .lyrics-symbol svg {
	width: 0.9em;
	height: auto;
}


.media-block-genres {
    position: absolute;
	left: 20px;
	right: 40px;
    bottom: 10px;
    font-size: 0.7em;
}


.media-block-genres a {
/*		font-style: italic; */
}

.media-block-bereich {
    position: absolute;
	right: 0px;
	bottom: 0px;
    font-size: 0.8rem;
    background-color: #000;
    color: #FFF;
    padding: 3px 3px 3px 3px;
}



.search  #inhalt,
  .home #inhalt, 
.archive #inhalt {
	max-width:90%;
}


.post-type-archive-kuenstler {
	max-width:800px;
    margin: 0 auto;
}




/* Playlists */
.playlist-block .media-block-bild img {
	width: 80px !important;
	height: auto;
	border: 1px solid #000;
}

.playlist-links {
	margin-top: 10px;
}





/* Kategorien */




.lyrics-embed {
    margin: 30px 0px 0px 0px;
}
.rg_embed_header {
    border-top: 5px solid #000;
}

.rg_embed_body {
    padding: 0 !important;
    border-bottom: 5px solid #000;

}

.rg_embed_footer {
    display: none;
}



#suche {
margin: 0px 0px 50px 0px;
}





mark {
    background: #ffe66d; /* an dein Theme anpassen */
    padding: 0 2px;
}



.herzchen  {
    position: absolute;
    top: 45px;
    right: 10px;
    width: 30px;
    height:auto;
    color: #000;
}

.herzchen:hover  {
	color: #CC0000;
}



/* E-Mail kaschieren */
.anti-bot {
    display: none !important;
}



#frei-text {
	width:100%;
	max-width:800px;
	margin:250px auto 250px auto;
	padding: 50px 50px 50px 50px;
	position:relative;
	box-sizing:border-box;
	text-align: center;
    background-color: rgb(255,255,255,0.4);
}


#frei-text:hover {
	    background-color: rgb(255,255,255,0.8);
}



/*** Interne Werkzeugseite (template-admin-abfragen.php) ***/

.db-abfrage {
	margin: 0 0 50px 0;
}

.db-abfrage h2 {
	margin-bottom: 5px;
}

.db-beschreibung {
	font-size: 0.9em;
	color: #555;
}

.db-sql summary {
	cursor: pointer;
	font-size: 0.85em;
	color: #555;
}

.db-sql pre {
	background: #F4F4F4;
	padding: 10px 15px;
	overflow-x: auto;
	font-size: 12px;
	line-height: 1.5em;
}

.db-meta {
	font-size: 0.8em;
	color: #777;
	margin: 5px 0px 5px 0px;
}

.db-fehler {
	background: #FBEAEA;
	border: 1px solid #CC0000;
	padding: 10px 15px;
}

.db-tabelle-wrap {
	overflow-x: auto;
}

.db-tabelle-wrap table {
	border-collapse: collapse;
	width: 100%;
	font-size: 13px;
}

.db-tabelle-wrap th,
.db-tabelle-wrap td {
	border: 1px solid #DDD;
	padding: 4px 8px;
	text-align: left;
	vertical-align: top;
}

.db-tabelle-wrap th {
	background: #F4F4F4;
}

.db-tabelle-wrap tbody tr:nth-child(even) {
	background: #FAFAFA;
}

.db-null {
	color: #AAA;
	font-style: italic;
}




/*** Statistik ***/

.gm-statistik h3 {
	margin: 30px 0 10px 0;
}

.gm-statistik-zahlen {
	width: 100%;
	border-collapse: collapse;
}

.gm-statistik-zahlen th {
	text-align: left;
	font-weight: normal;
	padding: 4px 20px 4px 0;
	vertical-align: top;
}

.gm-statistik-zahlen td {
	padding: 4px 0;
	font-weight: bold;
	white-space: nowrap; 
}

.gm-statistik-liste {
	margin: 0 0 20px 20px;
}

.gm-statistik-liste li {
	margin-bottom: 4px;
}

.gm-statistik-wert {
	color: #666; 
}

.gm-statistik-wert::before {
	content: " — ";
}


/*** Künstler-Übersicht: A–Z ***/

.az-navi {
	margin: 20px 0 40px 0;
}

.az-navi a {
	display: inline-block;
	margin: 0 10px 5px 0;
	font-weight: bold;
}

.az-gruppe {
	margin-top: 40px;
	/* Ausgleich für den fixierten Kopfbereich beim Ansteuern der Anker */
	scroll-margin-top: 180px;
	font-size: 4.0rem;
	font-family: 'RobotoSlab-ExtraBold';
}

.kuenstler-liste {
	list-style: none;
}

/* Lieder-Archiv (/lieder/): schmalere, zentrierte Box; Liste ohne
   Punkte, Titel + Künstler als Paar mit Luft zum nächsten Eintrag */
.lieder-uebersicht {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.lieder-liste {
	list-style: none;
}

.lieder-liste > li {
	margin-bottom: 15px;
}


/* Zusatzinfos: nur in der internen Ansicht, damit die
   öffentliche Liste unverändert bleibt */
.kuenstler-uebersicht.intern .kuenstler-liste > li {
	margin-bottom: 15px;
}

.kuenstler-uebersicht.intern .herzchen-inline {
	display: inline-block;
	margin-left: 4px;
}

.kuenstler-uebersicht.intern .herzchen-inline svg {
	width: 0.8em;
	height: auto;
	vertical-align: -0.05em;
}

.kuenstler-uebersicht.intern .kuenstler-genres {
	font-size: 0.7em; 
}

.kuenstler-uebersicht.intern .kuenstler-auszug {
	font-size: 0.9em;
}

.kuenstler-uebersicht.intern .kuenstler-auszug.leer {
	opacity: 0.45;
}

.kuenstler-uebersicht.intern .song-liste {
	margin-top: 3px;
	font-size: 0.9em;
}


/*** Label-Übersicht ***/

/* Viel Luft nach oben, wenig nach unten: bindet die Künstlerliste
   optisch an ihren Labelnamen. ID-Selektor nötig, weil #inhalt h3
   die Margins auf 0 setzt. */
#inhalt h3.label-titel {
	margin: 30px 0 -10px 0;
}




@media screen and (max-width: 900px) {

	/* Kopfbereich ist hier niedriger */
	.az-gruppe {
		scroll-margin-top: 120px;
	}

	.text-box {
		position: relative;
		background-color: #FFF;
		margin-top: 50px;
		max-width: 100%;
		padding: 80px 30px 30px 30px;
	}

	.text-box img {
		height: 100px;
	}



    .media-block {
        flex-direction: column;
        align-items: stretch; /* bei column: volle Breite der Kinder erhalten */
        width: 100%;
        max-width: 100%;
    }

    .media-block-info {
		margin: 0 !important;
    }
	
	.media-block-genres {
		position: relative;
		display: inline-block;
		margin-top: 20px;
	}

	.media-block-bild img {
		width: 80%;
		height: auto;
		display: block;
	}


	
	#seitenspalte {
		max-width:100% !important;
		right:-100%;
		padding:0px 20px 20px 20px;
	}
	
	#titel, #mehr, #weniger {
		font-size:2.0rem;
	}
	

	
	#comments {
		padding:20px 30px 30px 30px;
	}


	#fuss {
	max-width:100%;
	}
		


}




