/* GLOBAL: Gradient über die gesamte Seite */
body {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-body);
  font-size: var(--font-size-base);
  color: var(--color-text);
  background: linear-gradient(135deg, 
  #FFC1E3 0%,   /* Sanftes Rosa - mehr Gewichtung */
  #FFC1E3 25%,  /* Wiederholung des Rosa für mehr Dominanz */
  #FF69B4 50%,  /* Kräftiges Pink */
  #E94E87 75%,  /* Weniger dunkles Pink */
  #F06292 100%  /* Helleres Rosa am Ende statt Violett */
  );
  background-attachment: fixed;
  background-size: cover;
  background-repeat: no-repeat;
  line-height: 1.5;
}


.container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.section {
  padding: var(--spacing-large) 0;
  background: transparent; /* Kein eigener Hintergrund mehr */
}

/* Abwechslung: .section--alt = alternativer Hintergrund */
.section--alt {
  background-color: var(--color-bg-alt);
}

/* .section--soft = z.B. weißer Hintergrund */
.section--soft {
  background: transparent !important; /* Sicherstellen, dass keine Farbe überschrieben wird */
}

/* HEADER */
.header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--spacing-medium);
  background: transparent;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.header__logo img {
  max-height: 40px; /* Reduzierte Größe */
  width: auto;
  vertical-align: middle; /* Vertikale Ausrichtung verbessern */
}

/* Bestehende Header-Höhe beibehalten */
.header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--spacing-medium);
  background: transparent;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  height: auto; /* Automatische Höhe basierend auf Inhalt */
}

/* 🔹 Link-Stil beibehalten */
.header__logo a {
  text-decoration: none;
  color: inherit;
}

/* Einheitlicher Kontakt-Button */
.nav__list .nav__contact {
  background-color: var(--color-primary);
  color: #fff;
  border-radius: 4px;
  padding: var(--spacing-small) var(--spacing-medium);
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.nav__list .nav__contact:hover {
  background-color: var(--color-primary-dark);
  transform: scale(1.05);
}


/* Standard: Burger-Menü verstecken (für Desktop & Querformat) */
.header__burger {
  display: none;
}

/* BURGER MENU (nur auf kleinen Geräten im Hochformat sichtbar) */
@media (max-width: 768px) and (orientation: portrait) {
  .header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-medium);
    position: relative;
  }

  .header__burger {
    display: flex; /* Wird nur im Hochformat angezeigt */
    flex-direction: column;
    gap: 6px;
    cursor: pointer;
    position: absolute;
    right: var(--spacing-medium); /* Setzt das Burger-Menü ganz rechts */
    top: 50%;
    transform: translateY(-50%); /* Zentriert es vertikal */
    z-index: 1001;
  }

  .header__burger span {
    display: block;
    width: 25px;
    height: 3px;
    background-color: var(--color-text);
    transition: all 0.3s ease;
  }
}


/* HERO MIT HINTERGRUNDBILD */
.hero {
  position: relative;
  background: url('../img/olma_studio.jpeg') no-repeat center center/cover;
  color: #fff;
  height: 70vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
}

/* Overlay für bessere Lesbarkeit */
.hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}

/* Text bleibt über dem Bild */
.hero__content {
  position: relative;
  max-width: 600px;
  margin: 0 auto;
  z-index: 2;
}

.hero__content h1, 
.hero__content p {
  color: #fff;
}

.hero__content h1 {
  font-weight: 400; /* Nicht fett für den Haupttitel */
}

/* TRANSPARENTER FOOTER */
.footer {
  background: transparent !important;
  text-align: center;
  padding: var(--spacing-medium) 0;
  color: #fff;
}

/* Fußzeilen-Links */
.footer__content a {
  color: #fff;
  font-weight: bold;
  text-decoration: none;
}

.footer__content a:hover {
  text-decoration: underline;
}


/* ANGEBOT (Mein Angebot) */
.offer__content {
  display: flex;
  align-items: stretch; /* Bild & Textblock haben gleiche Höhe */
  justify-content: space-between;
  flex-wrap: wrap;
  text-align: left;
  gap: var(--spacing-large);
}

/* Textblock */
.offer__text {
  flex: 1;
  min-width: 300px;
  max-width: 600px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Bildblock */
.offer__image {
  width: 100%; /* Bild passt sich flexibel an */
  max-width: 400px; /* Maximale Breite für bessere Darstellung */
  height: auto; /* Proportionale Skalierung */
  display: block;
  margin: 20px auto; /* Zentrierung */
  border-radius: 10px; /* Sanfte Ecken für ein schönes Design */
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); /* Leichter Schatten für besseren Kontrast */
}

