 <!DOCTYPE html>
<html lang="de">
<head>
  <link rel="canonical" href="https://valeriaphoto.de/">
  <link rel="icon" type="image/x-icon" href="static/images/favicon.ico">
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Valeria B. Photography</title>
  <link rel="stylesheet" href="static/styles/style.css?v=10">
<meta name="description" content="Hochzeitsfotografin in Bielefeld, NRW – emotionale und natürliche Hochzeitsfotografie. Valeria B. Photography.">
</head>
<body>

  <!-- Навигация -->
  <header>
    <div class="logo">
    <img src="static/images/logo.jpg" alt="Valeria B. Logo">
</div>

    <nav>
      <a href="/#about">Über mich</a>
      <a href="/#portfolio">Portfolio</a>
      <a href="/#anfrage">Preise & Anfrage</a>
    </nav>
  </header>

<!-- MOBILE HERO SLIDER (ТОЛЬКО ДЛЯ ТЕЛЕФОНОВ) -->
<section class="hero-mobile-only">

  <div class="hero-slide active">
    <img src="static/images/mobile-hero-1.jpg" alt="Hochzeit Bielefeld">
  </div>

  <div class="hero-slide">
    <img src="static/images/mobile-hero-2.jpg" alt="Brautpaar">
  </div>

  <div class="hero-slide">
    <img src="static/images/mobile-hero-3.jpg" alt="Hochzeitsfotografin">
  </div>

  <div class="hero-overlay"></div>

  <div class="hero-text">
    <h1>Valeria Bashkirtseva</h1>
    <p>
      Hochzeitsfotografin in Bielefeld, NRW<br>
      Emotionale, zeitlose und authentische Fotografie
    </p>
  </div>

</section>
  <!-- HERO -->
  <section id="home" class="hero">
    <div class="hero-slider">
      <div class="slide active" style="background-image: url('static/images/deko1.jpg');"></div>
      <div class="slide" style="background-image: url('static/images/deko2.jpg');"></div>
      <div class="slide" style="background-image: url('static/images/deko3.jpg');"></div>
    </div>
    <div class="hero-content">
      <h1>Valeria Bashkirtseva</h1>
    <p>
      Hochzeitsfotografin in Bielefeld, NRW<br>
      Emotionale, zeitlose und authentische Fotografie
    </p>
    </div>
  </section>

  <!-- Über mich -->
  <section id="about" class="about">
    <div class="about-container">
      <div class="about-text">
        <h2>Über mich</h2>
        <p>Hallo, ich bin <strong>Valeria</strong> – Fotografin mit Herz und Leidenschaft.  
        Ich liebe es, echte Emotionen, kleine Details und die besondere Atmosphäre jedes Moments festzuhalten.  
        Für mich ist Fotografie mehr als nur ein Bild – es ist eine Erinnerung, ein Gefühl, ein Stück Geschichte.</p>

        <p>Ich entwickle mich ständig weiter, entdecke neue Perspektiven und Techniken, um meine Arbeit lebendig und inspirierend zu gestalten.  
        Zurzeit studiere ich <strong>Fotografie und Bildmedien an der Hochschule Bielefeld</strong>, was mir ermöglicht, meine kreative Vision professionell zu vertiefen.</p>

        <p><strong>Ich spreche Deutsch, Ukrainisch und Russisch</strong> – so können wir uns ganz einfach verstehen.</p>
      </div>
      <div class="about-photo">
        <img src="static/images/valeria.jpg" alt="Valeria B.">
      </div>
    </div>
  </section>

<body>

<section class="mobile-wedding-hero">
  <img src="static/images/hochzeit2.jpg" alt="Hochzeitsfotografie Bielefeld">
  <div class="mobile-wedding-overlay">
      <h1>Hochzeitsreportage in Bielefeld</h1>
    <p>Lebendige Hochzeitsreportagen und authentische Hochteitsfotos</p>
    <a href="hochzeiten.html">Zur Hochzeitsgalerie</a>
  </div>
