/* ─── Desktop ─── */
@media (min-width: 1025px) {
  header.box {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  nav {
    justify-content: flex-end;
  }

  #gallery {
    grid-template-columns: repeat(4, minmax(220px, 1fr));
  }
}

/* --- Mobilanpassning (max-width: 960px) --- */
@media (max-width: 960px) {
  /* On mobile, header is sticky so keep padding-top for spacing */
  html,
  body {
    padding-top: 100px;
  }

  .stickyHeader {
  position: sticky;
  top: 0;
  z-index: 1100;
  grid-area: header;
  border-bottom: 1px solid var(--accent-green);
}
  .box {
    justify-content: flex-end;
    /* Trycker hamburgaren till höger */
    height: 100px;
    /* Eller den höjd din header har */
  }

  .headerLeft {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1200;
  }

  .headerLogo {
    height: 100px;
    /* Justera logons storlek på mobil */
    width: auto;
  }

  /* Hamburgarknappen */
  .menu-toggle {
  display: flex;
  flex-direction: column;
  justify-content: center; /* Centrerar strecken vertikalt */
  gap: 6px; /* Avståndet mellan strecken */
  background: none;
  border: none;
  cursor: pointer;
  z-index: 1100; /* Se till att den ligger över nav */
  width: 30px; /* Fast bredd för stabilitet */
  height: 30px; /* Fast höjd */
  padding: 0;
}

  .menu-toggle span {
  width: 25px;
  height: 2px;
  background: #333;
  transition: all 0.3s ease-in-out; /* Gör animationen mjuk */
  transform-origin: center; /* Gör att de roterar runt sin egen mittpunkt */
  display: block;
}

.menu-toggle.open span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}

/* Mittersta strecket: Försvinner helt */
.menu-toggle.open span:nth-child(2) {
  opacity: 0;
  transform: translateX(-10px); /* Valfritt: glider ut åt sidan */
}

/* Nedersta strecket: Roterar -45 grader och flyttas upp till mitten */
.menu-toggle.open span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

  /* Själva navigeringen som dyker upp */
 nav {
  position: fixed;
  top: 70px; /* samma höjd som din header */
  left: -100%;
  transform: none;
  width: 70%;
  height: calc(100vh - 70px); /* tar resten av skärmen */
  background: var(--bg-light);
  z-index: 999; /* under headern */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

nav.active {
  left: 0;
  opacity: 1;
  visibility: visible;
}
  .link-list {
    flex-direction: column;
    text-align: center;
    list-style: none;
    padding: 0;
  }

  .link-list li {
    margin: 20px 0;
  }

#nav-menu.active {
  height: calc(100vh - 100px);
  position: fixed;
  top: 100px;
  left: 0;
  right: 0;
}
  footer {
    padding: 30px 15px 15px;
  }

  .footerContent {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .footer-index-inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .footerDivider {
    width: 100%;
    height: 1px;
    align-self: auto;
  }

  .footerAbout {
    align-items: center;
    text-align: center;
  }

  .footerLinks {
    align-items: center;
  }

  .footerLinks a {
    justify-content: center;
  }

  .footerImg {
    width: 100%;
    max-width: 240px;
    height: auto;
  }

  .gallery-filters {
    gap: 8px;
    margin: 30px 0 20px 0;
  }

  .filter-btn {
    padding: 6px 14px;
    font-size: 0.8rem;
  }

  .filter-divider {
    display: none;
  }

  h1 {
    font-size: 2rem;
  }

  h2 {
    font-size: 1.4rem;
  }

  p {
    font-size: 0.95rem;
    padding: 0 10px;
    max-width: 100%;
    /* visibility: hidden; */
  }

  main {
    width: 100%;
    padding: 0;
  }
  nav ul {
    gap: 20px;
    margin: 10px 0;
    flex-wrap: wrap;
    justify-content: center;
  }

  nav li {
    padding: 0;
    width: auto;
  }

  nav a {
    display: inline;
  }

  #gallery {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    padding: 120px 10px ;
  }

  img {
    max-width: 100%;
    height: auto;
  }

  .sold-badge {
    padding: 6px 40px;
    right: -35px;
    font-size: 0.65rem;
  }

  header {
    padding: 5px;
  }

  /* Index mobil */
  .hero-text {
    left: 24px;
    bottom: 60px;
    right: 24px;
  }

  .hero-text h2 {
    font-size: 2rem;
  }

  .hero-text p {
    font-size: 0.95rem;
  }

  .intro-section {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .intro-image-side {
    height: 60vw;
    min-height: 240px;
  }

  .intro-image-side::after {
    display: none;
  }

  .intro-text-side {
    padding: 40px 24px;
  }

  .featured-section {
    padding: 50px 0;
  }

  .featured-inner {
    padding: 0 20px;
  }

  .featured-grid {
    grid-template-columns: 1fr 1fr;
  }

  .featured-grid .featured-card:first-child {
    grid-column: 1 / -1;
  }

  .featured-card-label {
    opacity: 1;
    transform: none;
  }

  /* --- HERO --- */
  .hero {
    height: 95vh;
    /* Något kortare på mobil */
  }

  .hero-text {
    left: 20px;
    right: 20px;
    bottom: 100px;
  }

  .hero-text h2 {
    font-size: 2.5rem;
    /* Tvinga ner storleken lite extra */
  }

  .hero-scroll {
    display: none;
    /* Dölj scroll-indikatorn på små skärmar för att spara plats */
  }

  /* --- OM MIG (Intro) --- */
  .intro-section {
    display: flex;
    flex-direction: column;
    /* Stapla bild och text på varandra */
    height: auto;
    /* Ta bort fast höjd */
    padding: 20px 0;
  }

  .intro-image-side {
    height: 400px;
    /* Ge bilden en fast höjd när den staplas */
  }

  .intro-text-side {
    padding: 40px 25px;
    text-align: center;
    align-items: center;
  }

  /* --- UTVALDA VERK --- */
  .featured-inner {
    padding: 0 20px;
    max-width: 100%;
  }

  .featured-header {
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
    margin-bottom: 25px;
  }

  .featured-grid {
    grid-template-columns: 1fr;
    /* Alla kort blir fullbredd */
    gap: 20px;
  }

  .featured-card img {
    aspect-ratio: 1 / 1;
    /* Kvadratiska bilder ser ofta bättre ut i mobillistor */
  }
}

@media (max-width: 1024px) {

  /* Justera Hero för surfplattor */
  .hero-text {
    left: 40px;
    bottom: 60px;
  }

  .intro-text-side {
    padding: 60px 40px;
  }

  nav a {
    font-size: 0.85rem;
  }
}

@media (min-width: 961px) and (max-width: 1024px) {
  #gallery-filter-bar {
    gap: 20px;
  }
}
