/* ==================================================
   Frank Daniels – Custom Styles
   ================================================== */

:root {
  --fd-bg-dark: #2a2a2a;
  --fd-bg-darker: #1f1f1f;
  --fd-accent-main: #e04e1b;
  --fd-accent-hover: #c0392b;
}

/* Erstmal nur testen */
body {
  background-color: var(--fd-bg-dark);
}

/* Logobereich */
.brand-logo {
  display: inline-flex;
 /* align-items: center;*/
  gap: 0.75rem;
  text-decoration: none;
}

.logo-img {
  height: 120px; /* anpassen */
  width: auto;
}

.brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.logo-text {
  font-size: 1.95rem;
  font-weight: 600;
  white-space: nowrap;
  font-family: times new roman;
}

.site-description {
  color: #adb5bd !important;
  font-size: 1.55rem !important;
  opacity: 0.85;
}


/* ================================
   Hauptnavigation – Basis
================================ */

.container-header .mod-menu {
	/*justify-content: center;*/
}

.container-header .container-nav {
    justify-content: center;
    padding-bottom: 0.5em;
}

/* Cassiopeia-Farbe neutralisieren */
.container-header .mod-menu > li > a {
	color: inherit;
	text-decoration: none;
	display: block;                 /* GANZ wichtig */
	padding: 1.3rem;                /* Padding gehört hier hin */
	transition: background-color 0.2s ease, color 0.2s ease;
}

/* Grundfarbe */
.container-header .mod-menu > li > a {
	color: #8B8788;
}

/* ================================
   Hover / Focus
================================ */

.container-header .mod-menu > li > a:hover,
.container-header .mod-menu > li > a:focus {
	background-color: rgb(224, 167, 33);
	color: #ffffff;
}

/* ================================
   Aktiver Menüpunkt
================================ */

.container-header .mod-menu > li.active > a,
.container-header .mod-menu > li.current > a {
	background-color: rgb(224, 167, 33);
	color: #ffffff;
}

.container-header .mod-menu>li.active:after {
	background: #e0a721;
	right: 0;
}

@media (width >= 992px) {
    .container-header .mod-menu>li:after {
        content: "";
        opacity: 1;
        background: 0 0;
        height: 4px;
        margin: auto;
        transition: all .2s, background-color .2s;
        display: block;
        position: absolute;
        bottom: -5px;
        left: 50%;
        right: 50%;
    }
}

/* ================================
   Optional: Nav-Item Grundfarbe
================================ */

.nav-item {
	color: #8B8788;
	/*border-left: medium solid #6C6969;*/
}

.container-header .mod-menu__toggle-sub {
	height: 100%;
	padding: 1.3rem;
  }

.container-header .mod-menu__toggle-sub:hover {
    background-color: rgb(224, 167, 33);
    color: #ffffff;
  }

.mod-menu__sub {
	background-color: black;
	top: 110% !important;
}

/* Hover-Open nur auf Desktop (Maus/Trackpad) */
@media (hover: hover) and (pointer: fine) {

  /* Submenu standardmäßig verstecken (falls Cassiopeia es nicht schon tut) */
  .container-header .mod-menu .mod-menu__sub {
    display: none;
	background-color: black;
  }

  /* Beim Hover über dem Parent-LI: Submenu anzeigen */
  .container-header .mod-menu li.parent:hover > .mod-menu__sub {
    display: block;
	/*background-color: gray;*/
  }
}

@media (width >= 992px) {
  .container-header .mod-menu > li + li {
    margin-left: 0.25rem;
  }
}



.container-bottom-b {
    flex-direction: column;
    gap: 1.5rem;
}

.container-bottom-a {
	justify-content: space-between;
	padding: 100px 0;
}


.fd-panel {
  display: block;
  position: relative;
  padding: 30px;
  background-color: rgba(7, 7, 7, 0.40);
  color: #fff;
  text-align: center;
  min-height: 403px;
}

.fd-panel__title {
  margin: 0 auto 20px;
  display: table;
  font-weight: 300;
  line-height: 1.2;
  font-size: clamp(1.8rem, 3vw, 3rem);
  text-transform: uppercase;
  color: #fff;
}