</section>

  <section class="hochzeiten-highlight">
    <div class="hochzeiten-image">
        <img src="static/images/hochzeit1.jpg" alt="Hochzeiten">
    </div>

    <div class="hochzeiten-text">
        <h2>Hochzeiten</h2>
        <p>Emotionen, Liebe und echte Momente – festgehalten mit natürlichem Licht und Gefühl.</p>
        <a href="hochzeiten.html" class="hochzeiten-btn">Mehr ansehen</a>
    </div>
</section>

  <!-- Portfolio -->
  <section id="portfolio" class="portfolio-section">
    <h2>Portfolio</h2>
    <div class="portfolio-container">

        <!-- Hochzeiten -->
        <div class="portfolio-item">
            <a href="/hochzeiten.html">
                <img src="static/images/wedding1.jpg" alt="Hochzeiten">
                <div class="portfolio-overlay">
                    <h3>Hochzeiten</h3>
                    <button class="portfolio-btn">Mehr ansehen</button>
                </div>
            </a>
        </div>

        <!-- Familienfotoshooting -->
        <div class="portfolio-item">
            <a href="/familien.html">
                <img src="static/images/family.jpg" alt="Familienfotoshooting">
                <div class="portfolio-overlay">
                    <h3>Familienfotoshooting</h3>
                    <button class="portfolio-btn">Mehr ansehen</button>
                </div>
            </a>
        </div>

    </div>
</section>

  <!-- Anfrage -->
  <section id="anfrage" class="anfrage">
    <h2>Preise & Anfrage</h2>
    <form id="contactForm">
      <label for="name">Name:</label>
      <input type="text" id="name" name="name" required>

    <label for="email">Ihre E-Mail-Adresse:</label>
    <input type="email" id="email" name="_replyto" placeholder="beispiel@email.de" required>

      <label for="date">Datum des Shootings:</label>
      <input type="date" id="date" name="date" required>

      <label for="type">Art des Shootings:</label>
      <input type="text" id="type" name="type" placeholder="z. B. Hochzeit, Familie, Porträt">

      <label for="message">Nachricht:</label>
      <textarea id="message" name="message" rows="4"></textarea>
 
<!-- Добавить это прямо в форму (перед кнопкой submit) -->
<div class="gdpr-consent" style="margin-top:12px;">
  <label style="font-size:0.95rem; color:#555; line-height:1.4;">
    <input type="checkbox" name="gdpr" id="gdpr" required style="margin-right:8px;">
    Ich habe die <a href="datenschutz.html" target="_blank">Datenschutzerklärung</a> gelesen und stimme der Verarbeitung meiner personenbezogenen Daten zur Bearbeitung meiner Anfrage zu.
  </label>
</div>

      <button type="submit">Anfrage senden</button>
    </form>
    <p id="successMessage" class="success-message" style="display:none;">
      Ihre Anfrage wurde gesendet. Ich melde mich innerhalb von 48 Stunden bei Ihnen.
    </p>
  </section>

<footer class="footer">
  <div class="footer-line"></div>

  <div class="footer-social">
    <a href="https://www.instagram.com/byvaleria.photo" target="_blank">Instagram</a>
  </div>

  <div class="footer-legal">
    <a href="/impressum.html">Impressum</a>
    <a href="/datenschutz.html">Datenschutz</a>
  </div>

  <div class="footer-copy">
    © 2026 Valeria B. Photography
  </div>
</footer>

  <script>
    // Слайдер
    const slides = document.querySelectorAll('.hero-slider .slide');
    let index = 0;
    setInterval(() => {
      slides[index].classList.remove('active');
      index = (index + 1) % slides.length;
      slides[index].classList.add('active');
    }, 4000);

// FORMULAR

