/* LAYOUT */
body {
    background:#fff; 
    position:absolute; 
    width:100%; 
    height:100%; 
    padding-top: 5px;
    overflow-y: auto;   /* NEW: explicitly allow the page to scroll */
}
#main {
    background:#fff; 
    height:100%; 
    padding:90px 5px 50px 5px; 
    box-sizing:border-box;
    overflow-y: auto;   /* NEW */
}
#header {
    background:#fff; 
    position:absolute; 
    width:100%; 
    height:40px;
    padding: 5px;
}
#left {
    background:#e9e9e9; 
    float:left; 
    width:250px; 
    height:100%; 
    overflow:scroll; 
    padding: 10px;
}
#left.collapsed {
    width: 0;
    padding: 0;
    overflow: hidden;
}
#left:not(.collapsed) {
    width: 250px;
}
#right {
    background:#fff; 
    height:100%; 
    overflow:scroll;
    padding-left: 10px;
    padding-right: 20px;
}
#footer {
    background:#383878; 
    color:white; 
    position:fixed; 
    bottom:0; 
    width:100%;
    display: flex;
    justify-content: center; /* Centers content horizontally */
    align-items: center; /* Centers content vertically */
    padding: 5px 0 5px;
    z-index: 1000; /* Ensure it's above FullCalendar */
}




/* HEADINGS */
h1 {
    font-size: 2rem; /* Default size (fs-1 equivalent) for larger screens */
}
@media (max-width: 1200px) { /* Large screens (≥1200px) */
    h1 {
        font-size: 1.8rem; /* fs-2 equivalent */
    }
}
@media (max-width: 992px) { /* Medium screens (≥992px) */
    h1 {
        font-size: 1.6rem; /* fs-3 equivalent */
    }
}
@media (max-width: 768px) { /* Small screens (≥768px) */
    h1 {
        font-size: 1.4rem; /* fs-4 equivalent */
    }
}
@media (max-width: 576px) { /* Extra small screens (<576px) */
    h1 {
        font-size: 1.2rem; /* fs-5 equivalent */
    }
}





/* IZBOR LOKACIJE */
.nav .nav-link {
    position: relative;
    padding-left: 1.5rem; /* Add space for the bullet */
}
.nav .nav-link::before {
    content: "\f3c5"; /* Unicode for the fa-location-dot icon */
    font-family: "Font Awesome 6 Free"; /* FontAwesome 6 font family */
    font-weight: 900; /* Use solid style (fa-solid) */
    position: absolute;
    left: 0; /* Position the icon at the start */
    top: 50%;
    transform: translateY(-50%); /* Center vertically */
    color: #383878; /* Icon color */
    font-size: 1.2rem; /* Adjust icon size */
}




/* CALENDAR */
#calendar {
    margin: 20px auto 0; /* Centers the calendar horizontally */
    padding-bottom: 1em; /* Ensures spacing from the footer */
    text-shadow: none !important;
    width: 100%; /* Ensures it spans the available content width */
    overflow: visible;  /* Allow scrolling if necessary */
}
#calendar a{
    color:#c22130;
    text-decoration:none;
}
.fc-timegrid-slot {
    height:35px !important;
}
.fc-today-button, .fc-prev-button, .fc-next-button {
    width:50px !important;
}
.fc-v-event {
    opacity:0.90 !important;
}
.fc-button-primary{
    background-color:#fff !important;
    color:#c22130 !important;
    border-color:#c22130 !important;
}
.fc-toolbar-title{
    color:#c22130 !important;
}
.fc .fc-scrollgrid {
    border-top: 0;
  }
.fc-scrollgrid-section-header {
    position: sticky;
    top: 0;
    z-index: 10;
    background: white !important;
    opacity: 1 !important;
}
.fc-scrollgrid-section-header > * {
    border-top: 1px solid #dddddd !important;
}