/* Bildgröße automatisch anpassen */
.offer__image img {
  width: 100%;
  height: 100%; /* Höhe auf 100% des Containers setzen für object-fit: cover */
  max-height: 100%; /* Bild passt sich der Höhe des Textblocks an */
  object-fit: cover; /* Bild füllt den Container aus, kann beschnitten werden */
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

/* Mobile: Bild unter Text setzen */
@media (max-width: 768px) {
  .offer__content {
    flex-direction: column;
    text-align: center;
  }

  .offer__image {
    max-width: 80%; /* Bildgröße für Mobilgeräte begrenzen */
  }

  .offer__image img {
    max-height: 250px; /* Verhindert zu hohe Bilder auf kleinen Bildschirmen */
  }
}

/* MOBILE NAVIGATION */
@media (max-width: 768px) {
  .header__burger {
    display: flex;
    z-index: 1001;
  }

  .nav__list {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(255, 255, 255, 0.95);
    padding: var(--spacing-large);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-medium);
    transform: translateY(-100%);
    transition: transform 0.4s ease-in-out;
  }

  .nav__list.show {
    transform: translateY(0);
  }

  body.nav-open {
    overflow: hidden;
  }
}

/* HERO-MOBILE ANPASSUNGEN */
@media (max-width: 768px) {
  .hero {
    height: 50vh;
  }

  .hero__content h1 {
    font-size: 2.5rem;
  }

  .hero__content p {
    font-size: 1rem;
  }
}

@media (max-width: 768px) {
  body {
    background-attachment: scroll;
  }
}

/* TRANSPARENTE GALERIE-SEKTION */
#gallery {
  background: transparent !important;
}

/* Sicherstellen, dass auch der Container transparent bleibt */
#gallery .container {
  background: transparent !important;
}

/* Standard: Bild links, Text rechts (für größere Bildschirme) */
.about__container {
  display: flex;
  flex-direction: row-reverse; /* Kehrt die Reihenfolge um: Bild links, Text rechts */
  align-items: center;
  gap: var(--spacing-large);
}

/* Text nimmt verfügbaren Platz ein */
.about__text {
  flex: 1;
}

/* Bild links */
.about__image {
  max-width: 300px;
  height: auto;
  border-radius: 12px;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
}

/* Mobile Ansicht: Bild unter den Text verschieben */
@media (max-width: 768px) {
  .about__container {
    flex-direction: column; /* Stapelt die Elemente vertikal */
    text-align: center;
  }

  .about__image {
    max-width: 250px; /* Kleineres Bild für mobile Ansicht */
    margin-top: var(--spacing-medium); /* Abstand zum Text */
  }
  /* Button in der mobilen Ansicht unter dem Text zentrieren */
  .about__text .btn {
    display: inline-block; /* Verhindert volle Breite */
    width: fit-content; /* Passt sich der Textlänge an */
    margin: var(--spacing-medium) auto 0 auto; /* Zentriert den Button */
  }
}



/* Container für Erfahrungen */
.experience__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  text-align: center;
}

/* Einzelnes Erfahrungselement */
.experience__item {
  flex: 1;
  max-width: 300px;
}

/* Runde Bilder */
.experience__image {
  width: 100%;
  max-width: 200px;
  height: 200px;
  object-fit: cover;
  border-radius: 50%; /* Rundes Bild */
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  margin-bottom: 10px;
}

/* Responsive: Bilder untereinander auf Mobilgeräten */
@media (max-width: 768px) {
  .experience__grid {
    flex-direction: column;
    align-items: center;
  }

  .experience__item {
    max-width: 100%;
  }

  .experience__image {
    max-width: 150px; /* Kleinere Bilder auf mobilen Geräten */
    height: 150px;
  }
}

/* Kontaktbereich */
.contact__container {
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}

/* Einleitungstext */
.contact__intro {
  font-size: 1.1rem;
  color: var(--color-text);
  margin-bottom: var(--spacing-large);
}

/* Stil für das Kontaktformular */
.contact__card {
  background: #fff;
  padding: var(--spacing-large);
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  text-align: left;
}

/* Formularfelder */
.contact__form input,
.contact__form textarea {
  width: 100%;
  padding: var(--spacing-small);
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: rgba(255, 255, 255, 0.8);
  color: #333;
  border-radius: 5px;
  font-size: 1rem;
  transition: border-color 0.3s ease;
}