document.getElementById("contactForm").addEventListener("submit", function(event) {
    event.preventDefault();

    // 🔒 Проверка — человек должен подтвердить Datenschutz
    const consent = document.getElementById("gdpr");
    if (!consent.checked) {
        alert("Bitte bestätigen Sie die Datenschutzerklärung, bevor Sie die Anfrage senden.");
        return; // ⛔ форма не отправляется
    }

    const formData = new FormData(this);

    fetch("https://formspree.io/f/xjkdjyvq", {
        method: "POST",
        body: formData,
        headers: { "Accept": "application/json" }
    })
    .then(response => {
        if (response.ok) {
            this.reset();
            document.getElementById("successMessage").style.display = "block";
        } else {
            alert("Ein Fehler ist aufgetreten. Bitte versuchen Sie es später erneut.");
        }
    })
    .catch(() => {
        alert("Verbindungsfehler. Bitte versuchen Sie es später erneut.");
    });
});
</script>

<script>
if (window.innerWidth <= 768) {
  const slides = document.querySelectorAll('.hero-slide');
  let current = 0;

  setInterval(() => {
    slides[current].classList.remove('active');
    current = (current + 1) % slides.length;
    slides[current].classList.add('active');
  }, 4000);
}
</script>

</body>
</html>
 /* ===== LOCAL FONTS ===== */

