:root {
    --primary-color: #000000; /* Schwarz */
    --secondary-color: #FFFFFF; /* Weiss */
    --text-color: #333;
    --accent-color: #007AFF; /* Ein blauer Akzent als Beispiel */
}

/* Globales Reset und Schriftart */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth; /* Sorgt für sanftes Scrollen beim Klick auf Links */
}

body {
    font-family: 'Poppins', sans-serif;
    color: var(--text-color);
    background-color: var(--secondary-color);
}

/* =========================
   DEKORATIVE HINTERGRUND-BILDER (NEU)
========================= */

main, footer {
    position: relative; /* WICHTIG! */
    overflow: hidden;   /* Verhindert, dass Bilder unschöne Scrollbalken erzeugen */
}

.deco-image {
    position: absolute;      /* Positioniert die Bilder relativ zum <main> oder <footer> */
    width: 700px;            /* Beispielgröße, bei Bedarf anpassen */
    height: auto;
    z-index: -1;             /* Legt die Bilder HINTER den normalen Inhalt */
    opacity: 0.8;
    pointer-events: none;
}

/* Bild oben rechts (innerhalb von <main>) */
.deco-image.top-right {
    top: 110px;      /* Leicht über den Rand, um direkt an die App-Bar anzudocken */
    right: 0px;
}

/* Bild unten links (innerhalb von <footer>) */
.deco-image.bottom-left {
    bottom: 100px;     /* Leicht über den Rand, um direkt anzudocken */
    left: 0px;
    transform: rotate(180deg);
}

/* Anpassung für kleinere Bildschirme */
@media (max-width: 900px) {
    .deco-image {
        display: none;
    }
}

/* Navigationsleiste */
.app-bar {
    background-color: var(--primary-color);
    padding: 1rem 5%;
    position: fixed; /* Fixiert die Leiste oben */
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000; /* Stellt sicher, dass sie über allem liegt */
    transition: transform 0.3s ease-in-out;
}

.app-bar-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
}

.logo {
    height: 80px;
    border-radius: 8px;
}

.nav-links {
    display: flex;
    gap: 2rem;
}

.nav-links a {
    color: var(--secondary-color);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s;
}

.nav-links a:hover {
    color: var(--accent-color);
}

/* Hamburger Menü (für Mobilgeräte) */
.hamburger-menu {
    display: none; /* Standardmäßig ausgeblendet */
    flex-direction: column;
    justify-content: space-around;
    width: 2rem;
    height: 2rem;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 10;
}

.hamburger-menu span {
    width: 2rem;
    height: 0.25rem;
    background: var(--secondary-color);
    border-radius: 10px;
    transition: all 0.3s linear;
    position: relative;
    transform-origin: 1px;
}

/* Hauptinhalt und Sektionen */
main {
    padding-top: 70px; /* Platz für die fixierte Navigationsleiste */
}

section {
    padding: 6rem 5%;
    max-width: 1000px;
    margin: 0 auto;
    border-bottom: 1px solid #eee;
}

section h1, section h2 {
    font-size: 2.5rem;
    margin-bottom: 3rem; /* Mehr Abstand nach der Hauptüberschrift */
    text-align: center;
}

section p {
    font-size: 1.1rem;
    line-height: 1.6;
    text-align: center;
    max-width: 800px;
    margin: 0 auto 2rem auto;
}

/* ======================================================= */
/* NEUE STYLES FÜR DAS ZWEISPALTIGE FEATURE-LAYOUT         */
/* ======================================================= */

.feature-row {
    display: flex;
    align-items: center; /* Vertikal zentrieren */
    gap: 4rem; /* Abstand zwischen Bild und Text */
    margin-bottom: 5rem; /* Abstand zwischen den Reihen */
}

.feature-image,
.feature-text {
    flex: 1; /* Beide Spalten sollen gleich breit sein */
}

/* Speziell für die umgedrehte Reihe */
.feature-row.reverse {
    flex-direction: row-reverse; /* Kehrt die Reihenfolge der Spalten um */
}

.feature-image img {
    width: 100%;
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}

.feature-text h3 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
    text-align: center;
}

.feature-text p {
    text-align: justify;
    margin: 0;
}

/* Entferne den großen Abstand der letzten Reihe in einer Sektion */
section .feature-row:last-child {
    margin-bottom: 0;
}


/* ======================================================= */


/* Spezifische Sektionen */
#home .store-buttons {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin: 2rem 0;
}

#home .store-buttons img {
    height: 50px;
}

#home .main-screenshot {
    display: block;
    max-width: 100%;
    margin: 3rem auto 0 auto;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

#social .social-icons {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-top: 2rem;
}

#social .social-icons img {
    height: 40px;
    transition: transform 0.3s;
}

#social .social-icons img:hover {
    transform: scale(1.1);
}

/* Footer (Rechtliches) */
footer {
    background-color: var(--primary-color);
    color: var(--secondary-color);
    padding: 4rem 5%;
}