/* Placeholder Farbe */
.contact__form input::placeholder,
.contact__form textarea::placeholder {
  color: rgba(0, 0, 0, 0.5);
}

/* Fokus-Effekt */
.contact__form input:focus,
.contact__form textarea:focus {
  border-color: var(--color-primary-dark);
  outline: none;
}

/* Absenden-Button */
.contact__form button {
  width: 100%;
  padding: var(--spacing-medium);
  border: none;
  border-radius: 5px;
  background: var(--color-primary);
  color: #fff;
  font-size: 1.1rem;
  cursor: pointer;
  transition: background 0.3s ease;
}

.contact__form button:hover {
  background: var(--color-primary-dark);
}

/* Responsives Design */
@media (max-width: 768px) {
  .contact__card {
    padding: var(--spacing-medium);
  }

  .contact__form input,
  .contact__form textarea {
    font-size: 0.9rem;
  }
}

@font-face {
  font-family: 'Eyesome Script';
  src: url('../fonts/eyesome-script.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}

@media (max-width: 768px) {
  .about__content {
    flex-direction: column;
    text-align: center;
  }

  .about__image-container {
    max-width: 100%;
  }

  .about__image {
    max-width: 200px; /* Kleiner auf Mobile */
  }

  .about__text {
    max-width: 100%;
  }
}

/* MOBILE NAVIGATION ÜBERLAPPEND */
@media (max-width: 768px) {
  .nav__list {
    position: fixed;
    top: 75px; /* Abstand nach oben erhöhen */
    left: 0;
    width: 100%;
    height: calc(100vh - 80px); /* Höhe anpassen, um Platz zu lassen */
    background-color: rgba(255, 255, 255, 0.95);
    padding-top: var(--spacing-medium); /* Etwas mehr Platz für die ersten Links */
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-medium);
    transform: translateX(-100%);
    transition: transform 0.4s ease-in-out;
    z-index: 1001;
  }

  .nav__list.show {
    transform: translateX(0);
  }
}


  /* Kein Scrollen bei offenem Menü */
  body.nav-open {
    overflow: hidden;
  }

/* About Page Specific Styles */
.about-content {
  width: 100%;
  max-width: 1200px;
}

.about-section {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 30px;
  margin: 30px 0;
}

.about-section.reverse {
  flex-direction: row-reverse;
}

.about-text {
  flex: 3;
}

.about-image {
  flex: 2;
  max-width: 400px;
}

.about-image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

@media (max-width: 768px) {
  .about-section, 
  .about-section.reverse {
    flex-direction: column;
    text-align: center;
  }
  
  .about-image {
    order: 2;
    margin-top: 20px;
    max-width: 100%;
  }
  
  .about-text {
    order: 1;
  }
}

/* About Page Specific Styles */
.about-content {
  width: 100%;
  max-width: 1200px;
}

.about-section {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 30px;
  margin: 30px 0;
}

.about-section.reverse {
  flex-direction: row-reverse;
}

.about-text {
  flex: 3;
}

.about-image {
  flex: 2;
  max-width: 400px;
}

/* Anpassung für das erste, zweite und letzte Bild */
.about-section:nth-child(2) .about-image,
.about-section:nth-child(4) .about-image,
.about-section:last-child .about-image {
  flex: 1;
  max-width: 300px;
}

.about-image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

@media (max-width: 768px) {
  .about-section, 
  .about-section.reverse {
    flex-direction: column;
    text-align: center;
  }
  
  .about-image {
    order: 2;
    margin-top: 20px;
    max-width: 100%;
  }
  
  .about-text {
    order: 1;
  }
  
    /* Mobile-Anpassung für das erste, zweite und letzte Bild */
    .about-section:nth-child(2) .about-image,
    .about-section:nth-child(4) .about-image,
    .about-section:last-child .about-image {
      max-width: 250px;
      margin-left: auto;
      margin-right: auto;
    }
  }

/* Fließendere Typografie - Global für alle Geräte */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-family-headline);
  font-weight: 700;
  letter-spacing: 0.5px;
  line-height: 1.2;
}

/* Spezifische Stile für h2-Überschriften in Sections (z.B. Galerie) */
.section h2:not(.footer h2):not(.about-section h2) { /* Ausnahmen für Footer und About-Section H2 */
  color: #000000; /* Schwarz */
  font-weight: 400; /* Nicht fett */
  font-size: var(--font-size-h2); /* Konsistente Größe mit Hauptüberschriften */
}

