/* ====== Basics ====== */
* { margin:0; padding:0; box-sizing:border-box; }

:root{
  --content-max: 600px;
  --icon-size: 32px;
}

body{
  /* Oswald eingebunden */
  font-family: "Oswald", Arial, sans-serif;
  line-height: 1.25;
  background-attachment: fixed;
  min-height: 100vh;
  color:#fff;
  overflow-x:hidden;
  position:relative;
}

/* Fixierter Hintergrund */
body::before{
  content:'';
  position:fixed; inset:0;
  background-image:url('images/hintergrund.jpg');
  background-size:cover;
  z-index:-1;
}

/* Container & Blöcke */
.container{
  max-width:1200px;
  margin:0 auto;
  padding:20px;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  position:relative; z-index:1;
}
.content-block{
  width:100%;
  max-width:var(--content-max);
  margin:0 auto 30px auto;
}
.title{
  font-size:2rem;
  margin:0px 0px 5px;
  font-weight:bold;
  text-align:left;
}

/* ====== Presse ====== */
.press-section { text-align: left; }

.press-box{
  background: rgba(0,0,0,.35);    /* wie .social-link */
  backdrop-filter: blur(10px);     /* wie .social-link */
  padding: 20px 20px;
}

.press-box p{
  font-size: 1.2rem;
  line-height: 1.4;
  margin-top: 1px;
}

/* einfache, flexible Galerie */
.press-gallery { text-align: center; }
.gallery-grid{
  display: grid;
}
.gallery-grid img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 2px;
}


/* ====== Logo ====== */
.logo-section{text-align:center;padding:10px 0}
.logo{width:100%;display:flex;justify-content:center;align-items:center;min-height:120px}
.logo img{max-width:100%;height:auto;display:block!important}
.logo-text{font-size:3rem;font-weight:bold;color:#ff6b35;text-shadow:2px 2px 4px rgba(0,0,0,.3)}

/* ====== Video ====== */
.video-section{text-align:center}
.video-container{width:100%;position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:2px}
.video-container iframe{position:absolute;inset:0;width:100%;height:100%;border:none;border-radius:2px}

/* ====== LIVE (Block-Hintergrund, Zeilen transparent) ====== */
.concerts-section{text-align:center}
.concert-list{
  width:100%;
  text-align:left;
  display:flex;
  flex-direction:column;
}
.concerts-title{
  font-size:2rem;
  margin:0px 0px 5px;
  font-weight:bold;
  text-align:left;
}
.concert-item{
  display:flex;
  align-items:center;
  padding:5px 0px;
  font-weight:bold;
  font-size:1.5rem;
}
.concert-left{
  display:flex;
  align-items:baseline;
  gap:16px;
  min-width:0;
}
.concert-date{
  width:55px;
  font-weight:bolder;
  font-variant-numeric: tabular-nums;
}
.concert-venue{
  text-align:left;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
/* Tickets rechtsbündig */
.ticket-btn{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  background:#ff6b35;
  color:#fff;
  font-size:1.2rem;
  font-weight:bold;
  text-decoration:none;
  transition:all .2s ease;
}
.ticket-btn:hover{
  background:#fff;
  color:#000;
}
/* ====== Links ====== */
.links-section{text-align:center}
.social-links{display:flex;flex-direction:column;gap:5px;width:100%}
.social-link{
  display:flex; align-items:center; justify-content:space-between;
  background:rgba(0,0,0,.35);
  padding: 10px 20px;
  text-decoration:none;
  font-size:1.3rem;
  color:#fff;
  transition:all .3s ease;
  backdrop-filter:blur(10px);
  width:100%;
  text-align:left;
}
.social-link:hover{background:rgba(0,0,0,.55);}
.link-left{display:flex; align-items:center; gap:14px; min-width:0}
.social-icon{width:var(--icon-size); height:var(--icon-size); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; overflow:hidden; background:transparent; border-radius:6px;}
.social-icon img{width:100%; height:100%; object-fit:contain; display:block;}
.social-label{white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.link-right{margin-left:auto; font-weight:bold; opacity:.9; white-space:nowrap; text-align:right;}

/* ====== Footer ====== */
.footer{margin-top:auto;font-size:1.3rem;text-align:center;padding:20px;background:rgba(0,0,0,0);flex-shrink:0}
.footer-links{margin-bottom:10px}
.footer-links a{color:#fff;text-decoration:none;margin:0 20px;transition:color .3s ease}
.footer-links a:hover{color:#ff6b35}
.footer-text{font-size:.9rem;opacity:.85}
.footer-text a{color:#fff; text-decoration:none; transition:color .3s, border-color .3s;}
.footer-text a:hover{ color:#ff6b35; border-color:#ff6b35; }


/* ====== Responsive ====== */
@media (max-width:600px){
  .container{padding:15px}
  .content-block{max-width:100%; margin-bottom:20px}
  .logo-text{font-size:2.5rem}
  .concerts-title{font-size:2rem}
  .concert-item{font-size:1.2rem; padding:5px 0px}
  .ticket-btn{font-size:.95rem; padding:7px 12px}
  .social-link{padding:10px 15px}
  .footer-links a{margin:0 20px; font-size:1.3rem}
}
@media (max-width:480px){
  .logo-text{font-size:rem}
  .concert-item{font-size:1.2rem}
  .concert-date{width:40px}
    .social-link{padding:10px 15px}
  .footer-links a{margin:0 20px; font-size:1.3rem}
  .press-box p{
  font-size: 1rem;
  line-height: 1.2rem;
  margin-top: 8px;
}