/* LOGIN */
.form-signin {
    width: 100%;
    max-width: 330px;
    padding: 15px;
    margin: auto;
  }
  .form-signin .checkbox {
    font-weight: 400;
  }
  .form-signin .form-floating:focus-within {
    z-index: 2;
  }
  .form-signin input[type="email"] {
    margin-bottom: -1px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }
  .form-signin input[type="password"] {
    margin-bottom: 10px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }




  /* BREADCRUMB */

.breadcrumb {
    padding: 1px 0px;
    background-color: #fff;
    list-style: none;
    font-style: italic;
    /* border-bottom: 1px solid #C8E18C; */
    font-size: smaller;
    border-radius: 0;
    margin-bottom: 50px;
}
.breadcrumb>li+li:before {
    color: #ccc;
    content: ">" !important;
    padding: 0 2px;
}
.breadcrumb >.active {
    color: #c22130;
 }



 /* TABLES */

 .table-stranka-striped > tbody > tr.band-odd > * {
    --bs-table-bg: rgba(0, 0, 0, 0.05);
    background-color: var(--bs-table-bg);
    box-shadow: none;
}
.table-stranka-striped > tbody > tr.band-even > * {
    --bs-table-bg: transparent;
    background-color: transparent;
}



 /* MULTISELECT */

.form-group .btn-group,
.form-group .multiselect-native-select {
    display: block;
    width: 100%;
}

.multiselect-native-select .multiselect,
.multiselect.form-select {
    text-align: left;
}

.multiselect .multiselect-selected-text {
    display: block;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
}

.multiselect.dropdown-toggle::after {
    display: none;
}



/* ==========================================================
   RESPONSIVE TABELE (telefon in tablica < 992 px)
   Vrstica tabele se prikaže kot kartica, ime stolpca je
   napisano pred vrednostjo (data-label nastavi inc-js.php).
   Tabele z rowspan in tabele z razredom .no-stack ostanejo
   tabele z drsenjem vstran.
   ========================================================== */
@media (max-width: 991.98px) {

    .table-responsive:has(> table.table-stack) {
        overflow-x: visible;
    }

    table.table-stack,
    table.table-stack > tbody,
    table.table-stack > tbody > tr,
    table.table-stack > tbody > tr > td {
        display: block;
        width: 100%;
    }

    table.table-stack {
        white-space: normal !important;
    }

    table.table-stack > thead {
        display: none;
    }

    table.table-stack > tbody > tr {
        border: 1px solid #dee2e6;
        border-radius: .5rem;
        margin-bottom: .75rem;
        padding: .35rem .75rem;
        background: #fff;
        box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
    }

    table.table-stack > tbody > tr > td {
        position: relative;
        min-height: 1.9rem;
        border: 0 !important;
        padding: .3rem 0 .3rem min(40%, 11rem) !important;
        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
        box-shadow: none !important;
        background: transparent !important;
    }

    table.table-stack > tbody > tr > td::before {
        content: attr(data-label);
        position: absolute;
        left: 0;
        top: .35rem;
        width: min(37%, 10rem);
        font-size: .8rem;
        font-weight: 600;
        color: #6c757d;
        white-space: normal;
    }

    /* celice brez oznake (npr. gumbi) čez celo širino */
    table.table-stack > tbody > tr > td[data-label=""] {
        padding-left: 0 !important;
    }
    table.table-stack > tbody > tr > td[data-label=""]::before {
        display: none;
    }

    table.table-stack > tbody > tr > td:empty {
        display: none;
    }

    /* obrazci in gumbi v celicah naj se lepo zlomijo */
    table.table-stack > tbody > tr > td form {
        display: inline-block;
    }
}

/* ==========================================================
   FILTRI / ISKALNIKI na ozkih zaslonih
   ========================================================== */
@media (max-width: 575.98px) {
    .form-select, .form-control {
        min-width: 0;
    }
    #footer {
        font-size: .8rem;
    }
}
