/* TRAU DICH MIT RICO CUSTOM CSS */
:root {

    --bs-primary: #ccb26a;
    --bs-primary-rgb: 204, 178, 106; 

    --bs-btn-hover-bg: #000;
    --bs-btn-hover-border-color: #000;

    --light-bg: #FBF9F5;

    .btn-outline-primary {
      --bs-btn-color: #ccb26a;
      --bs-btn-border-color: #ccb26a;
      --bs-btn-hover-bg: #ccb26a;
      --bs-btn-hover-border-color: #ccb26a;
      --bs-btn-active-bg: #ccb26a;
      --bs-btn-active-border-color: #ccb26a;
      --bs-btn-disabled-color: #ccb26a;
      --bs-btn-disabled-border-color: #ccb26a;
    }
}

/* --- Überschrift nicht durch Navigation verdecken --- */
html {
  scroll-padding-top: 116px;
}

body {
    font-family: 'Cormorant Garamond', serif;
    background-color: var(--light-bg);
    font-size: 1.3rem;
    font-weight: 500;
}

h1, h2, h3, h4, h5, h6, .subheadline, .btn, .nav-link {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
}

h2 {
    letter-spacing: 3px;
}

.blog h1 {
font-weight: 300;
line-height: 1.2;
font-family: 'Cormorant Garamond', serif;
}

.blog-content h2 {
--bs-text-opacity: 1;
color: rgba(var(--bs-primary-rgb),var(--bs-text-opacity)) !important;
text-transform: uppercase !important;
font-size: .875em;
}

/* --- Navbar --- */
.navbar {
  transition: background-color 0.4s ease;
}

.navbar-brand img { max-height: 90px; }
.nav-link { 
    font-weight: 400;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.3);
}
.nav-link:hover {
      --bs-link-opacity: 0.5;
}

.navbar-scrolled {
  background-color: rgba(251, 249, 245, 0.85);
  backdrop-filter: blur(10px);
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

.navbar-scrolled .nav-link {
    text-shadow: none;
}
.navbar-scrolled .nav-link:hover {
      color: var(--bs-primary) !important;
}

/* 
  Richtet die Navigationspunkte im mobilen Menü rechts aus.
  Die Pixel-Angabe entspricht dem Breakpoint, an dem Bootstrap das Menü umbricht (lg).
*/
@media (max-width: 991.98px) {
  .navbar-collapse .navbar-nav {
    /* Richtet die Flex-Items (die Menüpunkte) am Ende der Querachse aus */
    align-items: flex-end;
  }
}

/* --- Hero Header --- */

/* --- Hero Header --- */
#hero {
  height: 100vh;
  position: relative; /* Wichtig: Der Bezugsrahmen für alle absoluten child-Elemente */
  display: flex; /* Optional, aber gut für vertikale Zentrierung */
  align-items: center;
  justify-content: center;
}

/* 
   Direkter Selektor für das Bild im Hero-Container.
   Gilt für JEDES <img>, das in #hero platziert wird.
*/
#hero img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  z-index: -1; /* Ganz nach hinten */
}

body.home #hero img {
  object-position: left center; /* <-- Ausnahme für die Startseite */
}

/* 
   Override-Regel (Desktop & Landscape):
   Diese Regel greift, wenn EINE der beiden Bedingungen erfüllt ist:
   - Der Bildschirm ist breiter als 992px.
   - ODER die Ausrichtung ist Querformat (landscape).
   Das Bild wird wieder zentriert.
*/
@media (min-width: 992px), (orientation: landscape) {
  #hero img {
    object-position: center center;
  }
}

/* Das abgedunkelte Overlay */
#hero::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.1) 60%, rgba(0,0,0,0.3) 100%);
    z-index: 1; /* Über dem Bild, aber unter dem Inhalt */
}

/* Der Inhalts-Container */
.hero-content { 
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2; /* Ganz nach vorne, über dem Overlay */
    width: 90%;
    color: white; /* Stellt sicher, dass der Text lesbar ist */
    text-align: center;
}

/* Typografie für die H1 im Hero-Bereich */
.hero-content h1 {
    font-family: 'Cormorant Garamond', serif;
}

        .btn-primary:hover,
        .btn-primary:active {
          background-color: #ccb26a;
          border-color: #ccb26a;
        }

    .timeline-section {
        position: relative;
    }

    .timeline-item {
        position: relative;
    }

    /* --- Desktop-Timeline (Linie in der Mitte) --- */
    @media (min-width: 992px) {
        .timeline-item {
            padding-bottom: 4rem;
        }

        .timeline-section::before {
            content: '';
            position: absolute;
            left: 50%;
            top: 0;
            bottom: 0;
            width: 1px;
            background: var(--bs-primary);
            opacity: 0.3;
            transform: translateX(-50%);
        }

        .timeline-item::after {
            content: '';
            width: 15px;
            height: 15px;
            background: var(--bs-primary);
            border-radius: 50%;
            position: absolute;
            z-index: 1;
            left: 50%;
            top: 50%; 
            transform: translate(-50%, -50%); 
        }

        .timeline-content {
            padding: 1.5rem 2rem;
        }
    }

    /* --- Mobile-Timeline (Getrennte Linie und Marker) --- */
    @media (max-width: 991.98px) {
        .timeline-item {
            padding-bottom: 0; /* Abstand wird nun von den Wrappern gesteuert */
        }

        /* Gemeinsame Basis-Styles für beide Wrapper */
        .timeline-image-wrapper,
        .timeline-text-wrapper {
            position: relative;
            padding-left: 30px;
        }
        
        /* Der Bild-Wrapper erzeugt den Abstand zum nächsten Block */
        .timeline-image-wrapper {
             padding-bottom: 1.5rem;
        }
        
        /* Die durchgehende Linie für BEIDE Wrapper */
        .timeline-image-wrapper::before,
        .timeline-text-wrapper::before {
            content: '';
            position: absolute;
            left: 7px;
            top: 0;
            bottom: 0;
            width: 1px;
            background: var(--bs-primary);
            opacity: 0.3;
        }

        /* NUR der Text-Wrapper bekommt den sichtbaren Marker */
        .timeline-text-wrapper::after {
            content: '';
            width: 15px;
            height: 15px;
            background: var(--bs-primary);
            border-radius: 50%;
            position: absolute;
            left: 0;
            /* Positioniert den Marker auf der Mitte der ersten Textzeile */
            top: 0.5em; 
        }

        /* Der Bild-Wrapper bekommt explizit KEINEN Marker */
        .timeline-image-wrapper::after {
            content: none;
        }
    }

        .mh-25 {
          min-height: 55px;
        }

        footer {
            color: #adb5bd;
            font-family: 'Poppins', sans-serif;
            font-size: 0.7em;
            line-height: 1.8;
        }

        footer a {
            color: #adb5bd;
            text-decoration: none;
        }

        footer a:hover {
            color: #ffffff;
            text-decoration: underline;
        }