/* Grundlegende Einstellungen und globale Regeln */

/* Box-Sizing & Reset */

*, *::before, *::after {
  box-sizing: inherit;
}
html {
  box-sizing: border-box;
}

/* Layout-Grundstruktur */

header,
main,
footer {
  max-width: 1200px;
  margin: 0 auto;
  /* padding: 0 20px; */
}

/* Strukturelemente wie Header, Footer, Sections. */

main {
  text-align: left;
}

section {
  margin-top: 40px;
  padding-bottom: 20px;
  border-bottom: 1px solid #eee;
}

footer {
  text-align: center;
  margin-top: 60px;
  font-size: 12pt;
  color: #666;
}


/* Body & Grundlayout */
body {
  font-family: Arial, sans-serif;
  font-size: 14pt;
  line-height: 1.4;
  color: #222;
  background-color: #fff;
  margin: 20px;
  max-width: 100%;
}

/* typography.css
Alle Überschriften, Absätze, Listen, Schriftfarben und Größen. */

h1, h2, h3 {
  color: rgb(42,96,153);
  line-height: 1.2;
}
h1 { font-size: 20pt; }
h2 { font-size: 16pt; margin-bottom: 4pt; }
h3 { font-size: 14pt; margin-top: 20pt; }

h4, h5 {
  font-weight: normal;
  margin-bottom: 4pt;
}
h4 { font-size: 12pt; }
h5 { font-size: 10pt; }

p[copyright^="©"]{
  font-size: 12px;
}

p, ul {
  font-size: 14pt;
  margin-bottom: 10pt;
}

.time ul {
    list-style-type: none;
    padding-left: 0;
    margin-left: 0;
}

ul {
  list-style-type: disc;
  padding-left: 20px;
  margin-top: 0pt;
}
li::marker {
  color: rgb(42,96,153);
}
b {
  color: rgb(42,96,153);
}
.tagline { /* im Header */
  font-size: 14pt;
  color: rgb(42,96,153);
  margin-bottom: 20px;
}

.timeline ul {
    list-style-type: none;
    padding-left: 0;
    margin-left: 0;
}

.timeline li {
  display: grid;
  grid-template-columns: 170px 1fr; /* ✅ feste Breite für Datum */
  gap: 10px;
  margin-bottom: 10px;
}

.timeline .date {
  color: rgb(42,96,153);
}
.timeline .text {
  color: #222;
}
a[href^="mailto:"] {
  font-weight: bold;
  color: rgb(42,96,153);
}
a[href^="https:"] {
  font-weight: bold;
  color: rgb(42,96,153);
}



/* Spezifische Header-Elemente und Bildbereiche. */

.header {
  background-color: #d6e6fa; /* gleich wie .overlay-content */
  border-radius: 8px;
  color: white;
  overflow: hidden;
  /* outline: 2px solid red;  -> nur für Debug */
}

.header-grid {
  display: flex;
  flex-direction: column;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
/* background-color: lightblue; -> nur für debug */
}

.header-image {
  width: 100%;
  height: 250px;
  margin-top: 15px;
  background-size: contain;
  background-position: center top;
  background-repeat: no-repeat;
}

.index-header .header-image {
  background-image: url("cvMiluRund.png");
}
.lebenslauf-header .header-image {
  background-image: url("profilMiluEckig.png");
}

.header-content {
/* padding: 40px 30px; */
  text-align: center;
  /* background-color: rgba(0, 0, 0, 0.3); */
  /* border-radius: 0 0 8px 8px; */
  /* outline: 2px solid green;  -> nur für debug */ 
}







/* components.css
Buttons, Accordion, etc. */

.btn {
  display: block;
  padding: 10px;
  margin: 0 auto;
  margin-bottom: 10px;
  background-color: rgb(42,96,153);
  color: white;
  text-decoration: none;
  border-radius: 4px;
  font-size: 10pt;
  white-space: normal;
  width: 35%;
  word-wrap: break-word; /* für lange Wörter auf Button */
  text-align: center;
  max-width: 35%;
}
.btn:hover {
  background-color: #2a5c99;
}
.btn.secondary {
  background-color: #ccc;
  color: #222;
}

.btn.secondary:hover {
  background-color: #aaa;
}

.cta-buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: stretch;
  margin-top: 10px;
  margin-bottom: 10px;
}

.accordion { margin-top: 20px; }
.accordion-toggle {
  background-color: rgb(42,96,153);
  color: white;
  padding: 10px;
  width: 100%;
  text-align: left;
  border: none;
  font-size: 14pt;
  cursor: pointer;
  margin-bottom: 5px;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}
.accordion-toggle:hover {
  background-color: #2a5c99;
}
.accordion-content {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  background-color: #f4f7fc;
  padding: 10px 20px;
  /* border-left: 3px solid rgb(42,96,153); */
  transition: max-height 0.4s ease, opacity 0.4s ease;
}
.accordion-content.open {
  opacity: 1;
  max-height: 400px;
  overflow-y: auto;
  overflow-x: hidden;
  word-wrap: break-word;
  white-space: normal;
  -webkit-overflow-scrolling: touch;
}

.accordion-content.open::-webkit--overflow-scrolling {
  height: 6px;
}



.backtotop-wrapper {
  text-align: center;
  margin: 40px 20px 0 0; /* Abstand zum Footer */
}

#backToTop {
  padding: 10px 20px;
  font-size: 12px;
  background-color: rgb(42, 96, 153);
  color: white;
  border: none;
  border-radius: 30px;
  cursor: pointer;
  opacity: 1; /* Immer sichtbar */
  transition: background-color 0.3s ease;
}

#backToTop:hover {
  background-color: #555;
}

/* responsive.css
   Alle Media Queries und mobile Anpassungen
*/

@media (max-width: 768px) {
  /* Einheitliche Layout-Anpassung */
  header,
  main,
  section,
  footer {
    padding: 20px 10px;
    max-width: 100%;
  }

  /* Typografie */
  h1, h2, h3 {
    font-size: 1.2em;
  }

  /* Header-Bild & Inhalt */
  .header-image {
    height: 200px;
    background-position: center;
  }

  /* Timeline auf Mobile: Single-Column Layout */
  .timeline li {
    display: block;
    margin-bottom: 15px;
  }

  .timeline .date {
    display: block;
    margin-bottom: 5px;
  }

  .timeline .text {
    display: block;
    word-wrap: break-word;
    white-space: normal;
  }

}