@font-face {
  font-family: 'Playfair Display';
  src: url('../fonts/PlayfairDisplay-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Playfair Display';
  src: url('../fonts/PlayfairDisplay-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Lora';
  src: url('../fonts/Lora-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Lora';
  src: url('../fonts/Lora-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
 /* ============================
   GLOBAL STYLES
============================ */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Lora', serif;
  color: #000;
  background-color: #fff;
  line-height: 1.5;
}

h2 {
  font-family: 'Playfair Display', serif;
  font-size: 2.2rem;
  margin-bottom: 25px;
}

a {
  text-decoration: none;
  color: inherit;
}

/* ============================
   HEADER / NAVIGATION
============================ */
header {
  width: 100%;
  padding: 15px 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo img {
  height: 40px;
  border-radius: 12px;
}

nav {
  display: flex;
  gap: 2rem;
}

nav a {
  font-size: 1.1rem;
  font-family: 'Lora', serif;
  transition: 0.3s;
}

nav a:hover {
  color: #777;
}

/* ============================
   /* HERO */
.hero {
  position: relative;
  height: 100vh;
  overflow: hidden;
  color: white;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

.hero-slider {
  position: absolute;
  inset: 0;
}

.hero-slider .slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 2s ease-in-out;
}

.hero-slider .slide.active {
  opacity: 1;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.45);
  z-index: 2;
}

.hero-content {
  position: relative;
  z-index: 3;
}

/* ============================
   ABOUT
============================ */
.about {
  padding: 80px 40px;
}

.about-container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 50px;
}

.about-text {
  flex: 1;
  font-size: 1.1rem;
}

.about-photo img {
  width: 430px;
  border-radius: 12px;
}

/* ============================
   HOCHZEITEN HIGHLIGHT
============================ */

.hochzeiten-highlight {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 50px;
    padding: 80px 40px;
}

.hochzeiten-image img {
    width: 420px;
    height: 550px;
    object-fit: cover;
    border-radius: 30px;
}

.hochzeiten-text {
    max-width: 480px;
}

.hochzeiten-text h2 {
    font-size: 36px;
    margin-bottom: 20px;
}

.hochzeiten-text p {
    font-size: 18px;
    margin-bottom: 25px;
}

.hochzeiten-btn {
    display: inline-block;
    padding: 10px 28px;
    background-color: black;
    color: white;
    border-radius: 25px;
    font-size: 16px;
    text-decoration: none;
}

/* Portfolio */
.portfolio-section {
    text-align: center;
    padding: 60px 20px;
}

.portfolio-container {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}

.portfolio-item {
    position: relative;
    width: 320px;
    height: 420px;
    border-radius: 15px;
    overflow: hidden;
}

.portfolio-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.portfolio-overlay {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 20px;
    background: linear-gradient(to top, rgba(0,0,0,0.6), rgba(0,0,0,0));
    color: white;
    text-align: center;
}

.portfolio-btn {
    margin-top: 10px;
    padding: 8px 20px;
    border: none;
    border-radius: 20px;
    background-color: white;
    color: black;
    font-size: 14px;
}

/* Anfrage */
.anfrage {
  padding: 100px 10%;
  background: #fff;
}

.anfrage h2 {
  font-family: 'Playfair Display', serif;
  text-align: center;
  margin-bottom: 40px;
}

form {
  max-width: 550px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

input, textarea {
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-family: inherit;
}

button {
  background: #111;
  color: #fff;
  border: none;
  padding: 12px;
  border-radius: 5px;
  cursor: pointer;
}

button:hover {
  background: #333;
}

.success-message {
  text-align: center;
  font-size: 0.9em;
  color: #444;
  margin-top: 25px;
}
/* ============================
   FOOTER
============================ */
.footer {
  width: 100%;
  margin-top: 120px;
  padding: 40px 0 60px;
  font-family: "Georgia", "Lora", serif;
  text-align: center;
  color: #000;
}

.footer-line {
  width: 100%;
  height: 1px;
  background: #e5e5e5;
  margin-bottom: 40px;
}

.footer-social a,
.footer-legal a {
  color: #000;
  text-decoration: none;
  margin: 0 20px;
  font-size: 1rem;
  letter-spacing: 0.5px;
  transition: opacity 0.3s ease;
}

.footer-social a:hover,
.footer-legal a:hover {
  opacity: 0.6;
}

.footer-legal {
  margin-top: 20px;
}

.footer-copy {
  margin-top: 35px;
  font-size: 0.9rem;
  color: #666;
}

/* ============================
   GALLERY (Hochzeiten & Familien)
============================ */
.gallery {
  column-count: 3;
  column-gap: 15px;
  padding: 40px;
}

.gallery img {
  width: 100%;
  margin-bottom: 15px;
  display: block;
}
/* ============================
   🌙 MOBILE ADAPTATION — FIXED
============================ */

/* планшеты */
@media (max-width: 1024px) {

  /* HERO уменьшение */
  .hero {
    height: 70vh;
  }

  /* ABOUT — переход в колонку */
  .about-container {
    flex-direction: column;
    text-align: center;
  }

  .about-photo img {
    width: 80%;
    max-width: 350px;
  }

  /* Портфолио — по 2 в ряд */
  .portfolio-container {
    justify-content: center;
    gap: 20px;
  }

  .portfolio-item {
    width: 45%;
    height: 300px;
  }

  /* Hochzeiten-block */
  .hochzeiten-highlight {
    flex-direction: column;
    text-align: center;
  }

  .hochzeiten-image img {
    width: 80%;
    max-width: 380px;
    height: auto;
  }
}

/* мобильные */
@media (max-width: 600px) {

  /* HERO уменьшение */
  .hero {
    height: 55vh;
  }

  /* ABOUT */
.about {
    padding: 40px 20px;
    background-color: #fff;
  }

  .about-text {
    font-size: 1rem;
    color: #000;
  }

  .about-photo img {
    width: 100%;
    max-width: 300px;
  }

  /* Hochzeiten-block */
  .hochzeiten-highlight {
    gap: 30px;
  }

  .hochzeiten-image img {
    width: 100%;
    height: auto;
  }

  /* Портфолио — по 2 в ряд */
  .portfolio-item {
    width: 100%;
    height: 320px;
  }

  .portfolio-btn {
    font-size: 13px;
  }

  /* Галерея на страницах Hochzeiten & Familien */
  .gallery,
  .masonry-gallery {
    column-count: 2 !important;
    padding: 0 10px;
  }

  header {
    flex-direction: column;
    gap: 10px;

  }

  nav {
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
  }
}

/* ---- Portfolio на главной: 1 ряд на телефоне ---- */
.portfolio-container {
    display: flex;
    justify-content: center;
    gap: 20px;
}

@media (max-width: 600px) {
    .portfolio-container {
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 10px;
    }

    .portfolio-item {
        min-width: 65%;
        height: 300px;
    }
}

/* ============================
   🔥 Hochzeiten / Familien — Masonry по 2 в ряд
============================ */
.masonry-gallery {
    column-count: 3;
    column-gap: 15px;
}

@media (max-width: 1100px) {
    .masonry-gallery {
        column-count: 2;
    }
}

@media (max-width: 600px) {
    .masonry-gallery {
        column-count: 2 !important;
        padding: 0 10px;
    }

    .masonry-gallery img {
        width: 100%;
        margin-bottom: 12px;
    }
}
/* ============================
   FIX — HOCHZEITEN & FAMILIEN — БЕЗ БОЛЬШИХ ОТСТУПОВ
============================ */
.masonry-gallery {
    padding: 0 !important;
    column-gap: 10px !important;
    max-width: 100% !important;
}

.masonry-gallery img {
    width: 100%;
    margin-bottom: 10px !important;
    border-radius: 0;
}

/* мобильные */
@media (max-width: 600px) {
    .masonry-gallery {
        padding: 0 !important;
        column-gap: 6px !important;
    }
    .masonry-gallery img {
        margin-bottom: 6px !important;
    }
}

/* ============================
   FIX — INDEX → HOCHZEITEN BLOCK (увеличить фото)
============================ */
.hochzeiten-image img {
    width: 100%;
    max-width: 500px;
    height: auto;
}

/* мобильные */
@media (max-width: 600px) {
    .hochzeiten-image img {
        max-width: 100%;
        width: 100%;
    }
}

/* ============================
   FIX — INDEX → PORTFOLIO (убрать боковые отступы)
============================ */
.portfolio-section {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.portfolio-container {
    gap: 15px;
}

.portfolio-item {
    width: calc(50% - 10px);
    height: 300px;
}

@media (max-width: 600px) {
    .portfolio-item {
        width: 100% !important;
        height: 300px;
    }
}
/* ===== FIX — Portfolio: 2 карточки в ряд без скролла ===== */

.portfolio-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.portfolio-container {
    width: 100%;
    padding: 0 10px; /* маленький отступ, чтобы не липло к краям */
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.portfolio-item {
    width: calc(50% - 8px); /* идеально влезает в 100% */
    margin-bottom: 20px;
    height: 330px;
}

/* на очень маленьких экранах — 1 колонка */
@media (max-width: 430px) {
    .portfolio-item {
        width: 100%;
    }
}
/* =============================
   DESKTOP FIX — вернуть нормальный вид
   для ширины ≥ 900px
============================= */
@media (min-width: 900px) {

  .portfolio-section {
    padding: 80px 40px;
  }

  .portfolio-container {
    max-width: 1100px;
    margin: 0 auto;              /* центрируем */
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: nowrap;           /* карточки НЕ переносятся */
  }

  .portfolio-item {
    width: 360px !important;     /* восстановить прежний размер */
    height: 460px !important;
    border-radius: 18px;
  }

  .portfolio-item img {
    object-fit: cover;
  }
}
/* ============================
   MAGAZINE SEO BLOCK
============================ */

.seo-magazine {
  padding: 90px 20px 60px;
  background: #fff;
}

.seo-inner {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

.seo-magazine h2 {
  font-family: "Georgia", serif;
  font-size: 2.4rem;
  letter-spacing: 0.5px;
  margin-bottom: 18px;
}

.seo-intro {
  font-size: 1.05rem;
  font-style: italic;
  color: #555;
  margin-bottom: 25px;
}

.seo-magazine p {
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: 18px;
  color: #222;
}

.seo-location {
  margin-top: 30px;
  font-size: 0.85rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #777;
}
/* Mobile – компактно */
@media (max-width: 600px) {
  .seo-magazine {
    padding: 60px 15px 40px;
  }

  .seo-magazine h2 {
    font-size: 1.9rem;
  }
}
/* ============================
   MOBILE TYPOGRAPHY – MAGAZINE STYLE
============================ */
@media (max-width: 600px) {

  /* Заголовок страницы */
  .seo-magazine h1,
  .seo-magazine h2 {
    font-size: 2rem;          /* было слишком крупно */
    line-height: 1.15;
    letter-spacing: 0.02em;  /* журнал */
    margin-bottom: 18px;
  }

  /* Основной SEO-текст */
  .seo-magazine p {
    font-size: 0.95rem;      /* меньше и элегантнее */
    line-height: 1.65;       /* воздух */
    letter-spacing: 0.01em;
    margin-bottom: 18px;
  }

  /* Контейнер – уже и аккуратнее */
  .seo-inner {
    max-width: 520px;
    padding: 0 18px;
  }
}
/* =========================
   MOBILE ONLY – TYPOGRAPHY FIX
========================= */
@media screen and (max-width: 768px) {

  h1 {
    font-size: 1.9rem !important;
    line-height: 1.15 !important;
    letter-spacing: 0.02em;
  }

  h2 {
    font-size: 1.6rem !important;
    line-height: 1.2 !important;
    letter-spacing: 0.02em;
  }

  p {
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
    letter-spacing: 0.01em;
  }

  section,
  .container,
  .content {
    padding-left: 18px;
    padding-right: 18px;
  }
}
/* ============================= */
/* MOBILE HERO SLIDER ONLY */
/* ============================= */

.hero-mobile-only {
  display: none;
}

@media (max-width: 768px) {

  .hero-mobile-only {
    display: block;
    position: relative;
    height: 100vh;
    overflow: hidden;
  }

  .hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
  }

  .hero-slide.active {
    opacity: 1;
  }

  .hero-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 2;
  }

  .hero-text {
    position: relative;
    z-index: 3;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #ffffff;
    padding: 0 20px;
  }

  .hero-text h1 {
    font-family: "Playfair Display", serif;
    font-size: 2.2rem;
    margin-bottom: 12px;
  }

  .hero-text p {
    font-size: 1.05rem;
    line-height: 1.4;
  }

  header {
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 10;
  }
}
/* УБИРАЕМ ДЕСКТОПНЫЙ HERO НА МОБИЛЬНЫХ */
@media (max-width: 768px) {
  .hero {
    display: none !important;
  }
}
/* БЕЛАЯ ШАПКА НА МОБИЛЬНЫХ */
@media (max-width: 768px) {

  header {
    background: #ffffff;
    padding: 12px 20px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 20;
    border-bottom: 1px solid rgba(0,0,0,0.08);
  }

  header nav a {
    color: #000000 !important;
  }

  header img {
    filter: none;
  }

  /* чтобы слайдер не прятался под меню */
  .hero-mobile-only {
    margin-top: 80px;
    height: calc(100vh - 80px);
  }
}
.mobile-wedding-hero {
  display: none;
}

/* MOBILE ONLY */
@media (max-width: 768px) {

  .mobile-wedding-hero {
    display: block;
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
  }

  .mobile-wedding-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .mobile-wedding-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.35);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 20px;
    color: #fff;
  }

  .mobile-wedding-overlay h1 {
    font-family: "Playfair Display", serif;
    font-size: 2rem;
    margin-bottom: 12px;
  }

  .mobile-wedding-overlay p {
    font-size: 1rem;
    margin-bottom: 22px;
  }

  .mobile-wedding-overlay a {
    background: #fff;
    color: #000;
    padding: 12px 28px;
    border-radius: 30px;
    text-decoration: none;
    font-size: 14px;
  }

  /* HIDE DESKTOP BLOCKS */
  .hero,
  .hochzeiten-highlight {
    display: none !important;
  }
}
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  background: #fff;
  overflow-x: hidden;
}
@media (max-width: 768px) {

  .mobile-wedding-hero {
    width: 100vw;
    height: 100svh; /* важно для iOS */
    margin: 0;
    padding: 0;
    overflow: hidden;
    position: relative;
    background: #000;
  }

  .mobile-wedding-hero img {
    width: 100vw;
    height: 100%;
    object-fit: cover;
    display: block;
  }
}
@media (max-width: 768px) {
  header {
    width: 100vw;
    margin: 0;
    padding: 12px 16px; /* вместо 40px */
    box-sizing: border-box;
  }
}
/* ===== МЕНЮ ТОЛЬКО ДЛЯ МОБИЛЬНЫХ ===== */
@media (max-width: 768px) {

  .inner-page header {
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    position: sticky;
    top: 0;
    z-index: 999;
  }

  .inner-page header a {
    color: #000;
  }

  .inner-page header a:hover {
    opacity: 0.6;
  }

}
@media (max-width: 768px) {

  .gallery,
  .portfolio-grid {
    margin-top: 20px;
  }

}
/* ===============================
   MOBILE EDITORIAL HEADER
================================ */
@media (max-width: 768px) {

  /* Отступ под меню */
  main {
    padding-top: 20px;
  }

  /* Заголовок как обложка */
  .hochzeiten-header,
  .familien-header {
    padding: 40px 20px 10px;
    background: white;
    position: relative;
    z-index: 2;
  }
  .hochzeiten-header h1,
  .familien-header h1 {
    font-size: 2.3rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    margin-bottom: 14px;
  }

  /* Подзаголовок */
  .hochzeiten-header p,
  .familien-header p {
    font-size: 0.95rem;
    line-height: 1.65;
    color: rgba(0,0,0,0.75);
    max-width: 95%;
    margin: 0 auto;
  }
}
@media (max-width: 768px) {

  .gallery,
  .portfolio-grid {
    margin-top: 20px;
  }

}
@media (max-width: 768px) {

  .hochzeiten-header,
  .familien-header {
    animation: fadeUp 0.8s ease forwards;
  }

  @keyframes fadeUp {
    from {
      opacity: 0;
      transform: translateY(12px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}
@media (max-width: 768px) {

  h1::after, 
  h2.page-title::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    background: rgba(0,0,0,0.3);
    margin: 16px auto 0;
  }
}
/* ===============================
   MOBILE CALL TO ACTION
================================ */
.mobile-cta {
  display: none;
}

@media (max-width: 768px) {

  .mobile-cta {
    display: block;
    text-align: center;
    padding: 60px 20px 70px;
    background: #fff;
  }

  .mobile-cta p {
    font-size: 1.1rem;
    margin-bottom: 22px;
    font-family: "Playfair Display", serif;
  }

  .cta-button {
    display: inline-block;
    padding: 14px 34px;
    background: #000;
    color: #fff;
    text-decoration: none;
    border-radius: 50px;
    font-size: 0.95rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .cta-button:hover {
    opacity: 0.9;
  }
}
/* ===============================
   HEADLINES – HOCHZEITEN & FAMILIEN
================================ */

/* Главные заголовки страниц */
h1, 
.page-title {
  font-family: "Playfair Display", serif;
  font-weight: 500;
  letter-spacing: 0.02em;
}

/* Подзаголовки */
h2 {
  font-family: "Playfair Display", serif;
  font-weight: 500;
  letter-spacing: 0.02em;
}

/* ТОЛЬКО ДЛЯ МОБИЛЬНЫХ */
@media (max-width: 768px) {

  h1 {
    font-size: 2.1rem;
    line-height: 1.25;
    margin-bottom: 20px;
  }

  h2 {
    font-size: 1.6rem;
    line-height: 1.3;
    margin-bottom: 18px;
  }

} 