/* Uvoz obstoječih CSS datotek NAJPREJ */
@import url("panel.css");
@import url("buttons.css");
@import url("typography.css");
@import url("fullscreen.css");
@import url("spinner.css");
@import url("potree-toolbar.css");

@tailwind base;
@tailwind components;
@tailwind utilities;

/* Reset osnovnih stilov */
body, html {
    margin: 0;
    padding: 0;
    height: 100vh;
    overflow: hidden;
    font-family: "Inter";

}

h1, h2, h3 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
}

button, input {
    font-family: 'Inter', sans-serif;
}

/* Glavni flex container, ki vsebuje viewer in stranski panel */
#container {
    display: flex;
    flex-direction: row;
    height: calc(100vh - 3.5em); /* Višina celotne strani minus header */
    width: 100%;
    margin-top: 3.5em; /* Potisni vsebino pod header */
    overflow: hidden;
}

/* Logotip in naslov v headerju */
#logo-container {
    display: flex;
    align-items: center;
}

#logo-container .logo {
    height: 2.5em;
    margin-right: 25px;
}

#logo-container .title {
    font-size: 1.5em;
    color: black;
    font-family: "Inter";
    font-weight: 350;
}

/* === Sidebar shrink/expand === */
.sidebar {
  width: 4rem;
  transition: width 180ms ease;
  overflow: hidden;
}

.sidebar:hover { 
  width: 14rem; 
}

/* Odstranimo padding iz nav kontejnerja */
.sidebar nav {
  padding: 1rem 0;
}

/* link */
.sidebar .menu-link {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0.5rem 0;
  width: 100%;
}

/* ikona - POMEMBNO: prepreči krčenje in forsira velikost */
.sidebar .menu-link .nav-icon {
  flex: 0 0 1.25rem !important;  /* flex-grow: 0, flex-shrink: 0, flex-basis: 1.25rem */
  width: 1.25rem !important;
  height: 1.25rem !important;
  min-width: 1.25rem !important;
  min-height: 1.25rem !important;
  margin-left: 1.375rem; 
  margin-right: 0.5rem   /* Razmik od levega roba sidebar-a */
}

/* napis */
.sidebar .nav-label {
  opacity: 0;
  width: 0;
  overflow: hidden;
  white-space: nowrap;
  transition: opacity 150ms ease;
}

.sidebar:hover .nav-label {
  opacity: 1;
  width: auto;
}



[data-menu-for] {
    min-width: 120px;
}

@keyframes bounce {
    0%, 100% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-20px);
    }
  }
  .animate-bounce {
    animation: bounce 1.5s infinite;
  }
  
@keyframes slide-in {
  from { transform: translateX(100%); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

@keyframes slide-out {
  from { transform: translateX(0); opacity: 1; }
  to { transform: translateX(100%); opacity: 0; }
}

.animate-slide-in {
  animation: slide-in 0.3s ease-out;
}

.animate-slide-out {
  animation: slide-out 0.3s ease-out;
}

/* Popolnoma odstrani hover efekte na disabled elementih */
button:disabled,
input:disabled,
select:disabled {
    pointer-events: none !important;
    cursor: not-allowed !important;
}

button:disabled:hover,
input:disabled:hover,
select:disabled:hover {
    background-color: inherit !important;
    box-shadow: none !important;
    transform: none !important;
}