/*---------------------------------------------------------------------------------

	Theme Name: MariaStacks Theme
	Theme URI: https://www.mariastacks.de
	Text Domain: mariastacks
	Version: 1.0.0
	Description: Eigenständiges WordPress-Theme für MariaStacks. Entwickelt für Album-, Artist-, Stimmungs-, Farb- und Konzeptseiten sowie die MariaStacks-Oberfläche.
	Author: Tobias Fuchs
	Author URI: https://www.mariastacks.de
	License: GNU General Public License v2 or later
	License URI: https://www.gnu.org/licenses/gpl-2.0.html


-----------------------------------------------------------------------------------

	0.	CSS Reset
	1.	Document Setup
	2.  Structure
	3.	Site Header
	4.	Archive
	5.	Singular
	6.  Entry Content
	7.	Comments
	8.	Page Templates
	9.	Site Pagination
	10.	Site Footer
	11. Media Queries
	12. Affiliates

----------------------------------------------------------------------------------- */


/* -------------------------------------------------------------------------------- */
/*	X. CSS Reset
/* -------------------------------------------------------------------------------- */




main {
  flex: 1;
}


html, body { 
  margin: 0; 
  padding: 0; 
  min-height:100vh
  scroll-behavior: smooth;
}




h1, h2, h3, h4, h5, h6, p, blockquote, address, big, cite, code, em, font, img, small, strike, sub, sup, li, ol, ul, fieldset, form, label, legend, button, table, caption, tr, th, td, figure, figcaption {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	line-height: inherit;
	text-align: inherit;
}

table {
	border: 0px solid white;
 	overflow:hidden
}

tr {
    padding: 10px;    
    margin: 0;
    border: 0px solid white;
    position: relative;
    left: -1px;
	right: -1px;
  }  

td {
    padding: 10px;    
    margin: 0;
    border: 0px solid white;
    position: relative;
    left: 0px;
	right: 0px;
  }  


blockquote:before, 
blockquote:after { content:""; }

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  display: none;
}

/* Screen Reader Text */

.screen-reader-text {
	clip: rect( .1rem, .1rem, .1rem, .1rem );
	height: .1rem;
	overflow: hidden;
    position: absolute !important;
    width: .1rem;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: .3rem;
	box-shadow: 0 0 .2rem .2rem rgba( 0, 0, 0, 0.6 );
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 1.4rem;
	font-weight: 700;
	height: auto;
	left: .5rem;
	line-height: normal;
	padding: 1.5rem 2.3rem 1.4rem;
	text-decoration: none;
	top: .5rem;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/* Skip Link */

.skip-link {
	background: #232D37;
	color: #fff;
	display: block;
	font-size: 1.6rem;
	font-weight: 700;
	padding: 1.4rem 1.6rem;
	position: absolute;
		left: -9999rem;
		top: 2.5rem;
	z-index: 999;
}

.skip-link:focus {
	left: 50%;
	transform: translateX( -50% );
	text-decoration: none;
}

body.scroll-locked .skip-link {
	display: none;
}


/* -------------------------------------------------------------------------------- */
/*  X. Page Transition (Fade-In / Fade-Out)
/* -------------------------------------------------------------------------------- */

/* Page Transition */
body {
  opacity: 0;               /* <-- Startet unsichtbar */
  transition: opacity 0.9s ease;
}
body.fade-out {
  opacity: 0;
}





/* -------------------------------------------------------------------------------- */
/*	X. Document Setup
/* -------------------------------------------------------------------------------- */


html {
	font-size: 62.5%; /* 1rem = 10px */
}



body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  line-height: 1.5;
  background: #fff;
  border: none;
  color: #232D37;
  font-family: 'Inter', sans-serif;
  font-size: 1.6rem;
}



body.customizer-preview {
	transition: color .15s ease-in-out, background-color .15s ease-in-out;
}

body * {
        -webkit-box-sizing: border-box; 
        -moz-box-sizing: border-box; 
	box-sizing: border-box; 
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	word-break: normal;
}

*:first-child { margin-top: 0; }
*:last-child { margin-bottom: 0; }

body a {
	color: #000;
	text-decoration: none;
	cursor: none; /* Versteckt den Standard-Cursor über Links */
}

a:focus {
	text-decoration: none;
}

.group:after,
.gallery:after {
	clear: both; 
	content: "";
	display: block;
}

::selection {
	background: #232D37;
	color: #FFF;
}