.fd-panel__title::after {
    content: "";
    display: block;
    width: 70%;
    max-width: 220px;
    height: 0;
    margin: 16px auto 28px;
    border-bottom: 3px solid #f3aa09;
    opacity: .9;
}


/* TOP-B: Content bleibt in Cassiopeia-Breite (max ~1320),
   nur der Hintergrund wird full-width + fixed */
.container-top-b {
	/*position: relative;*/
	padding: 100px 0;
	isolation: isolate; /* sorgt dafür, dass z-index sauber funktioniert */
	column-gap: 8em !important;
 
}

/* Full-width Background Layer hinter dem Content */
.container-top-b::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;  
  width: 100vw;
  left: calc(50% - 50vw);

  background: url("/images/template/hoch10.JPG") no-repeat fixed center center / cover;

  z-index: -1;
  pointer-events: none;
}

/* Mobile: untereinander + iOS-Fallback */
@media (max-width: 991px) {
  .container-top-b > .fd-panel {
    flex-basis: 100%;
  }

  .container-top-b::before {
    background-attachment: scroll;
  }
}

/* === Hintergrundbild für container-bottom-b */
.container-bottom-b {
	/*position: relative;*/
	padding: 100px 0;
	isolation: isolate; /* sorgt dafür, dass z-index sauber funktioniert */
	column-gap: 8em !important;
 
}

/* Full-width Background Layer hinter dem Content */
.container-bottom-b::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;  
  width: 100vw;
  left: calc(50% - 50vw);

  background: url("/images/template/hoch03.JPG") no-repeat fixed center center / cover;

  z-index: -1;
  pointer-events: none;
}

/* Mobile: untereinander + iOS-Fallback */
@media (max-width: 991px) {
  .container-bottom-b {
    flex-basis: 100%;
  }

  .container-bottom-b::before {
    background-attachment: scroll;
  }
}



.modulTXT {
	
	/*color:darkgray;*/
}

/* === EVENTPANEL === */
.fd-eventpanel {
  display: block;
  position: relative;
  padding: 30px;
  background: #000;
  color: #999;
  border: 4px solid #242424;
  box-shadow:
    0 0 2px #242424,
    0 20px 20px 0 #111,
    0 12px 8px -5px #111;
  min-height: 457px;
	max-width: 250px;

}

@media (max-width: 991px) {
  .fd-eventpanel {
    max-width: none;
  }
}


/* Title (entspricht uk-panel-title) */
.fd-eventpanel__title {
  margin: 0 0 10px;
  font-weight: 400;
  text-transform: uppercase;
  color: #bb8e22;
}

/* Body spacing */
.fd-eventpanel__body p {
  margin: 0 0 12px;
}

/* Bild im Panel */
.fd-eventpanel__body img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto 12px;
}

/* kleine Hover-Politur (optional) */
.fd-eventpanel:hover {
  transform: scale(1);
}

/* Animation Keyframes */
@keyframes fd-fade-scale-in {
  to { opacity: 1; transform: scale(1); }
}


@media (width >= 992px) {
    .container-header .mod-menu :where(.mod-menu__sub:not(.mod-menu__sub *)) {
        background-color: #000000;
    }
}

.container-header .navbar-toggler {
	width: 15rem;
}

.container-header .navbar-toggler:focus {
    background-color: rgb(224 167 33);
}

/* === Slideshow === */


/* Full-width Carousel */
.fd-carousel {
  width: 100%;
}

.fd-carousel__img {
  height: 520px;
  object-fit: cover;
}

@media (max-width: 768px) {
  .fd-carousel__img {
    height: 360px;
  }
}

/* Basis: Controls unsichtbar, aber klickbar */
.fd-carousel .carousel-control-prev,
.fd-carousel .carousel-control-next {
  opacity: 0;
  transition: opacity .2s ease, background-color .2s ease;
  background-color: transparent;
}

