/* ==== Base ==== */
:root{
  --gutter: 0px;         /* horisontell/vertikal spacing mellan items */
  --caption-size: 15px;
}
*{box-sizing:border-box}
html,body{height:100%}

body{
  font-family:'Roboto Mono', monospace;
  font-size:14px;
  margin:0;
  padding:0;
  background:#fff;
  color:#000;
  overflow-x:hidden;
  line-height:1.5;
}

/* ==== Header / Logo ==== */
header{
  position:fixed;
  top:15px;
  left:0;
  z-index:10;
  width:100%;
}

.logo{
  position:fixed;
  top:15px;         /* startläge */
  left:30px;        /* mot vänsterkant */
  z-index:100;
  margin:0;
  padding:0;
  transition:top .3s ease;
}
body.scrolled .logo{ top:80%; }  /* js sätter/ta bort .scrolled */

.logo img{
  height:60px;
  width:auto;
  display:block;
}

/* ==== Info link top-right ==== */
.top-right-info{
  position:fixed;
  top:15px;
  right:20px;
  z-index:10;
}
.top-right-info a{
  font-size:16px;
  color:#000;
  text-decoration:underline;
}
.top-right-info a:hover{ text-decoration:none; }

/* ==== Info content: molnruta ==== */
.info-content{
  position:fixed;
  top:20%;
  right:20px;
  display:none;      /* togglas i JS */
  z-index:2000;
  width:340px;
  max-width:90vw;
  background:transparent;
  box-shadow:none;
  border-radius:0;
}
.cloud-svg{ display:block; width:100%; height:auto; }
.cloud-svg path{ fill:#fff; }

/* Text i molnet */
.info-text{
  position:absolute; inset:0;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  text-align:center; color:#000;
  transform:translate(6%,4%);   /* liten finjustering */
}
.info-inner{ max-width:70%; overflow-wrap:anywhere; }
.info-text a{ color:#000; text-decoration:underline; }
.info-text a:hover{ text-decoration:none; }

@media (max-width:600px){
  .info-content{ right:10px; top:15%; width:300px; }
  .info-text{ font-size:13px; }
}

/* ==== Bottom-centered category nav ==== */
.left-nav{
  position:fixed;
  bottom:10px;
  left:50%;
  transform:translateX(-50%);
  z-index:20;
}
.left-nav ul{
  list-style:none;
  padding:0; margin:0;
  display:flex; gap:24px; align-items:center;
}
.left-nav a{
  font-size:15px; color:#000; text-decoration:none;
  text-transform:uppercase; letter-spacing:.1em;
  opacity:.85; transition:opacity .25s ease, text-decoration .25s ease;
}
.left-nav a:hover{ opacity:1; text-decoration:underline; }
.left-nav .is-active{ opacity:1; text-decoration:underline; }

/* ==== Gallery (Masonry grid) ==== */
.gallery{
  width:100%;
  max-width:none;
  margin:60px 0 100px 0;   /* luft över/under */
  position:relative;
}
.grid-sizer, .gallery-item{ width:33.333%; }  /* 3 kolumner desktop */

.gallery-item{
  position:relative;
  padding:0; margin:0;
  background:#fff;
  overflow:hidden;
}

/* Bilduppförande */
.gallery-item img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
  transition:transform .3s ease, opacity .3s ease;
}

/* Bildtext (overlay) – default dolt */
.overlay{
  position:absolute;
  left:10px;
  bottom:10px;
  max-width:calc(100% - 20px);
  padding:6px 10px;
  background:none;
  color:#000;                 /* svart text (till vit bakgrund vid hover) */
  font-size:var(--caption-size);
  line-height:1.35;
  box-shadow:none;
  opacity:0;                  /* DOLT från start */
  transition:opacity .25s ease;
}
/* ====== DESKTOP/HOVER: visa text & vitla bild ====== */
@media (hover:hover) and (pointer:fine){
  .gallery-item:hover img{ opacity:0; }
  .gallery-item:hover .overlay{ opacity:1; }
}

/* ====== MOBIL/TOUCH: visa text alltid, ingen vit-fade ====== */
@media (hover:none){
  .overlay{ opacity:1; }
  .gallery-item img{ opacity:1 !important; }
}

/* ====== Responsiv kolumnbredd ====== */
@media (max-width:1024px){
  .grid-sizer, .gallery-item{ width:50%; }
}
@media (max-width:600px){
  .grid-sizer, .gallery-item{ width:100%; }
  .left-nav ul{ gap:14px; padding:8px 12px; }
  .left-nav a{ font-size:12px; letter-spacing:.06em; }
}

/* ====== Mobilfix: endast vit text på overlay ====== */
@media (hover:none), (max-width:600px) {
  .overlay {
    color: #fff !important;
  }
  .overlay.overlay-shadow {
    color: #fff !important;
    text-shadow:
      0 2px 8px rgba(0,0,0,0.33),
      0 0px 2px rgba(0,0,0,0.15);
  }
}

/* ====== Mobilfix: större och vit menytext, pytteliten skugga ====== */
@media (max-width:600px), (hover:none) {
  .left-nav a {
    color: #fff !important;
    font-size: 16px !important;
    font-weight: bold;
    letter-spacing: 0.07em;
    text-shadow: 0 1px 2px rgba(0,0,0,0.10);
  }
  .left-nav ul {
    gap: 16px;
    padding: 8px 8px;
  }
}
