<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Kamera on SMotographers</title>
    <link>https://smotographers.com/de/tags/kamera/</link>
    <description>Recent content in Kamera on SMotographers</description>
    <generator>Hugo</generator>
    <language>de-ch</language>
    <lastBuildDate>Thu, 16 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://smotographers.com/de/tags/kamera/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>DJI bringt Imaging-Funktionen der nächsten Generation mit der OSMO Pocket 4</title>
      <link>https://smotographers.com/de/blog/08-news/dji-osmo-pocket-4-news/</link>
      <pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://smotographers.com/de/blog/08-news/dji-osmo-pocket-4-news/</guid>
      <description>&lt;p&gt;DJI stellt heute die OSMO Pocket 4 vor und erweitert damit die Imaging-Funktionen seiner beliebten Gimbal-Kompaktkamera um eine neue Generation. Aufbauend auf dem weltweiten Erfolg des Vorgängers setzt das neue Modell auf einen 1-Zoll-CMOS-Sensor, der nicht nur beeindruckende 4K/240fps[1]-Aufnahmen ermöglicht, sondern auch bei wenig Licht klarere Ergebnisse liefert. Ergänzt wird das durch einen Dynamikumfang von 14 Blendenstufen[1] sowie 10-Bit D-Log[1] für eine besonders kinoreife Bildtiefe. Mit den neuen intelligenten Tracking-Funktionen behalten Kreative ihre Motive auch in Bewegung und in dichtem Umfeld zuverlässig im Bild.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Winterfotografie: Die häufigsten Probleme – und wie du sie löst</title>
      <link>https://smotographers.com/de/blog/04-education/how2-winterphotography/</link>
      <pubDate>Tue, 13 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://smotographers.com/de/blog/04-education/how2-winterphotography/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Der Winter bietet einige der schönsten Motive des ganzen Jahres: Schneebedeckte Landschaften, magisches Licht und eine ganz besondere Atmosphäre. Doch genau diese Bedingungen stellen dich und deine Kamera vor Herausforderungen, die im Sommer kaum eine Rolle spielen. In diesem Guide zeige ich dir die häufigsten Probleme in der Winterfotografie und erkläre dir, wie du sie in der Praxis löst, damit deine Bilder scharf, korrekt belichtet und technisch einwandfrei werden.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sony A1 II Wildlife Test (2026): 6 Monate AF, Serienbilder &amp; Dynamikumfang</title>
      <link>https://smotographers.com/de/blog/03-experience-report/sony-a1ii-wildlife/</link>
      <pubDate>Sun, 11 Jan 2026 05:00:00 +0000</pubDate>
      <guid>https://smotographers.com/de/blog/03-experience-report/sony-a1ii-wildlife/</guid>
      <description>&lt;p&gt;Dies ist &lt;strong&gt;Teil 1&lt;/strong&gt; der Serie, in der ich meine Erfahrungen in unterschiedlichen Genres mit der &lt;strong&gt;Sony A1 II&lt;/strong&gt; teile.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kamera Sensor selbst reinigen: Anleitung &#43; beste Methoden 2026</title>
      <link>https://smotographers.com/de/blog/04-education/sensor-cleaning/</link>
      <pubDate>Sat, 11 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://smotographers.com/de/blog/04-education/sensor-cleaning/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Die Sensorreinigung ist eine Aufgabe, mit der sich jeder Fotograf auseinandersetzen muss, egal ob Hobbyist oder Profi. Der Begriff Sensorreinigung löst vor dem ersten Mal bei vielen Angstzustände aus, weil der Sensor das Herzstück der Kamera ist und sehr empfindlich wirkt. Warum du aber trotzdem keine Angst vor diesem Prozess haben solltest, erkläre ich dir in diesem Artikel.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sony ZV-E10 II Fotografie-Test: Praxistest in London</title>
      <link>https://smotographers.com/de/blog/03-experience-report/sony-zv-e10ii-london/</link>
      <pubDate>Mon, 25 Aug 2025 16:00:00 +0000</pubDate>
      <guid>https://smotographers.com/de/blog/03-experience-report/sony-zv-e10ii-london/</guid>
      <description>&lt;p&gt;Die ZV-E10 II, Sonys neuste Antwort auf die Frage wie eine Vlogging-Kamera aussehen soll. Neueste Autofokus-Systeme, 26 Megapixel, 4k mit 4:2:2 10bit Videoaufnahme. Ohne Frage ist die Kamera ein perfektes, erschwingliches Tool für Vlogging, doch taugt sie auch für Fotografie?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sony RX1R III: Sony&#39;s neuste Premium-Kompaktkamera vorgestellt!</title>
      <link>https://smotographers.com/de/blog/08-news/sony-rx1r-iii/</link>
      <pubDate>Fri, 18 Jul 2025 05:00:00 +0000</pubDate>
      <guid>https://smotographers.com/de/blog/08-news/sony-rx1r-iii/</guid>
      <description>&lt;p&gt;Die Sony RX1R III vereint einen 61-Megapixel-Vollformatsensor mit einem präzise abgestimmten ZEISS 35-mm-F2-Objektiv in einem eleganten, stilvollen Gehäuse – kompakt genug, um Sie überallhin zu begleiten. Dank schnellem, KI-gestütztem Autofokus, kinoreifen Videoaufnahmen und integrierten kreativen Tools können Sie sich ganz auf das Wesentliche konzentrieren: den Moment. Kein Objektivwechsel, kein Zögern – nur intuitives Fotografieren und beeindruckende Details in jedem Bild.&#xA;&#xA;&lt;div id=&#34;gallery-carousel-1780344317174126681&#34; class=&#34;simple-carousel&#34; style=&#34;width: 100%; margin: 10px auto; position: relative; overflow: hidden; height: auto;&#34;&gt;&#xA;  &lt;div class=&#34;carousel-container&#34; style=&#34;position: relative; display: flex; align-items: center; justify-content: center; height: auto;&#34;&gt;&#xA;    &lt;div class=&#34;carousel-slides&#34; style=&#34;display: flex; transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), height 0.3s ease; align-items: center; width: 100%; height: auto;&#34;&gt;&#xA;      &#xA;      &#xA;      &#xA;      &#xA;        &#xA;        &#xA;          &#xA;            &#xA;            &#xA;            &#xA;              &#xA;            &#xA;          &#xA;        &#xA;          &#xA;            &#xA;            &#xA;            &#xA;              &#xA;            &#xA;          &#xA;        &#xA;          &#xA;            &#xA;            &#xA;            &#xA;              &#xA;            &#xA;          &#xA;        &#xA;          &#xA;            &#xA;            &#xA;            &#xA;              &#xA;            &#xA;          &#xA;        &#xA;          &#xA;            &#xA;            &#xA;            &#xA;              &#xA;            &#xA;          &#xA;        &#xA;        &#xA;        &#xA;        &#xA;          &#xA;          &lt;div class=&#34;carousel-slide&#34; style=&#34;&#xA;            flex: 0 0 60%; &#xA;            height: auto; &#xA;            display: flex; &#xA;            align-items: center; &#xA;            justify-content: center; &#xA;            background: transparent;&#xA;            transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);&#xA;            transform-origin: center;&#xA;          &#34; data-slide=&#34;clone-last&#34;&gt;&#xA;            &lt;img src=&#34;https://smotographers.com/images/news/rx1iii/img/A180423_4.jpg%20Kopie.jpg&#34; alt=&#34;Last image clone&#34; style=&#34;&#xA;              max-width: 100%; &#xA;              max-height: 65vh; &#xA;              width: auto; &#xA;              height: auto;&#xA;              object-fit: contain;&#xA;              border-radius: 8px;&#xA;              transition: all 0.3s ease;&#xA;              cursor: pointer;&#xA;            &#34; onclick=&#34;window[&#39;openLightbox_gallery-carousel-1780344317174126681&#39;](&#39;\/images\/news\/rx1iii\/img\/A180423_4.jpg%20Kopie.jpg&#39;,  4 )&#34;&gt;&#xA;          &lt;/div&gt;&#xA;        &#xA;        &#xA;        &#xA;        &#xA;          &lt;div class=&#34;carousel-slide&#34; style=&#34;&#xA;            flex: 0 0 60%; &#xA;            height: auto; &#xA;            display: flex; &#xA;            align-items: center; &#xA;            justify-content: center; &#xA;            background: transparent;&#xA;            transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);&#xA;            transform-origin: center;&#xA;          &#34; data-slide=&#34;0&#34;&gt;&#xA;            &lt;img src=&#34;https://smotographers.com/images/news/rx1iii/img/A180423_0.jpg%20Kopie.jpg&#34; alt=&#34;Image 0&#34; style=&#34;&#xA;              max-width: 100%; &#xA;              max-height: 65vh; &#xA;              width: auto; &#xA;              height: auto;&#xA;              object-fit: contain;&#xA;              border-radius: 8px;&#xA;              transition: all 0.3s ease;&#xA;              cursor: pointer;&#xA;            &#34; onclick=&#34;window[&#39;openLightbox_gallery-carousel-1780344317174126681&#39;](&#39;\/images\/news\/rx1iii\/img\/A180423_0.jpg%20Kopie.jpg&#39;,  0 )&#34;&gt;&#xA;          &lt;/div&gt;&#xA;        &#xA;          &lt;div class=&#34;carousel-slide&#34; style=&#34;&#xA;            flex: 0 0 60%; &#xA;            height: auto; &#xA;            display: flex; &#xA;            align-items: center; &#xA;            justify-content: center; &#xA;            background: transparent;&#xA;            transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);&#xA;            transform-origin: center;&#xA;          &#34; data-slide=&#34;1&#34;&gt;&#xA;            &lt;img src=&#34;https://smotographers.com/images/news/rx1iii/img/A180423_0_1.jpg%20Kopie.jpg&#34; alt=&#34;Image 1&#34; style=&#34;&#xA;              max-width: 100%; &#xA;              max-height: 65vh; &#xA;              width: auto; &#xA;              height: auto;&#xA;              object-fit: contain;&#xA;              border-radius: 8px;&#xA;              transition: all 0.3s ease;&#xA;              cursor: pointer;&#xA;            &#34; onclick=&#34;window[&#39;openLightbox_gallery-carousel-1780344317174126681&#39;](&#39;\/images\/news\/rx1iii\/img\/A180423_0_1.jpg%20Kopie.jpg&#39;,  1 )&#34;&gt;&#xA;          &lt;/div&gt;&#xA;        &#xA;          &lt;div class=&#34;carousel-slide&#34; style=&#34;&#xA;            flex: 0 0 60%; &#xA;            height: auto; &#xA;            display: flex; &#xA;            align-items: center; &#xA;            justify-content: center; &#xA;            background: transparent;&#xA;            transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);&#xA;            transform-origin: center;&#xA;          &#34; data-slide=&#34;2&#34;&gt;&#xA;            &lt;img src=&#34;https://smotographers.com/images/news/rx1iii/img/A180423_2.jpg%20Kopie.jpg&#34; alt=&#34;Image 2&#34; style=&#34;&#xA;              max-width: 100%; &#xA;              max-height: 65vh; &#xA;              width: auto; &#xA;              height: auto;&#xA;              object-fit: contain;&#xA;              border-radius: 8px;&#xA;              transition: all 0.3s ease;&#xA;              cursor: pointer;&#xA;            &#34; onclick=&#34;window[&#39;openLightbox_gallery-carousel-1780344317174126681&#39;](&#39;\/images\/news\/rx1iii\/img\/A180423_2.jpg%20Kopie.jpg&#39;,  2 )&#34;&gt;&#xA;          &lt;/div&gt;&#xA;        &#xA;          &lt;div class=&#34;carousel-slide&#34; style=&#34;&#xA;            flex: 0 0 60%; &#xA;            height: auto; &#xA;            display: flex; &#xA;            align-items: center; &#xA;            justify-content: center; &#xA;            background: transparent;&#xA;            transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);&#xA;            transform-origin: center;&#xA;          &#34; data-slide=&#34;3&#34;&gt;&#xA;            &lt;img src=&#34;https://smotographers.com/images/news/rx1iii/img/A180423_3.jpg%20Kopie.jpg&#34; alt=&#34;Image 3&#34; style=&#34;&#xA;              max-width: 100%; &#xA;              max-height: 65vh; &#xA;              width: auto; &#xA;              height: auto;&#xA;              object-fit: contain;&#xA;              border-radius: 8px;&#xA;              transition: all 0.3s ease;&#xA;              cursor: pointer;&#xA;            &#34; onclick=&#34;window[&#39;openLightbox_gallery-carousel-1780344317174126681&#39;](&#39;\/images\/news\/rx1iii\/img\/A180423_3.jpg%20Kopie.jpg&#39;,  3 )&#34;&gt;&#xA;          &lt;/div&gt;&#xA;        &#xA;          &lt;div class=&#34;carousel-slide&#34; style=&#34;&#xA;            flex: 0 0 60%; &#xA;            height: auto; &#xA;            display: flex; &#xA;            align-items: center; &#xA;            justify-content: center; &#xA;            background: transparent;&#xA;            transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);&#xA;            transform-origin: center;&#xA;          &#34; data-slide=&#34;4&#34;&gt;&#xA;            &lt;img src=&#34;https://smotographers.com/images/news/rx1iii/img/A180423_4.jpg%20Kopie.jpg&#34; alt=&#34;Image 4&#34; style=&#34;&#xA;              max-width: 100%; &#xA;              max-height: 65vh; &#xA;              width: auto; &#xA;              height: auto;&#xA;              object-fit: contain;&#xA;              border-radius: 8px;&#xA;              transition: all 0.3s ease;&#xA;              cursor: pointer;&#xA;            &#34; onclick=&#34;window[&#39;openLightbox_gallery-carousel-1780344317174126681&#39;](&#39;\/images\/news\/rx1iii\/img\/A180423_4.jpg%20Kopie.jpg&#39;,  4 )&#34;&gt;&#xA;          &lt;/div&gt;&#xA;        &#xA;        &#xA;        &#xA;        &#xA;          &#xA;          &lt;div class=&#34;carousel-slide&#34; style=&#34;&#xA;            flex: 0 0 60%; &#xA;            height: auto; &#xA;            display: flex; &#xA;            align-items: center; &#xA;            justify-content: center; &#xA;            background: transparent;&#xA;            transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);&#xA;            transform-origin: center;&#xA;          &#34; data-slide=&#34;clone-first&#34;&gt;&#xA;            &lt;img src=&#34;https://smotographers.com/images/news/rx1iii/img/A180423_0.jpg%20Kopie.jpg&#34; alt=&#34;First image clone&#34; style=&#34;&#xA;              max-width: 100%; &#xA;              max-height: 65vh; &#xA;              width: auto; &#xA;              height: auto;&#xA;              object-fit: contain;&#xA;              border-radius: 8px;&#xA;              transition: all 0.3s ease;&#xA;              cursor: pointer;&#xA;            &#34; onclick=&#34;window[&#39;openLightbox_gallery-carousel-1780344317174126681&#39;](&#39;\/images\/news\/rx1iii\/img\/A180423_0.jpg%20Kopie.jpg&#39;, 0)&#34;&gt;&#xA;          &lt;/div&gt;&#xA;        &#xA;      &#xA;    &lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;  &#xA;    &#xA;  &lt;button class=&#34;carousel-nav prev&#34; onclick=&#34;window[&#39;moveSlide_gallery-carousel-1780344317174126681&#39;](-1)&#34; aria-label=&#34;Vorheriges Bild&#34;&gt;&#xA;    &lt;span class=&#34;nav-arrow&#34;&gt;‹&lt;/span&gt;&#xA;  &lt;/button&gt;&#xA;  &lt;button class=&#34;carousel-nav next&#34; onclick=&#34;window[&#39;moveSlide_gallery-carousel-1780344317174126681&#39;](1)&#34; aria-label=&#34;Nächstes Bild&#34;&gt;&#xA;    &lt;span class=&#34;nav-arrow&#34;&gt;›&lt;/span&gt;&#xA;  &lt;/button&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&lt;div id=&#34;lightbox-gallery-carousel-1780344317174126681&#34; class=&#34;lightbox&#34; onclick=&#34;window[&#39;closeLightbox_gallery-carousel-1780344317174126681&#39;]()&#34;&gt;&#xA;  &lt;span class=&#34;lightbox-close&#34; onclick=&#34;event.stopPropagation(); window[&#39;closeLightbox_gallery-carousel-1780344317174126681&#39;]()&#34;&gt;&amp;times;&lt;/span&gt;&#xA;  &lt;button class=&#34;lightbox-nav lightbox-prev&#34; onclick=&#34;event.stopPropagation(); window[&#39;navigateLightbox_gallery-carousel-1780344317174126681&#39;](-1)&#34; aria-label=&#34;Vorheriges Bild&#34;&gt;‹&lt;/button&gt;&#xA;  &lt;button class=&#34;lightbox-nav lightbox-next&#34; onclick=&#34;event.stopPropagation(); window[&#39;navigateLightbox_gallery-carousel-1780344317174126681&#39;](1)&#34; aria-label=&#34;Nächstes Bild&#34;&gt;›&lt;/button&gt;&#xA;  &lt;img class=&#34;lightbox-content&#34; id=&#34;lightbox-img-gallery-carousel-1780344317174126681&#34; onclick=&#34;event.stopPropagation()&#34;&gt;&#xA;  &lt;div class=&#34;lightbox-counter&#34; id=&#34;lightbox-counter-gallery-carousel-1780344317174126681&#34; onclick=&#34;event.stopPropagation()&#34;&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;style&gt;&#xA; &#xA;.carousel-nav {&#xA;  position: absolute;&#xA;   &#xA;  top: 200px;&#xA;  transform: none;&#xA;  width: 50px;&#xA;  height: 50px;&#xA;  border: none;&#xA;  background: rgba(0, 0, 0, 0.3);&#xA;  backdrop-filter: blur(10px);&#xA;  border-radius: 50%;&#xA;  cursor: pointer;&#xA;  display: flex;&#xA;  align-items: center;&#xA;  justify-content: center;&#xA;  z-index: 10;&#xA;  transition: all 0.3s ease;&#xA;  font-size: 18px;&#xA;  color: white;&#xA;}&#xA;&#xA;.carousel-nav:hover {&#xA;  background: rgba(0, 0, 0, 0.6);&#xA;  transform: scale(1.1);&#xA;}&#xA;&#xA;.carousel-nav.prev {&#xA;  left: 20px;&#xA;}&#xA;&#xA;.carousel-nav.next {&#xA;  right: 20px;&#xA;}&#xA;&#xA;.nav-arrow {&#xA;  font-size: 18px;&#xA;  font-weight: bold;&#xA;  line-height: 1;&#xA;}&#xA;&#xA; &#xA;@media (max-width: 768px) {&#xA;  .carousel-nav {&#xA;    top: 70px;&#xA;    width: 44px;&#xA;    height: 44px;&#xA;  }&#xA;}&#xA;&#xA; &#xA;.simple-carousel img {&#xA;  max-height: 60vh;&#xA;  object-fit: contain;&#xA;  transition: all 0.3s ease;&#xA;}&#xA;&#xA; &#xA;.simple-carousel:first-of-type {&#xA;  margin-top: 0 !important;&#xA;}&#xA;&#xA; &#xA;.lightbox {&#xA;  display: none;&#xA;  position: fixed;&#xA;  z-index: 1000;&#xA;  left: 0;&#xA;  top: 0;&#xA;  width: 100%;&#xA;  height: 100%;&#xA;  background-color: rgba(0, 0, 0, 0.9);&#xA;  animation: fadeIn 0.3s ease;&#xA;}&#xA;&#xA;.lightbox-content {&#xA;  position: absolute;&#xA;  top: 50%;&#xA;  left: 50%;&#xA;  transform: translate(-50%, -50%);&#xA;  max-width: 95%;&#xA;  max-height: 95%;&#xA;  object-fit: contain;&#xA;  transition: opacity 0.3s ease, transform 0.3s ease;&#xA;  border-radius: 8px;&#xA;  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);&#xA;}&#xA;&#xA;.lightbox-close {&#xA;  position: absolute;&#xA;  top: 20px;&#xA;  right: 30px;&#xA;  color: white;&#xA;  font-size: 40px;&#xA;  font-weight: bold;&#xA;  cursor: pointer;&#xA;  z-index: 1001;&#xA;  transition: color 0.3s ease;&#xA;}&#xA;&#xA;.lightbox-close:hover {&#xA;  color: #ccc;&#xA;}&#xA;&#xA;@keyframes fadeIn {&#xA;  from { opacity: 0; }&#xA;  to { opacity: 1; }&#xA;}&#xA;&#xA; &#xA;.lightbox-nav {&#xA;  position: absolute;&#xA;  top: 50%;&#xA;  transform: translateY(-50%);&#xA;  background: rgba(0, 0, 0, 0.5);&#xA;  color: white;&#xA;  border: none;&#xA;  font-size: 30px;&#xA;  width: 60px;&#xA;  height: 60px;&#xA;  cursor: pointer;&#xA;  border-radius: 50%;&#xA;  transition: all 0.3s ease;&#xA;  z-index: 1001;&#xA;  display: flex;&#xA;  align-items: center;&#xA;  justify-content: center;&#xA;}&#xA;&#xA;.lightbox-nav:hover {&#xA;  background: rgba(0, 0, 0, 0.8);&#xA;  transform: translateY(-50%) scale(1.1);&#xA;}&#xA;&#xA;.lightbox-prev {&#xA;  left: 30px;&#xA;}&#xA;&#xA;.lightbox-next {&#xA;  right: 30px;&#xA;}&#xA;&#xA; &#xA;.lightbox-counter {&#xA;  position: absolute;&#xA;  bottom: 30px;&#xA;  left: 50%;&#xA;  transform: translateX(-50%);&#xA;  color: white;&#xA;  font-size: 16px;&#xA;  background: rgba(0, 0, 0, 0.5);&#xA;  padding: 10px 20px;&#xA;  border-radius: 20px;&#xA;  z-index: 1001;&#xA;}&#xA;&lt;/style&gt;&#xA;&#xA;&lt;script&gt;&#xA;&#xA;(function() {&#xA;  const carouselId = &#39;gallery-carousel-1780344317174126681&#39;;&#xA;  let lightboxImages = [];&#xA;  let currentLightboxIndex = 0;&#xA;  &#xA;  &#xA;  if (!window.carouselStates) {&#xA;    window.carouselStates = {};&#xA;  }&#xA;&#xA;  function adjustCarouselHeight() {&#xA;    const carousel = document.getElementById(carouselId);&#xA;    if (!carousel) return;&#xA;&#xA;    const carouselContainer = carousel.querySelector(&#39;.carousel-container&#39;);&#xA;    const slidesContainer = carousel.querySelector(&#39;.carousel-slides&#39;);&#xA;    &#xA;    if (!window.carouselStates[carouselId]) return;&#xA;    &#xA;    const currentSlide = carousel.querySelector(`.carousel-slide[data-slide=&#39;${window.carouselStates[carouselId].currentSlide}&#39;] img`);&#xA;&#xA;    if (currentSlide &amp;&amp; carouselContainer) {&#xA;      const updateHeight = () =&gt; {&#xA;        &#xA;        setTimeout(() =&gt; {&#xA;          const imgHeight = currentSlide.offsetHeight;&#xA;          if (imgHeight &gt; 0) {&#xA;            &#xA;            const padding = 20; &#xA;            const finalHeight = imgHeight + padding;&#xA;            &#xA;            carousel.style.height = `${finalHeight}px`;&#xA;            carouselContainer.style.height = `${finalHeight}px`;&#xA;            slidesContainer.style.height = `${finalHeight}px`;&#xA;            &#xA;            &#xA;            carouselContainer.style.paddingTop = &#39;10px&#39;;&#xA;            carouselContainer.style.paddingBottom = &#39;10px&#39;;&#xA;            &#xA;            console.log(&#39;Adjusted height to:&#39;, finalHeight, &#39;original img height:&#39;, imgHeight);&#xA;          }&#xA;        }, 50);&#xA;      };&#xA;&#xA;      if (currentSlide.complete &amp;&amp; currentSlide.offsetHeight &gt; 0) {&#xA;        updateHeight();&#xA;      } else {&#xA;        currentSlide.onload = updateHeight;&#xA;        &#xA;        setTimeout(updateHeight, 100);&#xA;      }&#xA;    }&#xA;  }&#xA;&#xA;  function preAdjustHeight(targetSlideIndex) {&#xA;    const carousel = document.getElementById(carouselId);&#xA;    if (!carousel) return;&#xA;&#xA;    const carouselContainer = carousel.querySelector(&#39;.carousel-container&#39;);&#xA;    const slidesContainer = carousel.querySelector(&#39;.carousel-slides&#39;);&#xA;    &#xA;    const targetSlide = carousel.querySelector(`.carousel-slide[data-slide=&#39;${targetSlideIndex}&#39;] img`);&#xA;&#xA;    if (targetSlide &amp;&amp; carouselContainer) {&#xA;      &#xA;      const allSlides = carousel.querySelectorAll(&#39;.carousel-slide&#39;);&#xA;      allSlides.forEach(slide =&gt; {&#xA;        slide.style.transform = &#39;scale(1)&#39;;&#xA;      });&#xA;      &#xA;      &#xA;      targetSlide.offsetHeight;&#xA;      &#xA;      const imgHeight = targetSlide.offsetHeight;&#xA;      if (imgHeight &gt; 0) {&#xA;        const padding = 20;&#xA;        const finalHeight = imgHeight + padding;&#xA;        &#xA;        carousel.style.height = `${finalHeight}px`;&#xA;        carouselContainer.style.height = `${finalHeight}px`;&#xA;        slidesContainer.style.height = `${finalHeight}px`;&#xA;        &#xA;        carouselContainer.style.paddingTop = &#39;10px&#39;;&#xA;        carouselContainer.style.paddingBottom = &#39;10px&#39;;&#xA;        &#xA;        console.log(&#39;Pre-adjusted height to:&#39;, finalHeight, &#39;for slide:&#39;, targetSlideIndex);&#xA;      }&#xA;      &#xA;      &#xA;      setTimeout(() =&gt; {&#xA;        applySlideScaling();&#xA;      }, 50);&#xA;    }&#xA;  }&#xA;&#xA;  function applySlideScaling() {&#xA;    const carousel = document.getElementById(carouselId);&#xA;    if (!carousel || !window.carouselStates[carouselId]) return;&#xA;    &#xA;    const allSlides = carousel.querySelectorAll(&#39;.carousel-slide&#39;);&#xA;    const actualPosition = window.carouselStates[carouselId].currentSlide + 1;&#xA;    &#xA;    allSlides.forEach((slide, index) =&gt; {&#xA;      const slidePosition = index - actualPosition;&#xA;      const isVertical = slide.getAttribute(&#39;data-orientation&#39;) === &#39;vertical&#39;;&#xA;      let scale = 1;&#xA;      let opacity = 1;&#xA;      let zIndex = 1;&#xA;      &#xA;      if (slidePosition === 0) {&#xA;        scale = 1.0;&#xA;        opacity = 1;&#xA;        zIndex = 3;&#xA;      } else if (slidePosition === -1 || slidePosition === 1) {&#xA;        scale = isVertical ? 0.6 : 0.75;&#xA;        opacity = 0.7;&#xA;        zIndex = 2;&#xA;      } else {&#xA;        scale = isVertical ? 0.4 : 0.5;&#xA;        opacity = 0.3;&#xA;        zIndex = 1;&#xA;      }&#xA;      &#xA;      slide.style.transform = `scale(${scale})`;&#xA;      slide.style.opacity = opacity;&#xA;      slide.style.zIndex = zIndex;&#xA;    });&#xA;  }&#xA;&#xA;  function moveSlide(direction) {&#xA;    console.log(&#39;moveSlide called:&#39;, carouselId, direction);&#xA;    &#xA;    const carousel = document.getElementById(carouselId);&#xA;    if (!carousel) {&#xA;      console.error(&#39;Carousel not found:&#39;, carouselId);&#xA;      return;&#xA;    }&#xA;    &#xA;    const slidesContainer = carousel.querySelector(&#39;.carousel-slides&#39;);&#xA;    if (!slidesContainer) {&#xA;      console.error(&#39;Slides container not found&#39;);&#xA;      return;&#xA;    }&#xA;    &#xA;    if (!window.carouselStates[carouselId]) {&#xA;      const totalSlides = carousel.querySelectorAll(&#39;.carousel-slide[data-slide]:not([data-slide=&#34;clone-last&#34;]):not([data-slide=&#34;clone-first&#34;])&#39;).length;&#xA;      window.carouselStates[carouselId] = {&#xA;        currentSlide: 0,&#xA;        totalSlides: totalSlides&#xA;      };&#xA;    }&#xA;    &#xA;    const state = window.carouselStates[carouselId];&#xA;    const totalSlides = state.totalSlides;&#xA;    &#xA;    &#xA;    state.currentSlide += direction;&#xA;    &#xA;    if (state.currentSlide &gt;= totalSlides) {&#xA;      &#xA;      const targetSlide = 0;&#xA;      state.currentSlide = targetSlide;&#xA;      preAdjustHeight(targetSlide); &#xA;      &#xA;      const cloneFirstPosition = totalSlides + 1;&#xA;      const translateXClone = -cloneFirstPosition * 60 + 20;&#xA;      slidesContainer.style.transform = `translateX(${translateXClone}%)`;&#xA;      &#xA;      setTimeout(() =&gt; {&#xA;        slidesContainer.style.transition = &#39;none&#39;;&#xA;        const realFirstPosition = 1;&#xA;        const translateXReal = -realFirstPosition * 60 + 20;&#xA;        slidesContainer.style.transform = `translateX(${translateXReal}%)`;&#xA;        &#xA;        requestAnimationFrame(() =&gt; {&#xA;          slidesContainer.style.transition = &#39;transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94)&#39;;&#xA;        });&#xA;      }, 500);&#xA;      &#xA;    } else if (state.currentSlide &lt; 0) {&#xA;      &#xA;      const targetSlide = totalSlides - 1;&#xA;      state.currentSlide = targetSlide;&#xA;      preAdjustHeight(targetSlide); &#xA;      &#xA;      const cloneLastPosition = 0;&#xA;      const translateXClone = -cloneLastPosition * 60 + 20;&#xA;      slidesContainer.style.transform = `translateX(${translateXClone}%)`;&#xA;      &#xA;      setTimeout(() =&gt; {&#xA;        slidesContainer.style.transition = &#39;none&#39;;&#xA;        const realLastPosition = totalSlides;&#xA;        const translateXReal = -realLastPosition * 60 + 20;&#xA;        slidesContainer.style.transform = `translateX(${translateXReal}%)`;&#xA;        &#xA;        requestAnimationFrame(() =&gt; {&#xA;          slidesContainer.style.transition = &#39;transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94)&#39;;&#xA;        });&#xA;      }, 500);&#xA;      &#xA;    } else {&#xA;      &#xA;      preAdjustHeight(state.currentSlide); &#xA;      &#xA;      const actualPosition = state.currentSlide + 1;&#xA;      const translateX = -actualPosition * 60 + 20;&#xA;      slidesContainer.style.transform = `translateX(${translateX}%)`;&#xA;    }&#xA;    &#xA;    console.log(&#39;Moving to slide:&#39;, state.currentSlide);&#xA;    &#xA;    &#xA;    applySlideScaling();&#xA;    &#xA;    &#xA;    &#xA;  }&#xA;&#xA;  function openLightbox(imageSrc, imageIndex) {&#xA;    const lightbox = document.getElementById(&#39;lightbox-&#39; + carouselId);&#xA;    const lightboxImg = document.getElementById(&#39;lightbox-img-&#39; + carouselId);&#xA;    const counter = document.getElementById(&#39;lightbox-counter-&#39; + carouselId);&#xA;    &#xA;    &#xA;    if (lightboxImages.length === 0) {&#xA;      const carousel = document.getElementById(carouselId);&#xA;      const allImages = carousel.querySelectorAll(&#39;.carousel-slide[data-slide]:not([data-slide=&#34;clone-last&#34;]):not([data-slide=&#34;clone-first&#34;]) img&#39;);&#xA;      lightboxImages = Array.from(allImages).map(img =&gt; img.src);&#xA;    }&#xA;    &#xA;    currentLightboxIndex = imageIndex;&#xA;    lightboxImg.src = imageSrc;&#xA;    counter.textContent = `${currentLightboxIndex + 1} / ${lightboxImages.length}`;&#xA;    lightbox.style.display = &#39;block&#39;;&#xA;    &#xA;    document.body.style.overflow = &#39;hidden&#39;;&#xA;  }&#xA;&#xA;  function navigateLightbox(direction) {&#xA;    const lightboxImg = document.getElementById(&#39;lightbox-img-&#39; + carouselId);&#xA;    const counter = document.getElementById(&#39;lightbox-counter-&#39; + carouselId);&#xA;    &#xA;    &#xA;    currentLightboxIndex += direction;&#xA;    &#xA;    if (currentLightboxIndex &gt;= lightboxImages.length) {&#xA;      currentLightboxIndex = 0;&#xA;    } else if (currentLightboxIndex &lt; 0) {&#xA;      currentLightboxIndex = lightboxImages.length - 1;&#xA;    }&#xA;    &#xA;    &#xA;    counter.textContent = `${currentLightboxIndex + 1} / ${lightboxImages.length}`;&#xA;    &#xA;    &#xA;    const newImg = new Image();&#xA;    newImg.onload = function() {&#xA;      &#xA;      lightboxImg.style.transition = &#39;opacity 0.2s ease&#39;;&#xA;      lightboxImg.style.opacity = &#39;0&#39;;&#xA;      &#xA;      setTimeout(() =&gt; {&#xA;        &#xA;        lightboxImg.src = this.src;&#xA;        &#xA;        if (direction &gt; 0) {&#xA;          lightboxImg.style.transform = &#39;translate(-30%, -50%)&#39;;&#xA;        } else {&#xA;          lightboxImg.style.transform = &#39;translate(-70%, -50%)&#39;;&#xA;        }&#xA;        &#xA;        &#xA;        setTimeout(() =&gt; {&#xA;          lightboxImg.style.transition = &#39;opacity 0.2s ease, transform 0.3s ease&#39;;&#xA;          lightboxImg.style.opacity = &#39;1&#39;;&#xA;          lightboxImg.style.transform = &#39;translate(-50%, -50%)&#39;;&#xA;        }, 20);&#xA;        &#xA;      }, 150);&#xA;    };&#xA;    &#xA;    &#xA;    newImg.src = lightboxImages[currentLightboxIndex];&#xA;  }&#xA;&#xA;  function closeLightbox() {&#xA;    const lightbox = document.getElementById(&#39;lightbox-&#39; + carouselId);&#xA;    lightbox.style.display = &#39;none&#39;;&#xA;    document.body.style.overflow = &#39;auto&#39;;&#xA;  }&#xA;&#xA;  &#xA;  function handleKeydown(event) {&#xA;    const lightbox = document.getElementById(&#39;lightbox-&#39; + carouselId);&#xA;    if (lightbox.style.display === &#39;block&#39;) {&#xA;      if (event.key === &#39;Escape&#39;) {&#xA;        closeLightbox();&#xA;      } else if (event.key === &#39;ArrowLeft&#39;) {&#xA;        navigateLightbox(-1);&#xA;      } else if (event.key === &#39;ArrowRight&#39;) {&#xA;        navigateLightbox(1);&#xA;      }&#xA;    }&#xA;  }&#xA;&#xA;  function initCarousel() {&#xA;    console.log(&#39;Initializing carousel:&#39;, carouselId);&#xA;    &#xA;    const carousel = document.getElementById(carouselId);&#xA;    if (!carousel) {&#xA;      console.error(&#39;Carousel not found:&#39;, carouselId);&#xA;      return;&#xA;    }&#xA;    &#xA;    const slidesContainer = carousel.querySelector(&#39;.carousel-slides&#39;);&#xA;    if (slidesContainer) {&#xA;      slidesContainer.style.transform = &#39;translateX(-40%)&#39;;&#xA;      &#xA;      const totalSlides = carousel.querySelectorAll(&#39;.carousel-slide[data-slide]:not([data-slide=&#34;clone-last&#34;]):not([data-slide=&#34;clone-first&#34;])&#39;).length;&#xA;      window.carouselStates[carouselId] = {&#xA;        currentSlide: 0,&#xA;        totalSlides: totalSlides&#xA;      };&#xA;    }&#xA;    &#xA;    &#xA;    carousel.addEventListener(&#39;touchstart&#39;, handleTouchStart, { passive: true });&#xA;    carousel.addEventListener(&#39;touchmove&#39;, handleTouchMove, { passive: false });&#xA;    carousel.addEventListener(&#39;touchend&#39;, handleTouchEnd, { passive: true });&#xA;    &#xA;    const images = carousel.querySelectorAll(&#39;img&#39;);&#xA;    let imagesLoaded = 0;&#xA;    &#xA;    function applyInitialStyling() {&#xA;      applySlideScaling();&#xA;    }&#xA;    &#xA;    images.forEach(img =&gt; {&#xA;      img.onload = function() {&#xA;        const aspectRatio = this.naturalWidth / this.naturalHeight;&#xA;        if (aspectRatio &lt; 1) {&#xA;          this.style.width = &#39;70%&#39;;&#xA;          this.style.height = &#39;auto&#39;;&#xA;          this.style.maxWidth = &#39;70%&#39;;&#xA;          this.style.maxHeight = &#39;60vh&#39;;&#xA;          this.style.objectFit = &#39;contain&#39;;&#xA;          this.style.margin = &#39;0 auto&#39;;&#xA;          this.style.display = &#39;block&#39;;&#xA;          this.style.cursor = &#39;pointer&#39;;&#xA;          const slideIndex = parseInt(this.closest(&#39;.carousel-slide&#39;).getAttribute(&#39;data-slide&#39;));&#xA;          this.onclick = () =&gt; openLightbox(this.src, slideIndex); &#xA;          this.closest(&#39;.carousel-slide&#39;).setAttribute(&#39;data-orientation&#39;, &#39;vertical&#39;);&#xA;        } else {&#xA;          this.style.maxWidth = &#39;100%&#39;;&#xA;          this.style.maxHeight = &#39;65vh&#39;;&#xA;          this.style.width = &#39;auto&#39;;&#xA;          this.style.height = &#39;auto&#39;;&#xA;          this.style.objectFit = &#39;contain&#39;;&#xA;          this.style.cursor = &#39;pointer&#39;;&#xA;          const slideIndex = parseInt(this.closest(&#39;.carousel-slide&#39;).getAttribute(&#39;data-slide&#39;));&#xA;          this.onclick = () =&gt; openLightbox(this.src, slideIndex);&#xA;          this.closest(&#39;.carousel-slide&#39;).setAttribute(&#39;data-orientation&#39;, &#39;horizontal&#39;);&#xA;        }&#xA;        &#xA;        imagesLoaded++;&#xA;        if (imagesLoaded === images.length) {&#xA;          applyInitialStyling();&#xA;          &#xA;          adjustCarouselHeight();&#xA;        }&#xA;      };&#xA;      &#xA;      if (img.complete) {&#xA;        img.onload();&#xA;      }&#xA;    });&#xA;  }&#xA;&#xA;  &#xA;  let touchStartX = 0;&#xA;  let touchEndX = 0;&#xA;  let touchStartY = 0;&#xA;  let touchEndY = 0;&#xA;  &#xA;  function handleTouchStart(event) {&#xA;    touchStartX = event.touches[0].clientX;&#xA;    touchStartY = event.touches[0].clientY;&#xA;  }&#xA;  &#xA;  function handleTouchMove(event) {&#xA;    &#xA;    const deltaX = Math.abs(event.touches[0].clientX - touchStartX);&#xA;    const deltaY = Math.abs(event.touches[0].clientY - touchStartY);&#xA;    &#xA;    &#xA;    if (deltaX &gt; deltaY &amp;&amp; deltaX &gt; 10) {&#xA;      event.preventDefault();&#xA;    }&#xA;  }&#xA;  &#xA;  function handleTouchEnd(event) {&#xA;    touchEndX = event.changedTouches[0].clientX;&#xA;    touchEndY = event.changedTouches[0].clientY;&#xA;    &#xA;    const deltaX = touchStartX - touchEndX;&#xA;    const deltaY = Math.abs(touchStartY - touchEndY);&#xA;    const minSwipeDistance = 50;&#xA;    &#xA;    &#xA;    if (Math.abs(deltaX) &gt; minSwipeDistance &amp;&amp; Math.abs(deltaX) &gt; deltaY) {&#xA;      if (deltaX &gt; 0) {&#xA;        &#xA;        moveSlide(1);&#xA;      } else {&#xA;        &#xA;        moveSlide(-1);&#xA;      }&#xA;    }&#xA;  }&#xA;&#xA;  &#xA;  window[&#39;moveSlide_&#39; + carouselId] = moveSlide;&#xA;  window[&#39;openLightbox_&#39; + carouselId] = openLightbox;&#xA;  window[&#39;navigateLightbox_&#39; + carouselId] = navigateLightbox;&#xA;  window[&#39;closeLightbox_&#39; + carouselId] = closeLightbox;&#xA;&#xA;  &#xA;  document.addEventListener(&#39;keydown&#39;, handleKeydown);&#xA;&#xA;  &#xA;  document.addEventListener(&#39;DOMContentLoaded&#39;, initCarousel);&#xA;  if (document.readyState !== &#39;loading&#39;) {&#xA;    initCarousel();&#xA;  }&#xA;})();&#xA;&lt;/script&gt;&#xA;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