.footer-content {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 40px;
}

.footer-left h2 {
    text-align: left;
    font-size: 1.5rem;
    margin-bottom: 1rem;
}

.legal-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
}

.legal-links a {
    color: #ccc;
    text-decoration: none;
    transition: color 0.3s;
}

.legal-links a:hover {
    color: var(--secondary-color);
    text-decoration: underline;
}

.footer-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.logo-footer {
    height: 50px;
    width: auto;
    border-radius: 6px;
    opacity: 1;
    margin-top: 0;
}

.store-buttons-footer {
    display: flex;
    gap: 15px;
}

.store-buttons-footer .store-button img {
    height: 45px;
}

.back-arrow {
    height: 20px;
    transition: transform 0.2s ease-out;
}

.back-button:hover .back-arrow {
    transform: translateX(-5px);
}

/* Spezielles Layout für den Inhalt der Unterseiten */
.subpage-main {
    padding-top: 70px;
}

.subpage-title-header {
    background-color: #f7f7f7;
    text-align: center;
    padding: 3rem 5%;
    border-bottom: 1px solid #eee;
}

.subpage-title-header h1 {
    font-size: 3rem;
    margin-bottom: 0.5rem;
}

.subpage-title-header p {
    color: #888;
    font-style: italic;
}

/* =============================== */
/* RESPONSIVE DESIGN FÜR MOBILGERÄTE */
/* =============================== */

@media (max-width: 820px) {
    .footer-content {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .footer-left { width: 100%; }
    .footer-left h2 { text-align: center; }
    .legal-links { align-items: center; margin-bottom: 2rem; }
    .footer-right { flex-direction: column; }
}

@media (max-width: 768px) {
    /* Navigations-Menü */
    .nav-links {
        display: none;
        flex-direction: column;
        background-color: var(--primary-color);
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        padding-top: 5rem;
        text-align: center;
        padding-bottom: 2rem;
        transform: translateY(-100%);
        transition: transform 0.3s ease-in-out;
    }
    .nav-links.open { display: flex; transform: translateY(0); }
    .hamburger-menu { display: flex; }

    /* Schriftgrößen anpassen */
    section h1, section h2 { font-size: 2rem; }
    .subpage-title-header h1 { font-size: 2.2rem; }

    /* App-Bar auf Unterseiten anpassen */
    .app-bar-content { justify-content: space-between; }
    .app-bar-content .nav-links { position: absolute; width: 100%; left: 0; top: 0; }
    
    /* Spaltenlayout für mobil anpassen */
    .feature-row, .feature-row.reverse {
        flex-direction: column; /* Alles untereinander */
        gap: 2rem; /* Weniger Abstand auf mobil */
    }

    .feature-text h3 {
        text-align: center; /* Unterüberschriften auch zentrieren */
    }

    .feature-text p {
        text-align: center; /* Absätze auch zentrieren */
    }
}

/* =========================
   LANGUAGE SELECTOR
========================= */

.language-selector {
  position: relative;
}

.back-button,
.language-current {
  display: flex;
  align-items: center;
  gap: 0.5rem;

  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: var(--secondary-color);

  background: none;
  border: none;
  cursor: pointer;
  text-decoration: none;
}

.language-current {
    transition: color 0.3s;
}

.language-current:hover {
    color: var(--accent-color);
}

.language-current img {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  object-fit: cover;
}

.language-dropdown {
  position: absolute;
  right: 0;
  top: 120%;
  background: #111;
  border-radius: 12px;
  overflow: hidden;
  display: none;
  flex-direction: column;
  min-width: 180px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.4);
  z-index: 2000;
}

.language-dropdown.open {
  display: flex;
}

.language-dropdown button {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: none;
  border: none;
  color: white;
  cursor: pointer;
}

.language-dropdown button:hover {
  background: #222;
}

.language-dropdown img {
  width: 22px;
  height: 22px;
  border-radius: 50%;
}

.app-bar-right {
  display: flex;
  align-items: center;
  gap: 2rem;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in {
    opacity: 0;
    animation: fadeInUp 0.9s ease-out forwards;
}

.fade-in-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.9s ease-out, transform 0.9s ease-out;
}

.fade-in-scroll.visible {
    opacity: 1;
    transform: translateY(0);
}

.subpage-main section p,
.subpage-main section h3,
.subpage-main section ul {
    text-align: left; 
}

.subpage-main section h3 {
    margin-top: 2rem;
}

.subpage-main section ul {
    list-style-position: outside;
    padding-left: 25px;          
    margin-bottom: 1.5rem;        
}


.address-block {
    background-color: #f7f7f7;
    border-left: 4px solid #dddddd;
    padding: 1rem 1.5rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
    line-height: 1.6;
    text-align: left !important;
    white-space: pre-line;
}

.subpage-main section {
    padding-top: 2.5rem;    
    padding-bottom: 2.5rem; 
}

.subpage-main section:first-of-type {
    padding-top: 3.5rem;
}