/* Stile für Hauptüberschriften der Seiten (h1 in section > container) */
.section > .container > h1 {
  color: #000000; /* Schwarz */
  font-weight: 400; /* Nicht fett */
  font-size: var(--font-size-h2); /* Gleiche Größe wie Galerie-Überschrift, kleiner als Standard H1 */
}

/* Sicherstellen, dass alle Überschriften die richtige Schriftart verwenden - Global für alle Geräte */
.section h1, .section h2, .section h3,
.contact__container h1, .contact__container h2, 
.footer h1, .footer h2,
.about-section h2, .about-section h3,
.exp-block h2, .exp-block h3,
.hero__content h1, .hero__content h2,
.offer__text h1, .offer__text h2,
.experience__item h3,
.experience-card__content h3,
.offer-card h3,
.polaroid h3,
.about-text h2, .about-text h3 {
  font-family: var(--font-family-headline) !important;
}

/* Sicherstellen, dass alle Paragraphen und Listen die richtige Schriftart verwenden */
.section p, .section li, .section a, 
.contact__container p, .contact__form label, .contact__form input, .contact__form textarea,
.footer p, .footer a,
.about-section p, .about-section li,
.exp-block p, .exp-block li,
.hero__content p,
.offer__text p, .offer__text li,
.about-text p, .about-text li,
.experience__item p,
.polaroid__caption,
.experience-card__content p,
.offer-card p,
.btn, .nav__list a {
  font-family: var(--font-family-body) !important;
}

p, li, a {
  font-family: var(--font-family-body);
  font-weight: 400;
  line-height: 1.6;
}

a, .btn {
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.about-section h2,
.exp-block h2 { /* exp-block h2 vorerst beibehalten, ggf. anpassen */
  font-size: var(--font-size-h3); /* Kleiner für Unterüberschriften */
  margin-bottom: 15px; /* Etwas weniger margin */
  color: #000000; /* Schwarz */
  font-weight: 400; /* Nicht fett */
}

.section h1 { /* Diese Regel wird von .section > .container > h1 überschrieben für Haupttitel */
  font-size: var(--font-size-h1); /* Behält große Schriftgröße für andere H1, falls vorhanden */
  margin-bottom: 20px;
  color: var(--color-primary-dark); /* Standardfarbe für andere H1 */
}
/* Footer-Erweiterung */
.footer-contact {
  padding-bottom: 30px;
}

.footer-divider {
  width: 80%;
  margin: 20px auto;
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.5);
}

.footer .about-section {
  margin: 0;
}

.footer h2 {
  color: white;
  margin-top: 0;
  font-weight: 400; /* Nicht fett für Footer-Überschriften */
  font-size: 2.2rem; /* Deutlich kleinere Schriftgröße für Footer-Überschriften */
}

.footer p {
  color: white;
}
 
.footer .about-image {
  max-width: 80px;
  flex: 1;
}

.footer .about-text {
  flex: 5;
}

@media (max-width: 768px) {
  .footer .about-image {
    max-width: 180px;
  }
  
  .footer .about-image img {
    max-height: 200px;
  }
}

@media (max-width: 768px) {
  .offer__text a.btn {
    margin: 0 auto;
    display: block;
    width: fit-content;
  }
}
@media (max-width: 768px) {
  .hero__content h1 {
    font-size: 2.8rem;
    font-weight: 400; /* Nicht fett für den Haupttitel auch in der mobilen Version */
  }
}
.header__logo, .header__logo a {
  font-family: var(--font-family-headline);
  font-size: 1.8rem;
}

@media (max-width: 768px) {
  .header__logo, .header__logo a {
    font-size: 1.5rem;
  }
}
@media (max-width: 768px) {
  .nav__list {
    width: 100%;
    height: 23%;
    max-height: 80vh;
    right: 0;
    left: auto;
    transform: translateX(100%);
    padding: 15px;
    justify-content: center;
  }
  
  .nav__list.show {
    transform: translateX(0);
  }
}
@media (max-width: 768px) {
  .nav__list {
    background: linear-gradient(135deg, 
      rgba(255, 193, 227, 0.95) 0%,   /* Rosa mit Transparenz */
      rgba(255, 105, 180, 0.9) 100%   /* Pink mit Transparenz */
    );
    backdrop-filter: blur(5px);
    color: white;
  }
  
  .nav__list a {
    color: white;
  }
  
  .nav__list a:hover, 
  .nav__list a.active {
    background-color: rgba(255, 255, 255, 0.3);
  }
}
