/*
 Theme Name:   Neve Child
 Theme URI:    
 Description:  Neve Child Theme
 Author:       FS
 Author URI:   
 Template:     neve
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         
 Text Domain:  neve-child
*/

/* Add your custom CSS below this line */




p.has-medium-font-size, li.has-medium-font-size {
	font-size: 2rem !important;
}

p{
	padding: .5rem;
}

.waveWrapper{
	background-image: url(https://www.kraftwerke-erfurt.de/wp-content/uploads/2023/08/Kultur%20Flaniert%202023%20-%20wave2.svg);
	background-position: bottom;
	background-repeat: no-repeat;
    background-size: cover;
	width: 100vw !important;
	display: block;
	aspect-ratio: 19 / 6.4;
    margin-top: -250px;
	pointer-events: none;
}

@media screen and (min-width: 900px){
	.waveWrapper{
		margin-top: -340px;
	}
}
@media screen and (min-width: 1600px){
	.waveWrapper{
		margin-top: -440px;
	}
}
@media screen and (min-width: 1920px){
	.waveWrapper{
		margin-top: -540px;
	}
}
@media screen and (max-width:1280px){
	.waveWrapper{
		background-size:auto;
	}
}
@media screen and (max-width:540px){
	.waveWrapper{
		margin-top: -350px;
	}
}

.eventDate{
	width:100%;
	padding-left:1rem;
}



.article-content-col{
	flex-grow:1;
}



p.timeDisplay{
	margin-bottom:10px;
    text-align: center;
    background-color: yellow;
    color: black;
	height: 5rem;
	overflow-x: clip;
    overflow-y: clip;
	padding-left: 3px;
	padding-right: 3px;
}

.lineHeightReset{
	line-height: normal;
}

.blog-entry-title{
	line-height:26px !important;
}

.eventWrap{
	display: flex;
    flex-direction: column;
	width: 390px;
}

.eventWrap article{
	display: flex;
    flex-grow: 1;
}
article .entry-content p, .contrastBg{
	background-color: rgba(255,255,255,.35);
    padding-left: 1rem;
    padding-right: 1rem;
}

@media screen and (max-width: 781px){
	.phoneRotate{
		transform: rotate(90deg);
	}
}

.read-more-link span{
	border-bottom: 3px solid yellow;
}

.inner{
	box-shadow: 5px 5px teal;
}

.nav-ul .sub-menu li>.wrap{
	background-image: url(https://www.kraftwerke-erfurt.de/wp-content/uploads/2023/08/bg_yellow.png);
}


.selectedKF{
	background-color:#019ee3;
}

/* BACKGROUND IMAGES FOR KRAFTWERKE */
.bg-redToWhite {
    background-image: url(https://kraftwerke-erfurt.de/wp-content/uploads/2026/02/KRAFTWERKE_Farbverlauf3_redToOpen.png) !important;
    background-repeat: no-repeat;
    background-size: contain;
}

.bg-pinkToWhite {
    background-image: url(https://kraftwerke-erfurt.de/wp-content/uploads/2026/02/KRAFTWERKE_Farbverlauf4_pinkToOpen.png) !important;
    background-repeat: no-repeat;
    background-size: 105vw;
}
/* ==========================================================================
   New Calendar List Layout (Feb 2026)
   ========================================================================== */

/* Day Buckets */
.day-bucket {
    width: 100vw;
    margin-left: calc(50% - 50vw); /* Break out of container */
    padding: 3rem 15px; /* Add padding inside */
    box-sizing: border-box;
    /* Ensure no margin collapse */
    overflow: hidden; 
}

.day-bucket.bg-red {
    background-color: #ff0000;
    color: #000;
}
/* Ensure standard elements inherit inside the bucket */
.day-bucket.bg-red h1, .day-bucket.bg-red h2, .day-bucket.bg-red h3, 
.day-bucket.bg-red h4, .day-bucket.bg-red a, .day-bucket.bg-red p {
    color: inherit;
}

.day-bucket.bg-pink {
    background-color: var(--nv-light-bg); /* Lighter pink/lavender from theme light-bg setting */
    color: #000;
}
.day-bucket.bg-pink h1, .day-bucket.bg-pink h2, .day-bucket.bg-pink h3, 
.day-bucket.bg-pink h4, .day-bucket.bg-pink a, .day-bucket.bg-pink p {
    color: inherit;
}

/* Day Header */
.day-header-wrapper {
    max-width: 1170px; /* Content width constraint */
    margin: 0 auto 2rem auto;
    /* Border moved to event-row top as requested */
}

.day-header-title, .day-header-title h2 {
    font-size: 3.5rem !important; /* Big date header, bruteforcing calendar title, fu wp*/
    font-weight: 800; /* Extra bold */
    margin: 0;
    line-height: 1;
    padding-bottom: 1rem;
}

/* Events List Wrapper */
.day-events-list {
    max-width: 1170px;
    margin: 0 auto;
}

/* Event Row Grid */
.event-row {
    display: grid;
    grid-template-columns: 2fr 2.5fr 1fr; /* Columns: Title, Desc, Info */
    gap: 2rem;
    padding: 2rem 0;
    border-top: 3px solid #000; /* Separator lines moved to TOP */
}

.event-row:last-child {
    border-bottom: none;
}

/* Category Label */
.event-cat-label {
    display: block;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
    letter-spacing: 0.5px;
    color: #fff;
}

/* Title */
.event-title {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.1;
    margin: 0;
}
.event-title a {
    text-decoration: none;
    color: inherit;
}

/* Description Text */
.col-desc p {
    font-size: 1.1rem;
    line-height: 1.5;
    margin: 0;
    font-weight: 500;
}

/* Info Column */
.col-info {
    font-size: 1rem;
    line-height: 1.6;
}
.info-row {
    margin-bottom: 0.25rem;
}
.info-time, .info-loc, .info-price{
    color:#ffffff;
}
.ticket-link {
    display: inline-block;
    margin-top: 0.5rem;
    text-decoration: underline;
    font-weight: 700;
    color: inherit;
}

/* Mobile Responsive */
@media screen and (max-width: 900px) {
    .event-row {
        grid-template-columns: 1fr; /* Stack on mobile */
        gap: 1rem;
    margin-bottom: 2rem;
    }
    .day-header-title {
        font-size: 2.5rem;
    }
    /* Add border between items on mobile since grid gap doesn't separate them visually enough */
    .event-row:not(:last-child) {
         /*border-bottom: 2px solid #000;*/
    }
}
    .kultur-filters-days .wp-block-buttons {

        justify-content: space-evenly;

    }    
/* FIX: Filter buttons spacing and layout */
@media screen and (max-width: 1156px) {
    .kultur-filters-days .wp-block-buttons {
        justify-content: unset;
        gap: 30px;

    }    
}

/* ==========================================================================
   Floating SVG Overlay (Long Page Version)
   ========================================================================== */

body {
    position: relative;
    /* Ensure body takes up full height of content so absolute child can stretch */
    min-height: 100vh; 
}

.kw-floating-container {
    position: absolute; /* Changed from fixed to absolute */
    top: 0;
    left: 0;
    width: 100%;
    /* Ensure this height covers your content area or is set to 100% of body */
    height: 100%; 
    pointer-events: none;
    z-index: 100; /* In front of content */
    overflow: hidden;
}

.kw-floater {
    position: absolute;
    width: 300px; /* Increased size significantly */
    height: auto;
    opacity: 0.9;
}

/* 
   Configuration:
   We place them at specific % heights of the page vertically (top rule).
   They will animate upwards from there.
*/

.kw-floater.left1 {
    left: 2%;
    top: 150vh; /* Starts near bottom of first screen */
    width: 350px;
    animation: floatUpLong 30s linear infinite;
}

.kw-floater.right1 {
    right: 20%;
    top: 90vh; /* Starts near top */
    width: 280px;
    animation: floatUpLong 45s linear infinite;
    animation-delay: -10s;
}

.kw-floater.left2 {
    left: 10%;
    top: 250vh; /* Starts on the "second page" of scrolling */
    width: 320px;
    animation: floatUpLong 40s linear infinite;
    animation-delay: -5s;
}

.kw-floater.right2 {
    right: 15%;
    top: 350vh; /* Starts way down */
    width: 400px;
    animation: floatUpLong 60s linear infinite;
}

.kw-floater.left3 {
    left: 5%;
    top: 450vh; /* Even further down */
    width: 300px;
    animation: floatUpLong 50s linear infinite;
}

.kw-floater.right3 {
    right: 2%;
    top: 550vh;
    width: 250px;
    animation: floatUpLong 55s linear infinite;
}

/* 
   The Animation:
   Instead of moving viewport height, it simply moves UP by a huge amount (pixes) 
   and then resets. 
*/
@keyframes floatUpLong {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-2000px); /* Move 2000px up over time */
    }
}

/* Hide on mobile to save performance/ux .. or not! */
@media screen and (max-width: 900px) {
    .kw-floating-container {
        display: none;
    }
}
