/* ========== Global ========== */
html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: "Patrick Hand", sans-serif;
    background-color: #000;
  }
  
  h1, h2, h3 {
    margin: 15px;
    font-family: "Patrick Hand";
    font-weight: 400;
    line-height: normal;
  }
  
  h1 { font-size: 35px; color: black; }
  h2 { font-size: 25px; color: black; }
  h3 { font-size: 30px; color: black; }
  
  .uv-app {
    display: flex;
    min-height: 100vh;
  }
  
 .left {
    flex: 1;
    position: relative;
    height: 100vh;
    overflow: hidden;
    display: flex;
    align-items: flex-end; 
  }
  
  .left img#main_image {
    width: 100%;
    height: auto;
    display: block;
    position: relative;
    object-fit: contain;
    transition: opacity 0.4s ease;
  }
  
  .right {
    flex: 1;
    background-color: #fff;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  
  /* Übergänge für Inhalte */
  #uv-now,
  #uv-forecast,
  #main_image,
  #uv-arrow,
  .dots {
    transition: opacity 0.4s ease;
  }
  
  /* Stadtname-Animation */
  .city-switch span:nth-child(2).fade {
    transform: translateY(-10px);
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }
  
  /* ========== Desktop ========== */
  @media (min-width: 769px) {
    .uv-app {
      flex-direction: row;
    }
  
    .city-switch.desktop-only {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 16px;
      font-size: 50px;
      color: black;
      gap: 20px;
    }
  
    .city-switch.mobile-only {
      display: none;
    }
  
    .dots.desktop-only {
      display: block;
      width: 60px;
      margin: 10px auto 20px auto;
      transition: opacity 0.4s ease;
    }
  
    .dots.mobile-only {
      display: none !important;
    }
  
    .forecast {
      display: flex;
      gap: 10px;
      margin: 2px;
    }
  
    .scale {
      position: relative;
      width: 100%;
      max-width: 300px;
    }
  
    .scale img {
      max-width: 300px;
      width: 100%;
      height: auto;
      display: block;
      margin: 0 auto;
    }
  
    .arrow {
      position: absolute;
      bottom: -30px;
      font-size: 20px;
      color: black;
      transition: left 0.3s ease;
      transform: translateX(-50%);
    }
  }
  
  /* ========== Mobile ========== */
  @media (max-width: 768px) {
    .uv-app {
      flex-direction: column;
    }
  
    h1 { font-size: 30px; color: black; margin: 5px; }
    h2 { font-size: 20px; color: black; margin: 5px; }
    h3 { font-size: 26px; color: black; margin: 5px; }
  
    .city-switch.desktop-only {
      display: none;
    }
  
    .city-switch.mobile-only {
      display: flex;
      position: absolute;
      top: 10px;
      left: 50%;
      transform: translateX(-50%);
      color: white;
      font-size: 50px;
      z-index: 2;
      gap: 20px;
    }
  
    .dots.desktop-only {
      display: none !important;
    }
  
    .dots.mobile-only {
      display: block;
      position: absolute;
      bottom: 20%;
      left: 50%;
      transform: translateX(-50%);
      width: 60px;
      height: auto;
      z-index: 2;
      transition: opacity 0.4s ease;
    }
  
    .right {
      display: flex;
      flex-direction: column;
      align-items: center;
      background-color: white;
    }
  
    .forecast {
      display: flex;
      gap: 10px;
      justify-content: center;
      flex-wrap: wrap;
      margin-top: 10px;
    }
  
    .scale {
      margin-top: 15px;
      width: 100%;
      max-width: 300px;
      position: relative;
      padding-bottom: 40px;
    }
  
    .scale img {
      max-width: 300px;
      width: 100%;
      height: auto;
      display: block;
      margin: 0 auto;
    }
  
    .arrow {
      position: absolute;
      bottom: 12px;
      font-size: 18px;
      color: black;
      transform: translateX(-50%);
      transition: left 0.3s ease;
    }
  }
  