/* --- detailPages.css --- */

* { box-sizing: border-box; margin:0; padding:0; }

html, body { 
  min-height:100%; 
  font-family: 'Inter', Arial, sans-serif; 
  background-color: rgba(0,0,0,0.7); 
  color: #f4f4f4; 
  overflow-x: hidden; 
  overflow-y: auto;
  transition: padding-top 0.3s;
}

body{
  padding-top: calc(90px + var(--warning-height, 0px));
}

header {
  position: fixed;
  top: var(--warning-height, 0px); 
  left:0;
  width:100%;
  padding:25px;
  background-color:#1c1c1c;
  color:#ff6600;
  font-size:1.8rem;
  font-weight:bold;
  text-align:center;
  border-bottom:3px solid #ff6600;
  z-index:1000;
  text-shadow:0 1px 3px rgba(0,0,0,0.5);
  cursor:pointer;
}

header.shrink { padding:15px; font-size:1.4rem; }

main {
  margin-top:90px; /* Platz für fixen Header */
  display:flex;
  justify-content:center;
  padding:0 20px;
  flex-direction:column;
  align-items:center;
}

a:link,a:visited{color:#ff6600;text-decoration:none;}
a:hover,a:focus,a:active{color:#ffaa33;text-decoration:underline;}


.tile-header, .layer-toggles, .layer-toggles input {
    pointer-events: auto !important;
}

.warning {
  top: 0;
  left: 0;
  width: 100%;
  background-color: #ff6600;
  color: #1c1c1c;
  text-align: center;
  font-weight: bold;
  padding: 10px 0;
  font-size: 1rem;
  box-shadow: 0 2px 10px rgba(0,0,0,0.5);

  position: fixed; /* normaler Fluss, Header rutscht nach unten */
  z-index: 2000;      /* höher als Header z-index 1000 */
}


.overlay-content {
  position: relative; /* Teil des normalen Flusses */
  width:100%;
  max-width:1200px;
  background-color:#1c1c1c;
  border:2px solid #ff6600;
  border-radius:12px;
  padding:25px;
  box-shadow:0 10px 40px rgba(0,0,0,0.8);
  display:flex;
  flex-direction:column;
  margin-bottom:40px; /* Abstand zum Footer */
  margin-top:20px;
}

.overlay-title {
  margin-bottom: 30px; /* Abstand zwischen Titel und ersten Tiles */
}

.overlay-img {
  position: absolute;
  /* feinjustierung: falls der Zeiger zu tief/hoch sitzt, passe top an */
  top: -2%;
  left: 0;
  width: 100%;
  transform-origin: 50% 70%; /* Drehpunkt: Mitte horizontal, ~78% von oben */
  transition: transform 900ms cubic-bezier(.22,.9,.2,1);
  pointer-events: none;
}

.btn{
  padding:5px 12px; 
  border-radius:6px; 
  border:2px solid #ffaa33; 
  background-color:#1c1c1c; 
  color:#ffaa33; 
  cursor:pointer;"
}


.close-btn {
  position:absolute;
  top:20px;
  right:30px;
  font-size:1.8rem;
  font-weight:bold;
  color:#ff6600;
  background:none;
  border:none;
  cursor:pointer;
  transition: color 0.3s;
}
.close-btn:hover { color:#ffaa33; }

.breadcrumb { font-size:0.9rem; margin-bottom:20px; color:#f4f4f4; }
.breadcrumb a { color:#ff6600; text-decoration:none; transition:color 0.3s; cursor:pointer; }
.breadcrumb a:hover { color:#ffaa33; }
.breadcrumb span { margin:0 5px; }

.overlay-tiles {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap:25px;
}

.tile {
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:15px;
  background-color:#1e1e1e;
  border-radius:12px;
  border:2px solid #ff6600;
  box-shadow:0 6px 20px rgba(0,0,0,0.6);
  color:#f4f4f4;
  transition: transform 0.3s, box-shadow 0.3s;
  pointer-events:none;
}
.tile:has(a), .tile:has(button) { pointer-events:auto; }
.tile:has(a):hover, .tile:has(button):hover {
  transform:scale(1.05);
  box-shadow:0 10px 30px rgba(0,0,0,0.8),0 0 15px #ff6600;
}

.tile-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:12px; }
.tile-title { font-size:1.3rem; font-weight:bold; color:#ff6600; }
.tile-content {
  flex: 1 1 auto;
  display: flex;
  gap: 10px;
  font-size: 1rem;
  line-height: 1.4;
  color: #f4f4f4;

  position: relative; /* <-- hier Zeiger korrekt positionieren */
  justify-content: center; /* optional, zentriert Inhalt */
  align-items: center;     /* optional, Zeiger und Bild zentrieren */
}

img { max-width:100%; height:auto; border-radius:8px; }

.tile.full-width { grid-column:1/-1; }
.tile.no-border { border:none; background-color:transparent; box-shadow:none; }

@media(max-width:600px){
  .overlay-content { padding:15px; }
  .tile-title { font-size:1.1rem; }
  .breadcrumb { font-size:0.8rem; }
  .close-btn { font-size:1.5rem; }
}

/* Keine Hover-Effekte für Elemente mit Klasse "no-hover" */
.tile.no-hover,
.tile.no-hover:has(a),
.tile.no-hover:has(button),
.tile.no-hover:hover {
    transform: none !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.6) !important; /* wie normal */
    transition: none !important;
}

/* Optional: für article-Bereich oder andere Container */
.no-hover {
    transform: none !important;
    box-shadow: none !important; /* oder gewünschten Shadow-Wert */
    transition: none !important;
}


/* ===== Article Styling ===== */
article {
  max-width: 900px;
  margin: 0 auto;
  line-height: 1.8;
  font-size: 1.05rem;
  color: #f4f4f4;
  background: rgba(28, 28, 28, 0.85);
  padding: 40px 50px;
  border-radius: 16px;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.6);
  border: 1px solid rgba(255, 102, 0, 0.3);
  overflow-wrap: break-word;        /* → verhindert Textüberlauf */
  word-wrap: break-word;
  word-break: break-word;
  overflow-x: hidden;               /* → stoppt horizontales Scrollen */
}

/* Hauptüberschrift */
article h1#article-title {
  font-size: 2rem;
  color: #ff6600;
  margin-bottom: 1.2em;
  text-align: center;
  text-shadow: 0 0 10px rgba(255, 102, 0, 0.4);
}

/* Abschnittsüberschriften */
article h2 {
  color: #ffaa33;
  font-size: 1.4rem;
  margin-top: 2em;
  margin-bottom: 0.8em;
  border-left: 4px solid #ff6600;
  padding-left: 10px;
}

/* Einleitung / Lede */
article .lede {
  font-size: 1.15rem;
  color: #ddd;
  background: rgba(255, 102, 0, 0.08);
  border-left: 4px solid #ff6600;
  padding: 15px 20px;
  border-radius: 10px;
  margin-bottom: 2em;
}

/* Listen */
article ul {
  margin: 1em 0 1.5em 1.4em;
  list-style-type: "➤ ";
}
article ol {
  margin: 1em 0 1.5em 1.4em;
}
article li {
  margin-bottom: 0.6em;
}

/* Tabellen fix: umschließendes Container-Element */
article .table-wrapper {
  width: 100%;
  overflow-x: auto;                /* → horizontales Scrollen erlaubt */
  -webkit-overflow-scrolling: touch;
  margin: 2em 0;
  border-radius: 10px;
}

article table.kpi-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  background-color: rgba(30, 30, 30, 0.9);
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.4);
}

article table.kpi-table th {
  background-color: #ff6600;
  color: #1c1c1c;
  text-align: left;
  padding: 12px;
  font-weight: bold;
}

article table.kpi-table td {
  padding: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  vertical-align: top;
}

article table.kpi-table tr:nth-child(even) {
  background-color: rgba(255, 255, 255, 0.05);
}

article table.kpi-table tr:hover {
  background-color: rgba(255, 102, 0, 0.15);
  transition: background 0.3s;
}

/* Absatzabstände */
article p {
  margin-bottom: 1.2em;
}
article p strong {
  color: #ffaa33;
}

/* ===== Mobile Optimierung ===== */
@media (max-width: 900px) {
  article {
    padding: 30px 25px;
    font-size: 1rem;
    line-height: 1.75;
  }
}

@media (max-width: 600px) {
  article {
    padding: 25px 15px;
    font-size: 0.95rem;
    line-height: 1.7;
    border-radius: 12px;
  }

  article h1#article-title {
    font-size: 1.5rem;
    margin-bottom: 1em;
  }

  article h2 {
    font-size: 1.1rem;
    margin-top: 1.6em;
    padding-left: 8px;
    border-left-width: 3px;
  }

  article .lede {
    font-size: 1rem;
    padding: 12px 14px;
  }

  article table.kpi-table {
    font-size: 0.9rem;
  }
}



