/* ==================== Responsive.css ==================== */

/* ===== Allgemeine mobile Anpassungen ===== */
@media (max-width: 768px) {
  body {
    overflow-x: hidden;
  }

  /* ===== Hero & Typografie ===== */
  .section-title .banner_title {
    font-size: 3rem;
  }
  .section-title .banner_subtitle {
    font-size: 2rem;
  }


  .hero {
    padding: 2rem 1rem;
  }

  /* Hero-Bildhöhe für about & contact */
  .hero_about,
  .hero_contact {
    height: 25vh;
    background-position: center top;
  }
  .hero_about .overlay,
  .hero_contact .overlay {
    background: rgba(0, 0, 0, 0.45);
  }

  .hero_about .hero-content,
  .hero_contact .hero-content {
    text-align: center;
    padding: 2rem 1rem;
  }
  .banner_title {
    font-size: 3rem;
  }
  .banner_subtitle {
    font-size: 1.1rem;
  }


  /* Logo */
  
  .logo-img,
  .hero_about .logo-img,
  .hero_contact .logo-img {
    max-width: 200px; /* gleiche Größe wie auf Index */
    height: auto;
   
  }

  /* Service-Boxen */
  .service-row,
  .service-row1,
  .service-row2 {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    text-align: center;
  }
  .service-box {
    width: 90%;
    max-width: 400px;
  }
  .material-symbols-outlined {
    margin-bottom: 1rem;
    font-size: 3rem;
  }
  .service-text {
    text-align: center;
  }

  /* Kontaktformular */
  .contact-form-section {
    width: 90%;
    padding: 1rem;
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
  }
  .contact-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
  }
  .contact-form .form-group input,
  .contact-form .form-group textarea {
    width: 100%;
    font-size: 1rem;
    padding: 0.75rem;
    box-sizing: border-box;
  }
  .btn-contact {
    width: 100%;
    padding: 0.8rem;
    font-size: 1rem;
  }

  /* Footer */
  .footer-content {
    flex-direction: column;
    text-align: center;
    gap: 0.5rem;
  }
  .footer-left,
  .footer-right {
    font-size: 0.9rem;
  }

  /* Custom Cursor ausblenden */
  #cursor,
  #follower {
    display: none !important;
  }
}

/* ===== Header & Navigation ===== */
@media (max-width: 768px) {


  /* Etwas weniger Abstand im Header auf der Startseite */
  .hero .header {
  padding-top: 0.1rem;
  padding-bottom: 0.6rem;
}

  .header {
    position: relative;
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
  }

  .header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.2 1.5rem; /* gleichmäßiger horizontaler Abstand */
  }




  
  .hero_about .header-inner,
  .hero_contact .header-inner {
    display: flex;
    justify-content: space-between; /* Logo links, Menu rechts */
    align-items: center;
    padding: 0rem 1.2rem; /* Abstand oben/unten und vom Rand */
    
  }

  .nav {
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.95);
    backdrop-filter: blur(8px);
    gap: 1.5rem;
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: 1000;
  }
  .nav.nav-open {
    display: flex;
    opacity: 1;
    transform: translateY(0);
  }
  .nav a {
    color: #fff;
    font-size: 1.4rem;
    text-decoration: none;
    padding: 0.5rem 1rem;
  }

  



/* Einheitliches Burger-Menü */
  .menu-toggle,
  .hero_about .menu-toggle,
  .hero_contact .menu-toggle {
    position: relative;
    top: 1rem;
    right: 1.2rem;
    margin-right: 0.8rem; /* etwas Abstand vom Rand */
    font-size: 2.2rem;
    color: #fff;
    cursor: pointer;
    z-index: 1200; /* vor Overlay */
  }


  /* Header-Linie bei offenem Menü ausblenden */
  .header.menu-open .header-line {
    opacity: 0;
  }

  /* Header-Linie auf Mobil bei about & contact ausblenden */
  .hero_about .header-line,
  .hero_contact .header-line {
    display: none !important;
  }
}

/* ===== Desktop: Hamburger-Icon ausblenden ===== */
@media (min-width: 769px) {
  .menu-toggle {
    display: none;
  }
}

/* ===== Datenschutz-Seite ===== */
@media (max-width: 768px) {
  .hero_about.datenschutz,
  .hero_about[data-page="datenschutz"],
  body[data-page="datenschutz"] .hero_about {
    height: 25vh;
    background-position: center top;
  }
  .hero_about.datenschutz .header-inner,
  body[data-page="datenschutz"] .header-inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
  }
  .hero_about.datenschutz .logo-img,
  body[data-page="datenschutz"] .logo-img {
    max-width: 140px;
    height: auto;
  }
  .hero_about.datenschutz .menu-toggle,
  body[data-page="datenschutz"] .menu-toggle {
    top: 1.2rem;
    right: 2rem;
  }
  .hero_about.datenschutz .nav,
  body[data-page="datenschutz"] .nav {
    display: none;
    flex-direction: column;
    align-items: center;
    position: absolute;
    top: 70px;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.95);
    backdrop-filter: blur(6px);
    padding: 1.5rem 0;
    opacity: 0;
    transform: translateY(-10px);
    transition: all 0.3s ease;
  }
  .hero_about.datenschutz .nav.nav-open,
  body[data-page="datenschutz"] .nav.nav-open {
    display: flex;
    opacity: 1;
    transform: translateY(0);
  }
  .hero_about.datenschutz .header-line,
  body[data-page="datenschutz"] .header-line {
    display: none;
  }
  .btn-outline {
    display: inline-block;
    margin-bottom: 1.5rem;
    padding: 1rem 2.5rem;
    font-size: 1.2rem;
  }

.btn-outline {
    display: inline-block;
    margin-bottom: 1.5rem;
    padding: 1rem 2rem;     /* mehr Innenabstand = größerer Button */
    font-size: 1.1rem;      /* größere Schrift */
    border-radius: 8px;     /* etwas runder, optisch harmonischer */
  }

}


/* ===== Datenschutzseite: Logo zentriert im Header ===== */
body[data-page="datenschutz"] .header-inner {
  justify-content: center !important; /* Zentriert den Inhalt im Header */
}

body[data-page="datenschutz"] .logo-img {
  margin: 0 auto !important; /* Logo wirklich mittig */
  display: block;
  max-width: 200px;
}

/* Optional: Navigation und Menü-Icon ausblenden */
body[data-page="datenschutz"] .menu-toggle,
body[data-page="datenschutz"] .nav {
  display: none !important;
}

/* ===== Fix: Überschriften in Datenschutz-Seite auf Mobile anpassen ===== */
@media (max-width: 768px) {
  body[data-page="datenschutz"] .privacy-content {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0 1rem; /* etwas horizontalen Abstand vom Rand */
    overflow-wrap: break-word;  /*bricht lange Wörter */
  }

  body[data-page="datenschutz"] h1,
  body[data-page="datenschutz"] h2,
  body[data-page="datenschutz"] h3 {
    font-size: 1.3rem;
    text-align: left;
    
    margin: 1rem 0;
  }

  body[data-page="datenschutz"] p {
    font-size: 1rem;
    line-height: 1.6;
    text-align: left;
  }
}