/* ==========================================================
   SEARCH-BOL
   Fase 1: kleine bol = enkel zoekicoon + ZOEK
   Fase 2: focus = sitemap, geen groot icoon/tekst
   ========================================================== */

.search svg circle,
.search svg ellipse {
  opacity: 0;
}

.search {
  background-image: url("../assets/images/zon.PNG");
  background-size: cover;
  background-position: center;
}

.search {
  cursor: pointer;
    --x: 2%;
    --y: 5%;
    --size: min(15vw, 11vh);
  }

/* Kleine zoekbol: icoon kleiner, tekst iets groter */

.search-label {
  color: white;
    transition:
    opacity 1100ms ease,
    transform 1600ms var(--ease);
  transform-origin: 50% 50%;
}

.search-label {
  transform: translateY(194px) scale(1.05);
}

/* Focus: de bol wordt sitemap. Grote icon/ZOEK verdwijnen rustig. */
.search.focus {
  --x: 24%;
  --y: 28%;
  --size: min(45vw, 45vh);
  --scale: 1;
  --opacity: .98;
  --time: 4200ms;
  z-index: 80;
}

.search.focus .search-label {
  opacity: 0;
  transform: scale(0.65);
  pointer-events: none;
}

.search-panel {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  pointer-events: none;
  z-index: 3;
}
#search {
  opacity: 0;
  pointer-events: none;

  transition:
    opacity 3000ms ease,
    transform 4000ms cubic-bezier(.12,.78,.16,1);

  transform: scale(.05);
}

body.day-open #search {
  opacity: 1;
  pointer-events: auto;

  transform: scale(1.5);
}
.search-menu {
  width: 62%;
  display: none;
  gap: .34em;
  text-align: left;
  padding-left: 50px;
  font-size: calc(var(--size) * .032);
  line-height: 1.06;
  color: #111733;
}
.search-menu {
    mask-image: linear-gradient(
        to bottom,
        transparent,
        black 8%,
        black 92%,
        transparent
    );
}
.search-menu {
  overflow-y: auto;
  max-height: 70vh;
  scrollbar-width: none;      /* Firefox */
  -ms-overflow-style: none;   /* oude Edge */
}

.search-menu::-webkit-scrollbar {
  display: none;              /* Chrome */
}

.search.focus .search-menu {
  display: grid;
  max-height: 25vh;
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  pointer-events: auto;
  animation: searchSitemapFade 1800ms ease both;
}

@keyframes searchSitemapFade {
  from {
    opacity: 0;
    transform: scale(.94) translateY(8px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.search-link {
  display: block;
  width: fit-content;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #111733;
  font: inherit;
  font-weight: 950;
  cursor: pointer;
  text-align: left;
  padding: .08em 0;
  line-height: 1.05;
}

.search-link:hover {
  color: #9dcdec;
  text-shadow: 0 0 10px rgba(255,255,255,.55);
}

.sitemap-main {
  letter-spacing: .045em;
}

.sitemap-child {
  margin-left: 1.45em;
  font-size: .86em;
  font-weight: 900;
  opacity: .92;
}
.sitemap-gchild {
  margin-left: 2.65em;
  font-size: .86em;
  font-weight: 900;
  opacity: .92;
}

/* kleine lucht tussen hoofdgroepen */
.sitemap-main + .sitemap-main,
.sitemap-child + .sitemap-main {
  margin-top: .28em;
}
