body{
    text-align: left;
}
.logo-img {
    object-fit: contain;
    max-width: 100px;
    max-height: 100px;
}

.menu-btn {
    padding: 8px;
    border-radius: 5px;
}


.hero {
    position: relative;
    text-align: center;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5); /* Lite mörkare för bättre läsbarhet */
    z-index: 1;
}

.hero-content {
    position: relative;
    z-index: 2;
}


.show {
    opacity: 1;
    transform: translateY(0);
}
.logo-container {
    display: flex;
    align-items: center;
    justify-content: center;
}

.logo-img {
    width: auto;
    height: 60px; /* Justera vid behov */
    max-width: 200px; /* Förhindra att den blir för stor */
    object-fit: contain;
}
.btn-bounce:hover {
    animation: bounce 0.6s;
  }
  
  @keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
      transform: translateY(0);
    }
    40% {
      transform: translateY(-8px);
    }
    60% {
      transform: translateY(-4px);
    }
  }
  @keyframes dramaticPulse {
    0%, 100% {
      transform: scale(1);
      opacity: 0.9;
      filter: drop-shadow(0 0 5px rgba(255,255,255,0.6));
    }
    50% {
      transform: scale(1.3);
      opacity: 1;
      filter: drop-shadow(0 0 20px rgba(255,255,255,0.9));
    }
  }
  
  .jour-img {
    
    width: 120px;
    max-width: 550px; /* Öka eller minska efter smak */
    animation: dramaticPulse 2s infinite ease-in-out;
    margin-top: 20px;
  }

/* --- Slide-in Animations --- */

/* Common properties for elements that will animate */
.animate-on-scroll {
  opacity: 0;
  transition: opacity 0.7s ease-out, transform 0.7s ease-out;
  will-change: opacity, transform; /* Optimize animation performance */
}

/* Initial states (off-screen) */
.slide-from-left {
  transform: translateX(-50px); /* Start slightly to the left */
}

.slide-from-right {
  transform: translateX(50px); /* Start slightly to the right */
}

.slide-from-top {
  transform: translateY(-50px); /* Start slightly above */
}

.slide-from-bottom {
  transform: translateY(50px); /* Start slightly below */
}

/* Final state (on-screen) - triggered by JS */
.is-visible {
  opacity: 1;
  transform: translate(0, 0);
}
  


/* --- Hero Button Border Animation --- */
.hero-button {
  /* Ensure positioning context and hide overflow */
  position: relative;
  overflow: hidden;
}

.hero-button span {
  position: absolute;
  display: block;
}

/* --- Blue Line --- */
/* Blue Top */
.hero-button span:nth-child(1) {
  top: 0;
  left: -100%;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, transparent, #3b82f6); /* Blue */
  filter: drop-shadow(0 0 4px #3b82f6) drop-shadow(0 0 8px #3b82f6); /* Blue Glow */
  animation: btn-anim1 2s linear infinite;
  animation-delay: 0s;
}

/* Blue Right */
.hero-button span:nth-child(2) {
  top: -100%;
  right: 0;
  width: 3px;
  height: 100%;
  background: linear-gradient(180deg, transparent, #3b82f6); /* Blue */
  filter: drop-shadow(0 0 4px #3b82f6) drop-shadow(0 0 8px #3b82f6); /* Blue Glow */
  animation: btn-anim2 2s linear infinite;
  animation-delay: 0.5s; /* 2s / 4 sides */
}

/* Blue Bottom */
.hero-button span:nth-child(3) {
  bottom: 0;
  right: -100%;
  width: 100%;
  height: 3px;
  background: linear-gradient(270deg, transparent, #3b82f6); /* Blue */
  filter: drop-shadow(0 0 4px #3b82f6) drop-shadow(0 0 8px #3b82f6); /* Blue Glow */
  animation: btn-anim3 2s linear infinite;
  animation-delay: 1s; /* 2 * (2s / 4 sides) */
}

/* Blue Left */
.hero-button span:nth-child(4) {
  bottom: -100%;
  left: 0;
  width: 3px;
  height: 100%;
  background: linear-gradient(360deg, transparent, #3b82f6); /* Blue */
  filter: drop-shadow(0 0 4px #3b82f6) drop-shadow(0 0 8px #3b82f6); /* Blue Glow */
  animation: btn-anim4 2s linear infinite;
  animation-delay: 1.5s; /* 3 * (2s / 4 sides) */
}

/* --- Yellow Line --- */
/* Yellow Top */
.hero-button span:nth-child(5) {
  top: 0;
  left: -100%;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, transparent, #facc15); /* Yellow */
  filter: drop-shadow(0 0 4px #facc15) drop-shadow(0 0 8px #facc15); /* Yellow Glow */
  animation: btn-anim1 2s linear infinite;
  animation-delay: 1s; /* Start when blue is at bottom */
}

/* Yellow Right */
.hero-button span:nth-child(6) {
  top: -100%;
  right: 0;
  width: 3px;
  height: 100%;
  background: linear-gradient(180deg, transparent, #facc15); /* Yellow */
  filter: drop-shadow(0 0 4px #facc15) drop-shadow(0 0 8px #facc15); /* Yellow Glow */
  animation: btn-anim2 2s linear infinite;
  animation-delay: 1.5s; /* Start when blue is at left */
}

/* Yellow Bottom */
.hero-button span:nth-child(7) {
  bottom: 0;
  right: -100%;
  width: 100%;
  height: 3px;
  background: linear-gradient(270deg, transparent, #facc15); /* Yellow */
  filter: drop-shadow(0 0 4px #facc15) drop-shadow(0 0 8px #facc15); /* Yellow Glow */
  animation: btn-anim3 2s linear infinite;
  animation-delay: 0s; /* Start simultaneously with blue top */
}

/* Yellow Left */
.hero-button span:nth-child(8) {
  bottom: -100%;
  left: 0;
  width: 3px;
  height: 100%;
  background: linear-gradient(360deg, transparent, #facc15); /* Yellow */
  filter: drop-shadow(0 0 4px #facc15) drop-shadow(0 0 8px #facc15); /* Yellow Glow */
  animation: btn-anim4 2s linear infinite;
  animation-delay: 0.5s; /* Start when blue is at right */
}


/* --- Keyframes (remain the same) --- */
@keyframes btn-anim1 {
  0% { left: -100%; }
  50%,100% { left: 100%; }
}
@keyframes btn-anim2 {
  0% { top: -100%; }
  50%,100% { top: 100%; }
}
@keyframes btn-anim3 {
  0% { right: -100%; }
  50%,100% { right: 100%; }
}
@keyframes btn-anim4 {
  0% { bottom: -100%; }
  50%,100% { bottom: 100%; }
}