/* Hover: dezentes Overlay */
.fd-carousel .carousel-control-prev:hover,
.fd-carousel .carousel-control-next:hover {
  opacity: 1;
  background-color: rgba(0, 0, 0, 0.25);
}

/* Pfeile sichtbar & sauber */
.fd-carousel .carousel-control-prev-icon,
.fd-carousel .carousel-control-next-icon {
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.6));
  opacity: 1;
}

/* Sicherstellen, dass sie über Overlay & Caption liegen */
.fd-carousel .carousel-control-prev,
.fd-carousel .carousel-control-next {
  z-index: 5;
}

/* Overlay für bessere Lesbarkeit */
.fd-carousel__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.60), rgba(0,0,0,.15));
}

/* Caption-Block im Container, aber über dem Bild */
.fd-carousel__content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding-bottom: 4rem;
}

@media (max-width: 768px) {
  .fd-carousel__content {
    padding-bottom: 2.5rem;
  }
}

.fd-carousel__caption {
  max-width: 680px;
  text-align: left;
}

.fd-carousel__title,
.fd-carousel__text {
    color: #fff;
}

/* === Video bereich === */

.fd-video{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 12px;
  overflow: hidden;
  background: center / cover no-repeat;
  background-image: var(--fd-video-poster, none);
}

/* Poster aus data-poster setzen wir per JS als inline style -> fallback via CSS Variable */
.fd-video::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(0deg, rgba(0,0,0,.35), rgba(0,0,0,.10));
}

.fd-video__btn{
  position:absolute; inset:0;
  border:0; background:transparent;
  cursor:pointer;
  z-index:2;
}

.fd-video__play{
  position:absolute;
  left:50%; top:50%;
  width:84px; height:84px;
  transform: translate(-50%,-50%);
  border-radius:999px;
  background: rgba(0,0,0,.55);
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
}

.fd-video__play::before{
  content:"";
  position:absolute;
  left:50%; top:50%;
  transform: translate(-38%,-50%);
  width:0; height:0;
  border-top:14px solid transparent;
  border-bottom:14px solid transparent;
  border-left:22px solid #fff;
}

.fd-video video{
  position:absolute; inset:0;
  width:100%; height:100%;
  z-index:3;
  object-fit: cover;
}

@supports (display: grid) {
  .site-grid {
    grid-template-areas: ". banner banner banner banner ."
                         ". top-a top-a top-a top-a ."
                         ". top-b top-b top-b top-b ."
                         ". comp comp comp comp ."
                         ". side-r side-r side-r side-r ."
                         ". side-l side-l side-l side-l ."
                         ". bot-a bot-a bot-a bot-a ."
                         ". bot-b bot-b bot-b bot-b ."
                         ". bot-c bot-c bot-c bot-c .";
  }
}

@media (width >= 992px) {
  @supports (display: grid) {
    .site-grid {
      grid-template-areas: ". banner banner banner banner ."
                           ". top-a top-a top-a top-a ."
                           ". top-b top-b top-b top-b ."
                           ". side-l comp comp side-r ."
                           ". bot-a bot-a bot-a bot-a ."
                           ". bot-b bot-b bot-b bot-b ."
                           ". bot-c bot-c bot-c bot-c .";
    }
  }
}


.container-bottom-c {
  grid-area: bot-c;
}

.container-bottom-c {
	position: relative;
	padding: 100px 0;
}

.container-bottom-c > * {
  flex: 1;
  margin: .5em 0;
}

@media (width <= 991.98px) {
  .container-bottom-c {
    flex-direction: column;
  }

  .container-bottom-c > * {
    flex: 0 auto;
  }
}

h1 {
	font-weight: 500;
    margin-bottom: 29px;
	text-transform: uppercase;
	color: #e0a721;
    opacity: 0.8;
}
/*.fd-article-title {
	font-size: 2.25em;
    line-height: 42px;
    font-weight: 300;
    text-transform: uppercase;
	color: aqua;
	
}*/



.footer {
  position: relative;
}

.footer .grid-child {
  justify-content: space-between; 
  align-items: center;
  padding: 2.5rem .5em;
}