*::-webkit-input-placeholder { color: #000; }
*:-ms-input-placeholder { color: #000; }
*::-moz-placeholder { color: #000; }


/* Fonts ------------------------------------- */


/* Inter */

@font-face {
    font-family: 'Inter';
    src: url('./assets/font-awesome/fonts/inter/Inter-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('./assets/font-awesome/fonts/inter/Inter-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('./assets/font-awesome/fonts/inter/Inter-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('./assets/font-awesome/fonts/inter/Inter-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Instrument Serif */

@font-face {
    font-family: 'Instrument Serif';
    src: url('./assets/font-awesome/fonts/instrument-serif/InstrumentSerif-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Instrument Serif';
    src: url('./assets/font-awesome/fonts/instrument-serif/InstrumentSerif-Italic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Structure
/* -------------------------------------------------------------------------------- */


.section-inner {
	margin: 0 auto;
	width: calc( 100% - 6rem );
}

.post-content-wrapper {
    background-color: none;
    padding: 2rem 2rem 2rem 2rem;

}



/* -------------------------------------------------------------------------------- */
/*	X.	Element Base
/* -------------------------------------------------------------------------------- */


p {
	line-height: 1.5;
	
}

h3, h4, h6 {
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.3;
	margin: .75em 0 .4em;
	text-align: left;
}

.post-title {
  text-align: left;
	margin-bottom: 1rem;
  }

.post-header .post-title {
  margin-bottom: clamp(1.1rem, 2vw, 1.6rem);
}


/* Artist-Namen */
.post-title .artist-name a {
  	font-size: clamp(1.5rem, 3vw, 2.3rem);
  line-height: 1.05;
	font-weight: 400;
	text-underline-offset: 2px;
	text-decoration-skip-ink: auto;
  color: #000;
  text-decoration: underline;

}



.post-title .artist-name a:hover {
  text-decoration: none;
}



/* Album-Titel */
.post-title .album-title {
  display: block;
	font-family: "Instrument Serif", serif;
    letter-spacing: 0.03em;
  font-size: clamp(4.5rem, 7vw, 5rem);
  font-weight: 600;
	font-style: italic;
	line-height: 1.05;
  color: #000;
	padding-top: 1.5rem;
	padding-bottom: 2rem;
}

.meta-info {
  display: flex;
  flex-wrap: wrap;
  text-align: left;      /* Text zentrieren */
  gap: 10px;
  font-size: 1.2rem;
	padding-top: 1rem;

}

.meta-info-format .category-text {
    font-weight: 600;
	font-size: 1.2rem;
}


h2 a {
    font-weight: 500;
    color: #000;
    letter-spacing: -0.02em;
}


h2 {
	text-align: left;
	font-weight: 500;
	line-height: 1.3;
    letter-spacing: -0.02em;
}



h1 { font-size: 2.8rem; }
h2 { font-size: 2.2rem; }
h3 { font-size: 7.4rem; }
h4 { font-size: 2.1rem; }
h5 { font-size: 2.0rem; }
h6 { font-size: 1.8rem; }
em,
i,
q,
dfn {
	font-style: italic;
}

b,
strong {
	font-weight: 500;
}

ins {
	text-decoration: none;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup { top: -0.5em; }
sub { bottom: -0.25em; }

abbr,
acronym {
	cursor: help;
}

address {
	line-height: 1.5;
	margin: 0 0 2rem 0;
}




/* Lists ------------------------------------- */


ul,
ol {
	margin: 0 0 1.25em 2em;
}

ul { list-style: disc; }
ul ul { list-style: circle; }
ul ul ul { list-style: square; }

ol { list-style: decimal; }
ol ol { list-style: lower-alpha; }
ol ol ol { list-style: lower-roman; }





.reset-list-style,
ul.reset-list-style,
.reset-list-style ul,
.reset-list-style ol,
ul.reset-list-style ul,
ul.reset-list-style ol,
.reset-list-style,
ol.reset-list-style,
.reset-list-style ul,
.reset-list-style ol,
ol.reset-list-style ul,
ol.reset-list-style ol {
	list-style: none;
	margin: 0;
}

.reset-list-style li {
	margin: 0;
}

dt {
	font-weight: 600;
}

dd + dt {
	margin-top: 1.5rem;
}

dd {
	line-height: 1.5;
}

/* Quotes ------------------------------------ */

blockquote {
	border-color: #DCDFE2;
	border-style: solid;
	border-width: 0 0 0 .2rem;
	margin: 0 0 1.25em 0;
	padding: .25em 0 .25em 1.5em;
}

blockquote p:last-of-type {
	margin-bottom: 0;
}

cite {
	display: block;
	font-size: 0.9em;
	font-style: normal;
	font-weight: 600;
	margin: 1em 0 0;
}

/* Code -------------------------------------- */

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: Menlo, monospace;
}

kbd,
pre,
samp {
	background: #F0F1F2;
	border-radius: .2rem;
	font-size: .9em;
	padding: .4rem .6rem;
}

pre {
	border-radius: .4rem;
	line-height: 1.5;
	padding: 1em;
}


/* Media ------------------------------------- */



img {
	display: block;
}

.wp-block-image img[src*="/uploads/Black-White/"] {
    filter: grayscale(100%);
    transition: filter 0.8s ease-in-out;
}

.wp-block-image img[src*="/uploads/Black-White/"]:hover {
    filter: grayscale(0%);
}



img,
embed,
object {
	height: auto;
	max-width: 100%;
}

iframe {
	max-width: 100%;
	margin-bottom: 2rem;

}

.wp-caption {
	display: block;
	margin-bottom: 3rem;
	max-width: 100%;
}

.wp-caption img,
.wp-block-image img {
	width: 100%;
}

.alignleft,
.alignright {
	margin: .4rem 0 2rem 0;
	max-width: 50%;
}

.alignleft {
	float: left;
	margin-right: 2.5rem;
}

.alignright {
	float: right;
	margin-left: 2.5rem;
}

.wp-block-image .alignleft,
.wp-block-image .alignright {
	width: 100%;
}

.aligncenter,
.alignnone,
.alignwide,
.alignfull {
	margin: 0rem auto;
}

.alignfull,
.alignwide {
	max-width: none;
}

.alignfull {

}

.alignfull figcaption,
.alignfull .wp-caption-text {
	padding: 0 0%;
}

figcaption,
.entry-content figcaption,
.wp-caption-text {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 500;
	margin: 1.5rem 0 1.0rem;
}

figcaption a,
.wp-caption-text a {
	display: inline;
}



/* Fieldset ------------------------------------ */

fieldset {
	border: .2rem solid #DCDFE2;
	padding: 1.5rem;
}

fieldset legend {
	color: #68717b;
	font-size: 1.4rem;
	font-weight: 600;
	padding: 0 1rem;
}


/* Inputs ------------------------------------ */

label {
	color: #68717b;
	display: block;
	font-size: 1rem;
	font-weight: 600;
	margin: 0 0 .8rem 0;
	line-height: 15px;
	text-align: left;
}

input,
select,
textarea {
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	max-width: 100%;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="week"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="color"],
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	background: #fff;
	border: .1rem solid #DCDFE2;
	border-radius: .2rem;
	box-shadow: none;
	display: block;
	margin: 0;
	max-width: 100%;
	padding: 1.6rem 1.8rem;
	transition: border-color .15s linear;
	width: 100%;
	word-break: normal;
	color: black;
}

input[type="file"] {
	font-size: 1.4rem;
	width: 100%;
}

textarea {
	height: 20rem;
	line-height: 1.5;
	width: 100%;
}

textarea:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="text"]:focus,
input[type="url"]:focus {
	border-color: #68717b;
	outline: none;
}

select {
	background: #fff url( ./assets/svg/chevron-down.svg ) no-repeat;
	background-position: calc( 100% - 1.4rem ) center;
	border-radius: .2rem;
	border: .1rem solid #e1e1e5;
	font-family: inherit;
	font-size: 1.6rem;
	font-weight: 500;
	padding: 1.5rem 4rem 1.5rem 1.8rem;
	-webkit-appearance: none;
	width: 100%;
}

*::-webkit-input-placeholder { color: #000; }
*:-ms-input-placeholder { color: #000; }
*::-moz-placeholder { color: #000; }




/* Tables ------------------------------------ */

table {
	border-collapse: collapse;
	border-spacing: 0;
	empty-cells: show;
	font-size: 0.85em;
	margin-bottom: 3rem;
	max-width: 100%;
	overflow: hidden;
	width: 100%;
}

th,
td {
	line-height: 3.5;
	margin: 0;
	overflow: visible;
	padding: 2.5%;
}

caption {
	border-bottom: .1rem solid #E0E4E7;
	font-weight: 700;
	padding-bottom: 2.5%;
	text-align: center;
}

thead {
	vertical-align: bottom;
	white-space: nowrap;
}

th {
	border-bottom: .1rem solid #E0E4E7;
	font-weight: 600;
}

tbody > tr:nth-child(even) {
	background-color: #EFF1F3;
}


/* Transitions ------------------------------------ */

a {
	transition: color .15s linear, background-color .15s linear, opacity .15s linear;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Helper Classes
/* -------------------------------------------------------------------------------- */


/* Toggles ----------------------------------- */

button.toggle {
	background-color: transparent;
}

.toggle {
	-webkit-appearance: none;
	-moz-appearance: none;
	cursor: pointer;
	position: relative;
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		-khtml-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
	user-select: none;
}


/* Color Classes ----------------------------- */

/* TEXT COLOR */

.color-black { color: #232D37; }

.color-darkest-gray { color: #4B555F; }
.color-darker-gray { color: #68717B; }
.color-gray { color: #9BA5AF; }

.color-light-gray { color: #DCDFE2; }
.color-lightest-gray { color: #F3EEE0; }

.color-white { color: #fff; }

/* BACKGROUND COLOR */

.bg-color-black { background-color: #000; }

.bg-color-darkest-gray { background-color: #4B555F; }
.bg-color-darker-gray { background-color: #68717B; }
.bg-color-gray { background-color: #9BA5AF; }

.bg-color-light-gray { background-color: #DCDFE2; }
.bg-color-lightest-gray { background-color: #F3EEE0; }

.bg-color-white { background-color: #fff; }


/* Typography Classes ----------------------------- */

.lining-numerals {
	font-feature-settings: "lnum";
	font-variant-numeric: lining-nums;
}

.hanging-quotes {
	hanging-punctuation: first;
}

.slashed-zero {
	font-feature-settings: "zero";
	font-variant-numeric: slashed-zero;
}

.transform-uppercase {
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.no-select {
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		-khtml-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
	user-select: none;
}



/* Post Meta ----------------------------- */

.post-meta {
	color: #D6F56D;
	display: flex;
	flex-wrap: wrap;
	font-size: 1.4rem;
	font-weight: 600;
	list-style: none;
	margin: 0rem;
	text-decoration: none;
	text-transform: uppercase;
}


.post-meta li {
	font-weight: inherit;
	margin: .8rem 0 0 1.6rem;
	text-decoration: none;
}

.post-meta .meta-wrapper {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	text-decoration: none;
}

.post-meta .meta-icon {
	align-items: center;
	display: flex;
	justify-content: center;
	margin-right: .7rem;
}

.post-meta .meta-content {
	align-items: center;
	display: flex;
	justify-content: center;
	margin-right: .7rem;
	text-decoration: none;
}

.post-meta .meta-sticky {
	align-items: left;
	display: flex;
	justify-content: left;
	margin-right: .7rem;
	font-size: 20px;
	color: #CD842E;

}

.post-meta img {
	opacity: .6;
	transition: opacity .15s linear;
	-webkit-backface-visibility: hidden;
    -webkit-transform: translateZ(0) scale(1.0, 1.0);
    transform: translateZ(0);
	width: 1.6rem;
}

.post-meta .post-author img { width: 1.5rem; }
.post-meta .post-sticky img,
.sticky .post-meta .post-sticky img { width: 1.2rem; }

.post-meta .post-comment-link img {
	position: relative;
		top: .1rem;
}






.post-meta a {
	color: inherit;
	text-decoration: underline;
    text-transform: uppercase;
	padding-right: .5rem;
	color: #fff;
	line-height: 2.0rem;
}

.post-meta a:hover {
	text-decoration: underline;
}

/* STACK MOBILE */

.post-meta.stack-mobile {
	display: block;
}

.post-meta.stack-mobile .meta-icon {
	width: 1.8rem;
}


/* Cover Modals ------------------------------- */

.cover-modal {
	background: #fff;
	display: none;
	opacity: 1;
	overflow: auto;
	position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		top: 0;
	z-index: 9999;
	text-align:center;
}

@media ( max-width: 782px ) {
	.showing-admin-bar .cover-modal {
		top: 0px;
	}
}
@media ( min-width: 782px ) {
	.showing-admin-bar .cover-modal {
		top: 0px;
	}
}

.cover-modal.active {
	display: block;
}

/* Loading Animation ------------------------------- */

.loader {
	animation: spin 1.4s linear infinite;
    border: .5rem solid #DCDFE2;
	border-radius: 50%;
    border-top: .5rem solid #68717b;
    height: 4.4rem;
	margin: auto;
    width: 4.4rem;
}

.loader.small {
	height: 3rem;
	width: 3rem;
}


/* Animations ------------------------------- */

@keyframes spin {
    0% { 	transform: rotate( 0deg ); }
    100% { 	transform: rotate( 360deg ); }
}

@keyframes spinQuarter {
    0% { 	transform: rotate( 0deg ); }
    100% { 	transform: rotate( 90deg ); }
}

@keyframes spinHalf {
    0% { 	transform: rotate( 0deg ); }
    100% { 	transform: rotate( 180deg ); }
}

@keyframes pop {
	0% { 	transform: scale( 1 ); }
	50% { 	transform: scale( 1.25 ); }
	100% { 	transform: scale( 1 ); }
}

@keyframes popIn {
	0% { 	transform: scale( 0.3 ); opacity: 0; }
	70% { 	transform: scale( 1.1 ); opacity: 1; }
	100% { 	transform: scale( 1.0 ); }
}

@keyframes side_shake {
	0% { 	transform: translate( .8rem ); }
	20% { 	transform: translate( -.8rem ); }
	40% { 	transform: translate( .6rem ); }
	60% { 	transform: translate( -.4rem ); }
	80% { 	transform: translate( .2rem ); }
	100% { 	transform: translate( 0 ); }
}


/* Spotted Animations ------------------------------- */

/* PULL */

.spot-animation-fade-pull-up.will-be-spotted:not(.spotted) {
	opacity: 0;
	transform: translateY( 10vh );
	transition: none;
}

.spot-animation-fade-pull-up.will-be-spotted.spotted {
	opacity: 1;
	transform: translateY( 0 );
	transition: opacity .5s ease-out, transform .5s ease-out;
}

/* SCALE */ 

.spot-animation-scale-up.will-be-spotted:not(.spotted) {
	transform: scale( 0 );
	transition: none;
}

.spot-animation-scale-up.will-be-spotted.spotted {
	animation: popIn .4s 1 linear;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Site Header
/* -------------------------------------------------------------------------------- */


#site-header {
    position: relative;
    top: 0;
    left: 0;
    right: 0;

    z-index: 999;
    display: flex;
    align-items: center;
    min-height: 60px;
    background: #000;


    transition: transform 0.5s ease;
    will-change: transform;
}





.header-top {
    position: relative;
    display: flex;
    justify-content: flex-end;
    align-items: center;

    width: 100%;
    padding-bottom: 1rem;

    /* WEG */
    border-bottom: none;
}



/* ============================================================
   HEADER – PROFIL / KONTO
============================================================ */


/* ============================================================
   LINKS: PROFIL
   Kreis
============================================================ */

.header-profile-actions {
    margin-right: auto;
    margin-left: 3.5rem;
}


.header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-right: 3.5rem;
}

.header-profile-trigger {
    position: relative;

    display: inline-block;

    width: 18px;
    height: 18px;

    box-sizing: border-box;

    border: 2px solid #fff;
    border-radius: 50%;

    background: transparent;

    cursor: none;

    transition:
        transform 0.35s ease,
        opacity 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease;
}


/* Eingeloggt:
   Kreis ausfüllen */

body.logged-in:not(.is-ms-profile)
.header-profile-trigger {
    background: #fff;
}


/* Auf /profil/:
   Kreis wird zum X */

body.is-ms-profile
.header-profile-trigger {
    border-color: transparent;
    background: transparent;
}


body.is-ms-profile
.header-profile-trigger::before,
body.is-ms-profile
.header-profile-trigger::after {
    content: "";

    position: absolute;
    top: 50%;
    left: 50%;

    width: 18px;
    height: 2px;

    background: #fff;

    transform-origin: center;
}


body.is-ms-profile
.header-profile-trigger::before {
    transform:
        translate(-50%, -50%)
        rotate(45deg);
}


body.is-ms-profile
.header-profile-trigger::after {
    transform:
        translate(-50%, -50%)
        rotate(-45deg);
}



/* ============================================================
   RECHTS: KONTO
   Quadrat
============================================================ */

.header-actions {
    margin-left: auto;
}


.header-account-trigger {
    position: relative;

    display: inline-block;

    width: 18px;
    height: 18px;

    box-sizing: border-box;

    border: 2px solid #fff;

    background: transparent;

    cursor: none;

    transition:
        transform 0.35s ease,
        opacity 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease;
}


/* Eingeloggt:
   Quadrat ausfüllen */

body.logged-in:not(.is-ms-account)
.header-account-trigger {
    background: #fff;
}


/* Auf /konto/:
   Quadrat wird zum X */

body.is-ms-account
.header-account-trigger {
    border-color: transparent;
    background: transparent;
}


body.is-ms-account
.header-account-trigger::before,
body.is-ms-account
.header-account-trigger::after {
    content: "";

    position: absolute;
    top: 50%;
    left: 50%;

    width: 18px;
    height: 2px;

    background: #fff;

    transform-origin: center;
}


body.is-ms-account
.header-account-trigger::before {
    transform:
        translate(-50%, -50%)
        rotate(45deg);
}


body.is-ms-account
.header-account-trigger::after {
    transform:
        translate(-50%, -50%)
        rotate(-45deg);
}



/* ============================================================
   LOGO
============================================================ */

.header-logo-center {
    position: absolute;

    left: 50%;
    top: 50%;

    transform: translate(-50%, -50%);

    z-index: 2;

    pointer-events: auto;
}


.header-logo-center img {
    width: 100%;
    max-width: 150px;
    height: auto;
}



/* ============================================================
   MOBILE
============================================================ */

@media (max-width: 768px) {

    .header-logo-center img {
        max-width: 130px;
    }


}





/* ===================================================
   AUTH / LOGIN / REGISTRATION
   =================================================== */


/* ========================================
   FLOAT BUTTON (unverändert)
   ======================================== */
.kollektion-float-btn {
	position: absolute;
	left: 50%;
	top: calc(75%);
	transform: translate(-50%, -50%) rotate(-15deg);
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background: #D6F56D;
	color: black;
	font-size: 1.1rem;
	font-weight: bold;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1.2;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 10px rgba(255, 255, 255, 0.2);
	z-index: 1000;
	transition: all 0.2s ease-in-out;
}

.kollektion-float-btn:hover {
	transform: translate(-50%, -50%) scale(1.05);
	box-shadow: 0 0 20px rgba(255, 255, 255, 0.4);
}





/* ========================================
   BUTTON SYSTEM
   ======================================== */

.ms-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .7rem;

    width: 100%;
    max-width: 280px;
    margin: 3rem auto 3rem;
    padding: 1rem 1.4rem;

    border-radius: 999px;
    font-size: 1.4rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    text-decoration: none;

    transition: .2s ease;
    cursor: none;
}

.entry-content a.ms-btn {
    text-decoration: none;
}

/* Pfeil */
.ms-btn::after {
    content: "→";
    font-size: 1.7rem;
    line-height: 1;
    transition: transform .2s ease;
}

.ms-btn:hover::after {
    transform: translateX(4px);
}

/* ==========================
   AKTIVER BUTTON
   ========================== */

.ms-btn-primary {
    background: #D6F56D;
    color: #000;
    border: 2px solid #D6F56D;
}

.ms-btn-primary:hover {
    background: #cce963;
    border-color: #cce963;
}

/* ==========================
   OUTLINE BUTTON
   ========================== */

.ms-btn-secondary {
    background: transparent;
    color: #D6F56D;
    border: 1px solid #D6F56D;
}

.ms-btn-secondary:hover {
    background: rgba(214,245,109,.08);
}

/* ==========================
   AKTUELLER PLAN
   ========================== */

.ms-btn.is-disabled {

    background: transparent;
    color: #D6F56D;
    border: 1px solid #D6F56D;
    pointer-events: none;
}

/* Aktiver Plan bekommt keinen Pfeil */

.ms-btn.is-disabled::after {
    display: none;
}



.ms-btn-current {

    background: transparent;
    color: #D6F56D;
    border: 1px solid #D6F56D;
    pointer-events: none;
}

.ms-btn-current::after {
    display: none;
}


/* ==========================================
   FRONT CTA
   ========================================== */

.front-cta{
    max-width:1200px;
    margin:6rem auto 5rem;
    padding:0 2rem;
}

/* Buttons */

.front-cta-buttons{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:1.5rem;
    margin-bottom:2.5rem;
}

.front-cta-buttons .ms-btn{
    margin:0;
    flex:1;
    max-width:340px;
}

/* Vorteile */

.front-cta-features{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1rem;
   font-size:1.5rem;
    margin-top:2.5rem;

    color:#bfbfbf;
}

.front-feature{

    display:flex;
    align-items:center;
    justify-content:center;
    gap:.8rem;

    text-align:left;
}

.feature-icon{

    width:34px;
    height:34px;
    flex:0 0 34px;

    overflow:visible;

    color:#D6F56D;

    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.feature-clock{
    stroke-width:1.1;
}

.feature-search{
    stroke-width:1.2;
}

.feature-icon circle{
    fill:none;
}

.feature-score{
    width:42px;
    height:42px;
    flex-basis:42px;
	stroke-width:2.4;
}

.score-number{

    fill:currentColor;
    stroke:none;

    font-size:18px;
    font-weight:700;
}

.feature-palette{
    stroke-width:1.2;
}

.score-label{

    fill:currentColor;
    stroke:none;

    font-size:5px;
    letter-spacing:.8px;
}

.front-feature span{

    line-height:1.3;
}


@media (max-width:768px){
	
	.front-cta{

        padding:0 2rem;
    }

    .front-cta-buttons{

        flex-direction:column;
        gap:1rem;
    }

    .front-cta-buttons .ms-btn{
        width:100%;
        max-width:310px;
    }

   .front-cta-features{

        grid-template-columns:repeat(4,1fr);
        gap:.5rem;
        margin-top:2rem;
	   font-weight: 600;
    }

    .front-feature{

        gap:.45rem;
    }

    .feature-icon{

        width:28px;
        height:28px;
        flex-basis:28px;
    }

    .feature-score{

        width:34px;
        height:34px;
        flex-basis:34px;
    }

    .score-number{
        font-size:18px;
    }

    .score-label{
        font-size:5px;
    }

    .front-feature span{

        font-size: 1.1rem;
        line-height:1.35;
    }

}

/* Smartphone */
@media (max-width:480px){
	
	.front-cta{
    max-width:1200px;
    margin:4rem auto 5rem;
    padding:0 2rem;
}

    .front-feature{
        gap:.35rem;
    }

    .feature-icon{
        width:26px;
        height:26px;
        flex-basis:26px;
    }

    .feature-score{
        width:32px;
        height:32px;
        flex-basis:32px;
    }

    .front-feature span{
        font-size:.72rem;
        line-height:1.3;
    }

}



/* ========================================
   LINKS (REGISTER / PASSWORD)
   ======================================== */
.passwort-vergessen-link {
  text-align: right;
  margin-top: -10px;
  margin-bottom: 20px;
  font-size: 0.9em;
}

.passwort-vergessen-link a {
  color: #666;
  text-decoration: underline;
}

.registrierung-link {
  text-align: left;
  margin-top: 1.5rem;
  font-size: 1.3rem;
  color: #aaaaaa;
}

.registrierung-link a {
  color: #F3ACBD;
  text-decoration: none;
  font-weight: bold;
}


/* ========================================
   HINWEIS BUTTON (optional CTA)
   ======================================== */
.btn-login-hinweis {
  background: #D6F56D;
  padding: 0.8rem 1.6rem;
  border-radius: 4px;
  color: black;
  text-decoration: none;
  font-weight: bold;
  display: inline-block;
  margin-top: 2rem;
  transition: background 0.3s ease;
}

.btn-login-hinweis:hover {
  background: #c2e85f;
}


/* ========================================
   PASSWORD FORM SPECIAL
   ======================================== */
#account-password .login-form p {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  max-width: 280px;
  margin: 0 auto 1.2rem;
}

#account-password .login-form label {
  font-size: 0.85rem;
  opacity: 0.85;
}

#account-password .login-form input[type="password"] {
  margin: 0;
}


/* ========================================
   LOADING STATE
   ======================================== */
.klangprofil-loading {
  font-style: italic;
  color: #F3ACBD;
  animation: blink 1.7s linear infinite;
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}


/* ========================================
   MOBILE
   ======================================== */
@media (max-width: 480px) {

  .kollektion-float-btn {
    width: 80px;
    height: 80px;
    font-size: 0.9rem;
  }

  .kollektion-einleitung {
    margin-left: 1rem;
    margin-right: 1rem;
  }
}




/* -------------------------------------------------------------------------------- */
/*	X.	Post: Archive
/* -------------------------------------------------------------------------------- */


.posts {
	margin-bottom: -3rem;
	opacity: 0;
	padding: 3rem 0;
}

.no-js .posts {
	opacity: 1;
}


/* Archive Header ----------------------------- */

.preview.archive-header a { text-decoration: none; }
.preview.archive-header a:hover,
.preview.archive-header a:focus { text-decoration: none; }

.archive-header-mobile {
	padding: 3rem;
	background: #000;
	white-space: nowrap;
	width: 100vw;
    overflow: hidden; /* Verhindert horizontales Scrollen */
    position: relative;	
}

.archive-header-desktop {
	display: none;
	width: 100vw;
    overflow: hidden; /* Verhindert horizontales Scrollen */
    position: relative;	
}

.archive-header .subheading {
	font-size: 0.0rem;
	font-weight: 600;
	margin-bottom: 7rem;
	color: #D6F56D; 
	width: 100vw;
    overflow: hidden; /* Verhindert horizontales Scrollen */
    position: relative;	
}



/* Container für den Lauftext */
.archive-header {
    width: 100vw;
    overflow: hidden; /* Kein Scrollen */
    position: relative;
     white-space: nowrap;
}

/* Marquee-Effekt mit doppeltem Text */
.archive-title {
    display: inline-block;
    text-transform: uppercase;
    color: #fff;
    font-size: 7.5rem;
    font-weight: bold;
    white-space: nowrap;
    padding-right: 1rem; /* Abstand für nahtlose Wiederholung */
    animation: marquee 20s alternate infinite linear;
}


/* Die eigentliche Animation */
@keyframes marquee {
    from {
        transform: translateX(20vw);
    }
    to {
        transform: translateX(-100%);
    }
}




.archive-description {
	font-size: 1.0rem;
	margin: 1.3rem 0 0;
	color: #000;
	white-space: normal;
	text-decoration: underline;
}

.archive-description p {
	line-height: 1.5;
	font-size: 1.5rem;
	color: #fff;
	white-space: normal;
}

.archive-description a {
	line-height: 1.5;
	font-size: 1.5rem;
	color: #fff;
	white-space: normal;
}



/* -------------------------------------------------------------------------------- */
/*	X.	Post: Single
/* -------------------------------------------------------------------------------- */


.album-hero {
    padding:2rem;
}

.album-hero-inner {
    max-width:1200px;
    margin:0 auto;

    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);

    border-radius:24px;
    overflow:hidden;
    background:#fff;
}




.album-hero-content {

    background: #fff;

    padding: 4rem;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.album-hero-img {
    display: block;
    width: 100%;
    height: auto;
}

.album-hero-intro {
    
    font-size: 1.3rem;
    line-height: 1.8;

    max-width: 55ch;

    color: #444;
    margin: 0;
}

@media (max-width: 768px) {

    .album-hero {
        padding: 1.5rem;
    }

    .album-hero-inner {

        grid-template-columns: 1fr;

        border-radius: 24px;
        overflow: hidden;
    }
	
	.album-hero-content {
    padding: 2rem;
	}
	
}
	


.post-inner {
	max-width: 60rem;
	padding: 0 0 6rem;
}

.has-post-thumbnail .post-inner {
	padding-top: 0rem;
}

.post-header {
	margin-bottom: 2rem;
	width: 100%;
}

.post-meta-single {
	margin-top: 3rem;
	color: #fff;
	display: flex;
	font-size: 12px;
}

.post-meta-single .meta-icon {
	margin-right: 1rem;
}

.post-meta-single img { opacity: .65; }






/* Pingbacks & Trackbacks ------------------------- */


.pingback .comment-meta,
.trackback .comment-meta {
	padding-left: 0;
}



/* -------------------------------------------------------------------------------- */
/*	X.	Entry Content
/* -------------------------------------------------------------------------------- */


.entry-content {
	position: relative;
}

:root .entry-content > *:first-child { margin-top: 0; }
:root .entry-content > *:last-child { margin-bottom: 0; }

.entry-content a {
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-skip-ink: auto;

}

.entry-content a:hover {
	text-decoration: none;
	color: #000;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Entry Page
/* -------------------------------------------------------------------------------- */


.entry-page {
	position: relative;
}

:root .entry-page.is-content > *:first-child {
  margin-top: 0;
}


:root .entry-page > *:last-child { margin-bottom: 0; }


.entry-page p a,
.entry-page li a {
  color: #F3ACBD;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.entry-page p a:hover,
.entry-page li a:hover {
  color: #fff;
}


/* ===========================
   Albumfarbe/Stimmung-Template (Grid 1fr | auto | 1fr)
   =========================== */

/* Stimmung-Page: 3er-Grid unter dem Farbsplit */
.albumfarbe-page .albumfarbe-grid-wrapper {
  width: 100%;
  background: #f4f4f6;
  padding: 3rem 0;
}

.albumfarbe-page .albumfarbe-grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 5rem 2rem;

  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 4rem;
  align-items: start;
}



.stimmung-name {
  font-style: italic;
  font-size: clamp(3rem, 4vw, 6.5rem);
  margin-bottom: 0.5rem;
  color: #fff;
  text-align: center;
}

.albumfarbe-page .stimmung-section-title,
.stimmungen-page .stimmung-section-title,
.landing-page .stimmung-section-title,
.artist-page .stimmung-section-title,
.artists-page .stimmung-section-title {
  padding: 1rem 2rem;
  background-color: transparent;
  color: white;
  font-size: 4rem;
  font-weight: 400;
  text-transform: uppercase;
  margin-top: 20px;
  text-align: center;
}

.albumfarbe-page .stimmung-intro-text,
.stimmungen-page .stimmung-intro-text,
.landing-page .stimmung-intro-text,
.artists-page .stimmung-intro-text {
  font-size: clamp(1.3rem, 1.4vw, 1.125rem);
  line-height: 1.7;
  color: #fff;
  text-align: center;
  max-width: 58ch;
  margin: 0 auto;
  padding: 0 1.2rem;
}




.albumfarbe-page .albumfarbe-grid .grid-item {
  font-size: 1.9rem;
  line-height: 1.4;
  color: #000; /* Falls dein Seitenhintergrund hell ist, ggf. auf #111 ändern */
}

/* Mitte zentrieren – unabhängig davon, welche Klassen die MSTAX-Box innen hat */
.albumfarbe-page .albumfarbe-grid .color-box {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Feste Breite für den MSTAX-Output erzwingen, egal wie er heißt */
.albumfarbe-page .albumfarbe-grid .color-box > * {
  max-width: 250px;
  width: 250px;
}

/* Responsiv */
@media (max-width: 1024px) {
  .albumfarbe-page .albumfarbe-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .albumfarbe-page .albumfarbe-grid .grid-item {
    text-align: left;
    margin: 1rem;
  }
}


/* =====================================
   Konzept Hero
===================================== */

.concept-hero {
    background: #f4f4f6;
    padding: 2rem;
}

.concept-hero-inner {

    max-width: 1200px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1fr 1fr;

    border-radius: 24px;
    overflow: hidden;

    background: #fff;
}

.concept-hero-image {
    aspect-ratio: 12 / 16;
}

.concept-hero-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}



.concept-hero-content {

    background: #fff;

    padding: 5rem;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.concept-hero-title {

    font-size: clamp(3rem, 5vw, 5rem);
    line-height: 1.05;

    margin: 0 0 2rem;
    color: #000;
}

.concept-hero-intro {

    font-size: 1.3rem;
    line-height: 1.8;

    max-width: 45ch;

    color: #444;
    margin: 0;
}


.concept-hero-divider{
    height:1px;
    background:#d7d7d7;
    margin:3rem 0;
}

.concept-moods-label {
    font-size:1.3rem;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:#444;
    margin-bottom:2rem;
}

.concept-moods{
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
}

.concept-mood-chip{
    display:flex;
    align-items:center;
    gap:.6rem;

    text-decoration:none;
    color:#000;

    font-size:1.2rem;
    font-weight:600;
}

.concept-mood-dot{
    width:12px;
    height:12px;
    border-radius:50%;
}

.concept-mood-weight{
    color:#444;
    font-weight:400;
}



/* =====================================
   Albumfarben Hero
===================================== */

.albumfarbe-page .albumcolor-hero-image{

    aspect-ratio:auto;
    padding:20px;

    display:flex;
    align-items:stretch;

}

.albumfarbe-page .albumcolor-moodboard{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:12px;

    width:100%;

    align-content:start;

}

.albumfarbe-page .albumcolor-board-item{

    display:block;
    overflow:hidden;
    border-radius:12px;

}

.albumfarbe-page .albumcolor-board-item img{

    display:block;
    width:100%;

    aspect-ratio:1;

    object-fit:cover;

}



@media (max-width: 480px){

    .albumfarbe-page .albumcolor-hero-image{
        padding:8px;
    }

    .albumfarbe-page .albumcolor-moodboard{
        gap:4px;
    }

    .albumfarbe-page .albumcolor-board-item{
        border-radius:6px;
    }

}


@media (max-width: 768px) {

    .concept-hero {
        padding: 1.5rem;
    }

    .concept-hero-inner {

        grid-template-columns: 1fr;

        border-radius: 24px;
        overflow: hidden;
    }

    .concept-hero-image {
        min-height: auto;
    }

    .concept-hero-img {
        aspect-ratio: 4 / 5;
        object-fit: cover;
    }

    .concept-hero-content {

        padding: 2rem;

        border-radius: 0 0 24px 24px;
    }

    .concept-hero-title {

        font-size: 3rem;
        margin-bottom: 1.5rem;
		text-align: center;
    }

    .concept-hero-intro {
		max-width: 95ch;
        font-size: 1.3rem;
        line-height: 1.7;
		text-align: center;
    }
	
	.concept-moods-label {
    text-align: center;
 }
	
	.concept-moods {
        justify-content: center;
        align-items: center;
    }
	
	

    .concept-mood-chip {
        justify-content:flex-start;
    }

}




/* ========== Playlist Section ========== */

.concept-playlist-section {
    background: #f4f4f6;
    padding: 4rem 0 6rem;
}

.concept-playlist-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

.concept-playlist-embed {
  max-width: 600px;
  margin: 5rem auto 0;
}

.concept-playlist-embed iframe {
  display: block;
  width: 100%;
  border: 0;
}

.section-heading {
  font-size: 4rem;
  font-weight: 400;
  text-transform: uppercase;
  text-align: center;
  padding-bottom: 1rem;
  color: #fff;

  margin: 0;

}


.section-concept-subline {
    font-size: 1.3rem;
    line-height: 1.8;
	padding: 1rem 2rem;
	text-align: center;
 	color: white;
}

.section-heading-black {
  font-size: 4rem;
  font-weight: 400;
  text-transform: uppercase;
  text-align: center;
  margin: 0;

	padding-bottom: 1rem;
}

.concept-playlist-intro {
  font-size: clamp(1.3rem, 1.4vw, 1.125rem);
  line-height: 1;
  color: #444;
  text-align: center;
  max-width: 58ch;
  margin: 0 auto;
  padding: 1.2rem;
}

.playlist-highlights {
    display: block;
    margin-top: 0.75rem;
}


.mstax-streaming-card {
    max-width: 600px;
    margin: 1.5rem auto 0;
    padding: 1.25rem 1.5rem;
    background: #fff;
    border-radius: 10px;

}

.mstax-streaming-header {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .4rem;
}

.mstax-streaming-label {
    font-size: 1.6rem;
    font-weight: 700;


}

.mstax-streaming-lock {
    font-size: 1rem;
}

.mstax-streaming-text {
    font-size: 1.3rem;
    line-height: 1.8;
	padding: 0.5rem 0;
 	color: #444;
}

.mstax-streaming-links,
.mstax-streaming-preview {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.2rem;
	margin-bottom: 2.0rem;
}

.mstax-streaming-links a,
.mstax-streaming-preview span {
    padding: .55rem .85rem;
    border-radius: 999px;
    background: #f3f3f3;
    color: #444;
    font-size: 1.3rem;
    font-weight: 700;
    text-decoration: none;
	display: inline-flex;
    align-items: center;
}

.mstax-streaming-links a:hover {
    background: #000;
    color: #fff;
}

.mstax-streaming-links a {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
}

.mstax-arrow-small {
    width: 22px;
    height: 22px;
    margin-left: -5px;
    flex-shrink: 0;
}




.mstax-streaming-preview span {
    opacity: .45;
}

.mstax-streaming-cta {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .35rem;

    width: fit-content;
    margin: 0 auto;

    font-size: 1.4rem;
    font-weight: 700;
    color: #F3ACBD;
    text-decoration: none;
}



.mstax-streaming-cta:hover {
    text-decoration: underline;
}

@media (max-width: 767px) {
    .mstax-streaming-card {
        margin-top: 1rem;
        padding: 1rem;
        border-radius: 10px;
    }

    .mstax-streaming-links,
    .mstax-streaming-preview {
        gap: .5rem;
    }
}


/* ========== Discover Button ========== */
.discover-button-wrapper {
  text-align: left;
}

.discover-button-inline {
  margin-top: 2.5rem; /* Abstand nach oben zum Text */
  text-align: left;   /* optional: auch center oder right */
}


.discover-button {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.8rem 1.6rem;
  border: 2px solid #000;
  background: transparent;
  color: #000;
  font-size: 1.1rem;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: none;
  transition: all 0.3s ease;
  border-radius: 0.2rem;
  text-decoration: none;
}

.discover-button:hover {
  background-color: #ffffff;
  color: #000000;
}

.discover-icon {
  font-size: 1.4rem;
  line-height: 1;
}

.section-divider {
  height: 5rem; /* Standard-Abstand auf Desktop */
}


@media (max-width: 480px) {

	
	.section-heading {
  font-size: 3rem;
}
	
		.section-heading-black {
  font-size: 3rem;

}
	
  .albumfarbe-page .stimmung-section-title,
  .stimmungen-page .stimmung-section-title,
  .landing-page .stimmung-section-title {
    padding: 1rem 2rem;
    font-size: 3rem;
    font-weight: 400;
    margin-top: 10px;
  }


   .albumfarbe-page .albumfarbe-grid .grid-item {
  font-size: 1.6rem;
}
	
	.albumfarbe-page .albumfarbe-grid {

  padding: 2rem 2rem;

}
	
	
	
	.albumfarbe-section-heading {
     font-size: 4.0rem;
  }
	
	.section-divider {
    height: 1.5rem; /* Noch kompakter auf sehr kleinen Bildschirmen */
  }

}


@media (max-width: 600px) {
  .discover-button {
    display: block;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    text-align: center;
    justify-content: center;
    border-radius: 0;
  }

  .discover-button-inline {
    margin-top: 2rem;
  }
	

	
}



@media (max-width: 768px) {
  .section-divider {
    height: 2.5rem; /* Weniger Abstand auf kleineren Bildschirmen */
  }
}


@media (max-width: 1024px) {
  .discover-button {
    display: block;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    text-align: center;
    justify-content: center;
    border-radius: 0;
  }

  .discover-button-inline {
    margin-top: 3.5rem;
  }
}






/* Typography --------------------------------------- */

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
	line-height: 1.25;
	margin: 3rem 0 2rem;
}

.entry-content h1 { font-size: 2.8rem; }
.entry-content h2 { font-size: 2.4rem; }
.entry-content h3 { font-size: 4.4rem; }
.entry-content h4 { font-size: 1.9rem; }
.entry-content h5 { font-size: 1.8rem; }
.entry-content h6 { font-size: 1.7rem; }


.entry-content p.has-background {
	margin-left: -2rem;
	padding: 2rem;
	width: calc( 100% + 4rem );
}

.entry-content p.has-drop-cap:first-letter {
	font-size: 6em;
	font-weight: 300;
	color: var(--stimmungsfarbe)
	
}



.entry-content hr {
	margin: 4rem auto;
	max-width: 50%;
}

.entry-content hr:not(.wp-block-separator),
.entry-content hr.is-style-wide {
	max-width: 100%;
}

.wp-block-separator.is-style-dots:before {
	color: inherit;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Blocks
/* -------------------------------------------------------------------------------- */


/* Block Editor Accent Colors ---------------- */

:root .has-background { background-color: #232D37; }

:root .has-black-color { color: #232D37; }
:root .has-black-background-color { background-color: #232D37; }

:root .has-darkest-gray-color { color: #4B555F; }
:root .has-darkest-gray-background-color { background-color: #4B555F; }

:root .has-darker-gray-color { color: #68717b; }
:root .has-darker-gray-background-color { background-color: #68717b; }

:root .has-gray-color { color: #68717b; }
:root .has-gray-background-color { background-color: #68717b; }

:root .has-light-gray-color { color: #DCDFE2; }
:root .has-light-gray-background-color { background-color: #DCDFE2; }

:root .has-lightest-gray-color { color: #E6E9EC; }
:root .has-lightest-gray-background-color { background-color: #E6E9EC; }

:root .has-white-color { color: #fff; }
:root .has-white-background-color { background-color: #fff; }

/* Block Editor Font Sizes ------------------- */

:root .has-small-font-size { font-size: .842em; }
:root .has-regular-font-size,
:root .has-normal-font-size { 
	font-size: 1em;
}

:root .has-large-font-size,
:root .has-larger-font-size {
	line-height: 1.45;
}

:root .has-large-font-size { font-size: 1.333em; }
:root .has-larger-font-size { font-size: 1.777em; }


/* Block: Base Margins ----------------------- */

:root *[class*="_inner-container"] > *:first-child { margin-top: 0; }
:root *[class*="_inner-container"] > *:last-child { margin-bottom: 0; }

.wp-block-archives,
.wp-block-button,
.wp-block-buttons,
.wp-block-categories,
.wp-block-code,
.wp-block-columns,
.wp-block-cover-image,
.wp-block-embed,
.wp-block-gallery,
.wp-block-group,
.wp-block-image,
.wp-block-latest-comments,
.wp-block-latest-posts,
.wp-block-media-text,
.wp-block-preformatted,
.wp-block-pullquote,
.wp-block-social-links,
.wp-block-table,
.wp-block-quote,
.wp-block-quote.is-large,
.wp-block-quote.is-style-large,
.wp-block-verse,
.wp-block-video {
	margin-bottom: 3rem;
	margin-top: 3rem;
}

:root *[class*="_inner-container"] > *:first-child { margin-top: 0; }
:root *[class*="_inner-container"] > *:last-child { margin-bottom: 0; }

.wp-block-cover {
	text-align: center;
}


/* Block: Audio ------------------------------ */

.wp-block-audio audio {
	width: 100%;
}

/* Block: Button ----------------------------- */

.entry-content .wp-block-file__button,
.entry-content .wp-block-button__link {
	border-radius: .4rem;
	font-weight: 500;
	padding: .2em 0.3em;
	text-decoration: none;
	border: 1.5px solid;
}

.entry-content .wp-block-file__button:hover,
.entry-content .wp-block-button__link:hover {
	opacity: .85;
	text-decoration: none;
}

/* Block: Buttons ---------------------------- */

.wp-block-buttons .wp-block-button {
	margin-top: 0;
	text-decoration: none;
}

/* Block: Column ----------------------------- */

.wp-block-column {
	padding: 0 .5rem;
}

/* Block: Cover Image ------------------------ */

.wp-block-cover-image p {
	font-weight: 300;
}

/* Block: File ------------------------------- */

.entry-content .wp-block-file {
	align-items: center;
	background: #E6E9EC;
	border-radius: .4rem;
	display: flex;
	justify-content: space-between;
	margin: 3rem 0;
	padding: 1.5rem 2rem;
}

.entry-content .wp-block-file a:not(.wp-block-file__button) {
	font-weight: 600;
	text-decoration: none;
}

.entry-content .wp-block-file__button {
	flex-shrink: 0;
}

/* Block: Gallery ---------------------------- */

.wp-block-gallery .blocks-gallery-image figcaption, 
.wp-block-gallery .blocks-gallery-item figcaption {
	margin: 0;
	padding-bottom: 1rem;
}

/* Block: Image ------------------------------ */

:root .wp-block-image.alignleft,
:root .wp-block-image .alignleft {
	margin-right: 2.5rem;
	border: none;
}

:root .wp-block-image.alignright,
:root .wp-block-image .alignright {
	margin-left: 2.5rem;
}

/* Block: Pull Quote ------------------------- */

.entry-content .wp-block-pullquote {
	border: none;
	min-width: 18rem;
	padding: 0;
}

.entry-content .wp-block-pullquote blockquote {
	border: none;
	margin: 0;
	padding: 0;
}

.entry-content .wp-block-pullquote.alignleft,
.entry-content .wp-block-pullquote.alignright {
	width: 50%;
}

.entry-content .wp-block-pullquote.alignleft {
	text-align: left;
}

.entry-content .wp-block-pullquote.alignright {
	text-align: right;
}

.entry-content .wp-block-pullquote p,
.entry-content .wp-block-pullquote cite {
	text-align: inherit;
}

.entry-content .wp-block-pullquote p {
	font-size: inherit;
	font-weight: 500;
	line-height: 1.4;
}

/* STYLE: SOLID COLOR */

.wp-block-pullquote.has-background {
	padding: 2rem;
}

.wp-block-pullquote.is-style-solid-color blockquote {
	max-width: 100%;
}

.wp-block-pullquote.is-style-solid-color blockquote p {
	font-size: inherit;
}

/* Block: Quote ------------------------------ */

.entry-content blockquote,
.entry-content .wp-block-quote.is-large, 
.entry-content .wp-block-quote.is-style-large {
	margin-bottom: 1.25em;
}

.entry-content blockquote p:last-child {
	margin-bottom: 0;
}

blockquote.has-text-align-center {
	border-width: 0;
	padding: .25em 0;
}

blockquote.has-text-align-right {
	border-width: 0 .2rem 0 0;
	padding: .25em 1.5em .25em 0;
}

/* STYLE: LARGE */

.wp-block-quote.is-large,
.wp-block-quote.is-style-large {
	border-width: 0;
	padding: .25em 0;
}

.wp-block-quote.is-large p, 
.wp-block-quote.is-style-large p {
	font-size: 1.33em;
	font-style: inherit;
	line-height: 1.5;
}

.wp-block-quote.is-large cite, 
.wp-block-quote.is-large footer, 
.wp-block-quote.is-style-large cite, 
.wp-block-quote.is-style-large footer {
	font-size: .9em;
	text-align: inherit;
}


/* Page Break -------------------------------- */

.post-nav-links {
	background: #E6E9EC;
	border-radius: .4rem;
	color: #5F6973;
	font-weight: 600;
	padding: 1.5rem 2rem;
}



/* -------------------------------------------------------------------------------- */
/*	X.	Kategorien
/* -------------------------------------------------------------------------------- */

/* Mehr Abstand nach oben für die Kategorie-Posts */
.category-posts {
    margin-top: 50px; /* Oder eine andere gewünschte Höhe */
    padding-top: 50px; /* Oder eine andere gewünschte Höhe */
}





/* -------------------------------------------------------------------------------- */
/*	X.	404 Page
/* -------------------------------------------------------------------------------- */


.error404 .single-container {
	padding: 5rem 0;
	
}

.single-container {
		overflow: hidden;
		padding-bottom: 6rem;
	}

.error404 .go-home {
	color: #68717b;
	font-size: .95em;
	font-weight: 600;
	text-decoration: none;
}

.error404 .go-home:hover {
	text-decoration: underline;
}


/* -------------------------------------------------------------------------------- */
/*	X.	Site Footer
/* -------------------------------------------------------------------------------- */


#site-footer {
	margin-left: 0rem;
	margin-top: auto;
	padding-top: 2rem;
	position: relative;
	background: transparent;
}


/* Footer Widgets ------------------------------- */

.footer-widgets-outer-wrapper {
	padding: 0rem 0 0rem;
	align-items: left;
	color: #fff;
}

.footer-widgets-wrapper {
	margin: 0rem 0 0;
	align-items: center;
	color: #fff;
}

.footer-widgets,
.widget a {
	margin: 0rem 0 0;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 500;
	text-align: left;
	text-decoration: none;
}

.widget:first-child {
	margin-top: 0;
}




/* Footer Credits ------------------------------- */

.footer-content {
    display: flex;
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
	padding-bottom: 2rem;
}

.credits {
    color: #fff;
    font-size: 1.2rem;
    font-weight: 500;
    text-align: center;
    margin-left: 0px;
}

.credits a {
    text-decoration: none;
    color: #fff;
}

.credits a:hover,
.credits a:focus {
    text-decoration: none;
}

.desktop-logo {
    max-width: 100px;
    margin-right: 20px; /* Abstand zum rechten Rand */
}

.mobile-logo {
    display: none;
    width: 100%;
    max-width: 100%;
    padding-bottom: 2.5rem; /* Abstand nach unten zu den Credits */
	padding-top: 3.5rem;
}

/* Mobile Anpassungen */
@media (max-width: 768px) {
    .footer-content {
        flex-direction: column;
        text-align: center;
        padding-left: 0;
        padding-right: 0;
		padding-bottom: 1rem;
    }

    .desktop-logo {
        display: none;
    }

    .mobile-logo {
        display: block;
    }

    .credits {
        text-align: center;
        margin-left: 0;
    }
}






/* -------------------------------------------------------------------------------- */
/*	X.	Media Queries
/* -------------------------------------------------------------------------------- */



@media (max-width: 375px) {
  .entry-content h2 {
    font-size: 1.8rem;
	  text-align: center;
  }
	
	.post-title {
  text-align: center;

  }
	
.meta-info {
        justify-content: center;
        text-align: center;
    }
	
	
}



@media ( min-width: 375px ) {

	
	/* Structure ------------------------------- */
	

	
	.section-inner {
		width: calc( 100% - 0rem );
		padding: 0rem;
	}
	


	h2 { font-size: 2.4rem;
	 text-align: center;
	}
	
	.post-title {
  text-align: center;

  }
	
.meta-info {
        justify-content: center;
        text-align: center;
    }
	

	/* Site Header ------------------------------- */

	.header-top {
		padding: 0rem;
		width: 100%;
	}
	

}





@media ( min-width: 600px ) {

	
	/* Document Setup ------------------------------- */

	body {
		font-size: 1.7rem;
	}


	/* Element Base ------------------------------- */

	h1 { font-size: 4.0rem; }
	h2 { font-size: 2.4rem; 
	text-align: left;
	}
	h3 { font-size: 5.8rem; }
	h4 { font-size: 2.3rem; }
	h5 { font-size: 2.2rem; }
	h6 { font-size: 2.0rem; }
	
	
	/* INPUTS */

	label {

		margin-bottom: .8rem;
	}

	/* FIELDSET */

	fieldset {
		padding: 3rem;
	}

	fieldset legend {
		margin-left: -1rem;
	}


	/* Helper Classes ------------------------------- */

	/* POST META */

	.post-meta.stack-mobile {
		display: flex;
	}

	.post-meta.stack-mobile .meta-icon {
		width: auto;
	}
	
	.post-title {
  text-align: left;

  }
	
.meta-info {
        justify-content: left;
        text-align: left;
    }


	/* Structure ------------------------------- */
	
	.section-inner {
		width: calc( 100% - 0rem );

		
	}
	



	/* Site Header ------------------------------- */

	.header-top {
		padding: 0rem;
		width: 100%;
	}

	.site-title {
		font-size: 2.8rem;
	}

	.site-description {
		margin-bottom: 0rem;
	}
	





	/* Post: Archive ------------------------------- */

	.archive-header .subheading {
		margin-bottom: 10rem;
	}

	.posts {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-bottom: -5rem;
		padding: 5rem 0;
		width: calc( 100% + 2rem );
	}

	
	
	/* Post: Single ------------------------------- */

	.post-inner {
		padding: 0 0 8rem;
	}

	.has-post-thumbnail .post-inner {
		padding-top: 2rem;
	}

	.post-header {
		margin-bottom: 2rem;
		width: 100%;
	}

	.post-meta-single {
		margin-top: 4rem;
	}

	.post-meta-single .post-meta {
		margin: -1.2rem 0 0 -3rem;
		display: flex;
	    font-size: 12px;
		color: #fff;
	}

	.post-meta-single li {
		margin: 1.2rem 0 0 3rem;
		display: flex;
	    font-size: 12px;
		color: #fff;
	}

	.pagination-single {
		 margin-top: 9.5rem;
	}

	.comments-wrapper {
		margin-top: 9.5rem;
	}

	/* PAGINATION SINGLE */

	.pagination-single {
		display: flex;
		justify-content: space-between;
	}

	.pagination-single.only-next {
		justify-content: flex-end;
	}

	.pagination-single a {
		min-width: 33.3%;
	}

	.pagination-single .arrow {
		height: 4.4rem;
		margin-right: 2rem;
		width: 4.4rem;
	}

	.pagination-single .arrow img {
		height: 1.6rem;
		width: 1.6rem;
	}

	.pagination-single a + a {
		margin: 0 0 0 3rem;
	}

	.pagination-single .next-post {
		flex-direction: row-reverse;
		text-align: right;
	}

	.pagination-single .next-post .arrow {
		margin: 0 0 0 2rem;
	}




	/* PINGBACKS & TRACKBACKS */

	.pingback .comment-body {
		padding: 0;
	}

	

	/* Blocks -------------------------------- */

	.entry-content .wp-block-pullquote p,
	.wp-block-pullquote.is-style-solid-color blockquote p {
		font-size: 2.4rem;
	}

	/* Entry Content ------------------------------- */

	.entry-content h1,
	.entry-content h2,
	.entry-content h3,
	.entry-content h4,
	.entry-content h5,
	.entry-content h6 {
		margin: 5rem 0 3rem;
	}

	.entry-content h1 { font-size: 4.0rem; }
	.entry-content h2 { font-size: 2.4rem; }
	.entry-content h3 { font-size: 3.2rem; }
	.entry-content h4 { font-size: 2.4rem; }
	.entry-content h5 { font-size: 2.3rem; }
	.entry-content h6 { font-size: 2.0rem; }

	.entry-content p,
.entry-content blockquote,
.entry-content .wp-block-quote.is-large,
.entry-content .wp-block-quote.is-style-large {
	margin-bottom: 1.6em;
	line-height: 1.65;
	max-width: 75ch;
}

	.entry-content ul,
.entry-content ol,
.entry-content pre {
	margin-bottom: 1.6em;
	line-height: 1.6;
}


	.entry-content ul:last-child,
	.entry-content ol:last-child {
		margin-bottom: 0;
	}

	.entry-content p.has-background {
		margin-left: -3rem;
		padding: 3rem;
		width: calc( 100% + 6rem );
	}

	.entry-content hr {
		margin: 5.5rem auto;
	}

	.entry-content .wp-block-file {
		margin: 4rem 0;
		width: 100%;
	}

	.aligncenter,
	.alignnone,
	.alignwide,
	.alignfull {
		margin: 0rem auto;
	}
	
	.alignfull.hoerplan-playlist-wrapper {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-top: 5rem;
    margin-bottom: 5rem;
	}

	.alignwide {
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

	.entry-content .wp-block-gallery.aligncenter,
	.entry-content .wp-block-gallery.alignnone,
	.entry-content .wp-block-gallery.alignwide, 
	.entry-content .wp-block-gallery.alignfull {
		margin-bottom: 5rem;
	}
	
	.entry-content .gallery {
		margin: 5rem 0 3rem;
		position: relative;
			left: calc( 50% - 50vw + 1rem );
		width: calc( 100vw - 2rem );
	}
	
	.entry-content .gallery + .gallery {
		margin-top: -3rem;
	}
	
	.entry-content .gallery .gallery-item {
		margin: 0 0 2rem;
		padding: 0 1rem;
	}
	
	.entry-content .gallery-columns-1 .gallery-item { width: 100%; }
	.entry-content .gallery-columns-2 .gallery-item { width: 50%; }
	.entry-content .gallery-columns-3 .gallery-item { width: 33.3%; }
	.entry-content .gallery-columns-4 .gallery-item { width: 25%; }
	.entry-content .gallery-columns-5 .gallery-item { width: 20%; }
	.entry-content .gallery-columns-6 .gallery-item { width: 16.6%; }
	.entry-content .gallery-columns-7 .gallery-item { width: 14.158%; }
	.entry-content .gallery-columns-8 .gallery-item { width: 12.5%; }
	.entry-content .gallery-columns-9 .gallery-item { width: 11.1%; }

	figcaption,
	.entry-content figcaption,
	.wp-caption-text {
		font-size: 2rem;
	}


}


@media ( min-width: 750px ) {


	/* Site Footer ------------------------------- */

	.footer-widgets-outer-wrapper {
		padding: 2rem 0 5rem;
	}

	.footer-widgets-wrapper {
		display: flex;
		flex-wrap: wrap;
		margin: -3rem 0 0 -3rem;
	}

	.footer-widgets {
		margin: 3rem 0 0 3rem;
		width: calc( 50% - 3rem );
	}
	
	
	
	


}



@media ( min-width: 1000px ) {


	/* Structure ------------------------------- */

	.section-inner {
		width: calc( 100% - 0rem );

	}
	

	#site-wrapper {
		position: relative;
		
	}


	
	#site-content {
		display: block;
		padding: 0rem 0rem 0 0;
		width: 100%;
	}

	

	#site-footer {
		padding-right: 0rem;
	}



	

	/* Site Navigation ---------------------------- */

	.nav-toggle,
	.mobile-menu-wrapper {
		display: none;
	}

	.search-overlay {
		background: #000;
		padding-left: 4rem;
	}

	/* Post: Archive ------------------------------- */

	.archive-header-mobile {
		display: none;
		background: #000;
	}

	.archive-header-desktop {
		display: block;
		padding-top: 70px;
	}

	
	.posts {
		padding-top: 0;
	}

	/* Post: Single ------------------------------- */

	.single-container {
		border-radius: 0rem;
		box-shadow: 0 .3rem 1.8rem rgba( 5, 10, 15, 0.07 );
		overflow: hidden;
		padding-bottom: 6rem;
	}

	.post-inner,
	.has-post-thumbnail .post-inner {
		padding: 2rem 0;
	}


	/* Entry Content ------------------------------- */

	.alignwide {
		left: auto;
		width: 100%;
	}

	.alignfull {
		left: auto;
		max-width: none;
		right: calc( calc( 50vw - 3rem ) - ( 56rem / 2 ) )
		width: calc( 99vw - 4rem );
	}
	
	.alignfull.hoerplan-playlist-wrapper {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-top: 5rem;
    margin-bottom: 5rem;
	}

	.entry-content .gallery {
		margin: 5rem -1rem 3rem;
		left: auto;
		width: 100%;
	}


}



@media ( min-width: 1200px ) {


	/* Structure ------------------------------- */

	#site-wrapper {
		position: relative;
	}
	

	/* Site Header ------------------------------- */

	#site-header {
		padding: 0rem 0rem 0rem rem;
	}

	/* Site Navigation ------------------------------- */

	.search-overlay.active {
		left: calc( 0% - 4rem );
	}


	/* Post: Archive ------------------------------- */
	
	.posts {
		width: calc( 100% + 2rem );
	}

	/* ARCHIVE HEADER */

	



	/* Post: Single ------------------------------- */
	
	.related-posts .preview:nth-child(4) {
		display: none;
	}
	




	/* Entry Content ------------------------------- */

	.entry-content .wp-block-pullquote.alignleft,
	.entry-content .wp-block-pullquote.alignright,
	.entry-content .alignleft,
	.entry-content .alignright {
		max-width: calc( 50% + 5.475rem );
	}

	.entry-content .wp-block-image .alignleft,
	.entry-content .alignleft {
		margin-left: -10.95rem;
	}

	.entry-content .wp-block-image .alignright,
	.entry-content .alignright {
		margin-right: -10.95rem;
	}

	.alignfull {
		margin: 8rem auto;
		right: calc( ( ( 99vw - 3rem ) - 56rem ) / 2 )
		width: calc( 99vw - 3rem );
	}
	
	.alignfull.hoerplan-playlist-wrapper {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-top: 5rem;
    margin-bottom: 5rem;
	}

	.entry-content .wp-block-gallery.alignfull {
		margin-bottom: 8rem;
	}

	.alignwide,
	.entry-content .gallery {
		left: calc( 50% - 36.95rem );
		right: auto;
		width: 73.9rem;
	}

	
	/* Site Footer ------------------------------- */

	.footer-widgets-outer-wrapper {
		padding: 2rem 0 5rem;
	}

	.footer-widgets-wrapper {
		display: flex;
		flex-wrap: wrap;
		margin: -4rem 0 0 -4rem;
	}

	.footer-widgets {
		margin: 4rem 0 0 4rem;
		width: calc( 33.33% - 4rem );
	}

	.widget {
		margin-top: 4rem;
	}

	.widget-title {
		margin-bottom: 1.8rem;
	}

}


@media ( min-width: 1440px ) {


	/* Entry Content ------------------------------- */

	.alignfull {
		margin: 5rem auto;
	}
	
	.alignfull.hoerplan-playlist-wrapper {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-top: 5rem;
    margin-bottom: 5rem;
}

	.alignwide {
		position: relative;
		left: calc( 50% - 36.95vw );
		right: auto;
		width: calc( 90vw );
	}

	/* Structure ------------------------------- */


	#site-wrapper {
		padding-left: 0rem;
	}



	.search-overlay.active {
		left: 0rem;
	}


}


@media ( min-width: 1600px ) {
	

	/* Post: Archive ------------------------------- */

	/* ARCHIVE HEADER */

	.archive-header .subheading {
		margin-bottom: 16rem;
	}


	/* Post: Single ------------------------------- */

	.related-posts .preview:nth-child(4) {
		display: block;
	}
	
}


	

	
/* -----------------------------------------------
   GESAMTBEWERTUNG
----------------------------------------------- */

.GesamtScoring-Wrapper {
    position: relative;
    height: 0;
}


.GesamtScoring {
    position: absolute;
    left: 50%;
    bottom: calc(-0.5 * 96px);
    transform: translateX(-50%);

    width: 100px;
    height: 100px;
    border-radius: 50%;

    background: transparent;
    border: 6px solid var(--score-color);

    color: var(--score-color);

    font-size: 3.9rem;
    font-weight: 500;

    display: flex;
    justify-content: center;
    align-items: center;

    box-shadow: none;

    z-index: 20;
}
	

/* ===========================
   Frontpage Einstiegspunkte
   =========================== */

.visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.front-stats{
  margin-top:3.2rem;
  color:#bfbfbf;
  text-align:center;
  font-size:1.2rem;
  letter-spacing:.08em;
  opacity:.6;
}

.front-entry-section {
  max-width: 900px;
  margin: 6rem auto;
  padding: 0 2rem;
  text-align: center;
  color: white;

}


.front-entry h2 {
  font-size: clamp(2.5rem, 2vw, 2.2rem);
  font-style: normal;
  opacity: .85;
  margin-bottom: 1.5rem;
  letter-spacing:0.06em;
  text-align: left;

}

.front-entry h2 a{
  color: white;
  letter-spacing:0.06em;
  margin-bottom: 1.5rem;
}

.front-entry p {
  font-size: clamp(1.3rem, 1.5vw, 1.15rem);
  line-height: 1.7;
  opacity: .8;
  max-width:420px;
  margin-left:auto;
  margin-right:auto;
  color:#bfbfbf;
}



.frontpage-einordnung {
  background: transparent;
  padding: 56px 20px 24px;
  margin: 0;
}

.frontpage-einordnung p {
  max-width: 1000px;
  margin: 0 auto;
  font-size: clamp(3.8rem, 1.5vw, 1.35rem);
  line-height: 1.3;
	letter-spacing: 0.02rem;
  color: white;
  text-align: center;
}



/* ===========================
   Frontpage Einstiegspunkte Grid
   =========================== */

.front-entry-section{
  max-width:1200px;
  margin:6rem auto;
  padding:0 2rem;

  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:4rem;
}


.front-entry{
    display:flex;
    align-items:center;
    gap:2rem;

    text-align:left;
    padding-bottom:2rem;
    position:relative;
}

.front-entry-content{
    flex:1;
}

.entry-icon{
    width:72px;
    height:72px;
    flex:0 0 72px;

    color:#D6F56D;

    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.entry-search{
    stroke-width:0.8;
}

.entry-concepts{
    stroke-width:0.8;
}

.entry-wave{
    stroke-width:1.4;
}

.entry-colors{
    stroke-width:1.8;
}

.front-entry:after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:0;
  width:40px;
  height:1px;
  background:rgba(255,255,255,.25);
  transition:background .25s ease;
}

/* Suche */
.front-entry:nth-child(1):hover::after{
  background:#bfbfbf;
}

/* Stimmungen */
.front-entry:nth-child(2):hover::after{
  background:#b497bd;
}

/* Albumfarben */
.front-entry:nth-child(3):hover::after{
  background:#F4D64F;
}

/* Begriffe */
.front-entry:nth-child(4):hover::after{
  background:#005f5f;
}

/* Alben */
.front-entry:nth-child(5):hover::after{
  background:#c1440e;
}

/* Artists */
.front-entry:nth-child(6):hover::after{
  background:#01579b;
}



@media (max-width:1024px){

  .front-entry-section{
    grid-template-columns:repeat(2,1fr);
    gap:3rem;
  }

}

@media (max-width:640px){

  .front-entry-section{
    grid-template-columns:1fr;
    gap:2.5rem;
  }
	
	.frontpage-einordnung p {
  font-size: 2.0rem;
  line-height: 1.3;
}
	
	.frontpage-einordnung {
  background: transparent;
  padding: 26px 20px 24px;
  margin: 0;
}
	
	.front-stats{
  margin-top:1.2rem;
}
	
	.front-entry::after{

    content:"";
    position:absolute;

    left:135px;
    bottom:0;

    width:70px;
    height:1px;

    background:rgba(255,255,255,.25);
}

}





/* Cursor Dot ------------------------------- */

.cursor-dot {
  position: fixed;
  width: 20px;
  height: 20px;
  background-color: white;
  border-radius: 50%;
  pointer-events: none;
  z-index: 10000;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0px rgba(255, 0, 0, 0.8);
  transition: transform 0.3s ease-out, width 0.3s ease-out, height 0.3s ease-out;
  mix-blend-mode: difference; /* WICHTIG */
  }

/* Wenn über einen Link gehovt wird */
.cursor-hover {
  transform: translate(-50%, -50%) scale(2); /* Skalieren auf doppelte Größe */

}



/* -------------------------------------------------------------------------------- */
/*	X. Affiliates
/* -------------------------------------------------------------------------------- */


/* Basisstil für den Affiliate-Block */
.jpc-affiliate {
    background: #f9f9f9;
    padding: 20px; 
    margin-top: 3rem;
    box-sizing: border-box;
    clear: both;
    width: 100%;
}

/* Container nebeneinander, aber inhaltlich linksbündig */
.jpc-container {
    display: flex;
    align-items: flex-start;       /* oben ausrichten statt vertikal zentrieren */
    justify-content: flex-start;
    gap: 30px;
    max-width: 800px;
    margin: 0 auto;
    padding: 0;
    flex-wrap: nowrap;             /* kein Zeilenumbruch unter das Bild */
    font-size: 1.2rem;
}
	
.jpc-hinweis {
    max-width: 800px;
    margin: 0 auto 40px !important;
    font-size: 1.1rem;
    line-height: 1.4;
    color: #222;
    text-align: left;
}

/* Bild bleibt links fixiert */
.jpc-image {
    flex-shrink: 0;
    max-width: 250px;
}
	
/* Eigenes H2-Styling nur im Affiliate-Block */
.entry-content .jpc-info h2.jpc-title {
    font-size: 2.2rem;     /* oder deine Wunschgröße */
    margin: 0 0 12px;      /* entfernt den 5rem-Abstand */
    line-height: 1.3;
    font-weight: 600;
    color: #111;
    text-align: left;
}



/* Textblock: linksbündig, vertikal mittig */
.jpc-info {
    text-align: left;              /* kein Zentrieren mehr */
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;       /* Buttons linksbündig */
}

/* Buttons: keine Unterstreichung */
.jpc-button,
.jpc-button:link,
.jpc-button:visited,
.jpc-button:hover,
.jpc-button:active {
    display: inline-block;
    padding: 10px 15px;
    border: solid 2px #CD842E;
    color: #CD842E;
    text-decoration: none;
    border-radius: 5px;
    white-space: nowrap;
    font-size: 16px;
    margin-top: 10px;
	width: 100%;
	text-align: center;
}

/* Hover-Farbe */
.jpc-button:hover {
    background-color: #CD842E;
    color: #fff;
}

/* MOBILE ANPASSUNG */
@media (max-width: 768px) {
    .jpc-container {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .jpc-info {
        align-items: center;
        text-align: center;
    }

    .jpc-button {
        width: 100%;
    }
}

/* Weitere Anpassungen für sehr kleine Bildschirme */
@media (max-width: 480px) {
    .jpc-info h2 {
        font-size: 18px; /* Kleineren Titeltext */
    }

    .jpc-button {
        font-size: 16px; /* Buttontext noch kleiner */
        padding: 12px; /* Weniger Abstand um den Button */
    }
}




/* -------------------------------------------------------------------------------- */
/*	XII. Preloader
/* -------------------------------------------------------------------------------- */


#preloader {
  position: fixed;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.8); /* weiß + leicht transparent */
  backdrop-filter: blur(5px); /* hier passiert die Unschärfe */
  top: 0;
  left: 0;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
	cursor: none;
}

#preloader .dot {
  width: 30px;
  height: 30px;
  animation: pulse 1.5s infinite ease-in-out;
}

@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.5); }
  100% { transform: scale(1); }
}


/* -------------------------------------------------------------------------------- */
/*	XIII. Stimmungsskala & Farbskala & Momente
/* -------------------------------------------------------------------------------- */


.stimmung-und-albumfarbe-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}


.stimmung-kurz {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1.0rem;
  margin-top: 1.0rem;
  gap: 0.9rem;
  font-size: 1.0rem;
  color: #333;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.stimmung-kurz .punkt {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: inline-block;
  background: radial-gradient(circle, var(--stimmungsfarbe) 30%, rgba(0, 0, 0, 0) 80%);
  animation: pulse 3s ease-in-out infinite;
  pointer-events: none;
}


.albumfarbe-kurz {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1.0rem;
  margin-top: 1.0rem;
  gap: 0.9rem;
  font-size: 1.0rem;
  color: #333;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.albumfarbe-kurz .punkt {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: inline-block;
  background: radial-gradient(circle, var(--albumfarbe) 30%, rgba(0, 0, 0, 0) 80%);
  animation: pulse 3s ease-in-out infinite;
  pointer-events: none;
}




/* ------------------------------
   Typografie: Text & Heading
------------------------------ */

.mood-typing-wrapper {
  margin-top: 0;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem;
  font-size: 1.4rem;
  line-height: 1.6;
  color: #fff;
  font-style: italic;
}



/* ------------------------------
   Hinweistext: Follow-Note
------------------------------ */

.follow-note-fullwidth {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-top: 5rem;
  padding: 2.5em 0;
  color: #fff;
}

.follow-note {
  margin-top: 0em;
  line-height: 1.1;
}

.follow-note a {
  font-size: 15px;
  color: #fff;
  font-style: italic;
}

.follow-note a:hover {

  text-decoration: underline;
}



