/* html/body */
html, body {
    touch-action: manipulation !important; /* Prevents zooming gestures */
	overflow-x: hidden;
}

#content {
	min-height: calc(100vh - 170px);
}



/* ============================================================
   DESKTOP (≥ 992px)
   - leva offcanvas = 100% - širina desnega offcanvas
   ============================================================ */
@media (min-width: 992px) {
  #secondOffcanvas {
    width: calc(100vw - 510px); /* širina right offcanvas */
    min-width: 400px;
  }
}

/* ============================================================
   MOBILE (< 992px)
   - full screen
   ============================================================ */
@media (max-width: 991.98px) {
  #secondOffcanvas {
    width: 100vw;
    min-width: 100vw;
  }
}



.badge-split-primary-success {
  background: linear-gradient(
    to right,
    var(--bs-primary) 0%,
    var(--bs-primary) 50%,
    var(--bs-success) 50%,
    var(--bs-success) 100%
  );
}



.acf-image-select label input {
    display: none;
}
.acf-image-select label p {
    margin-top: .5rem;
	margin-bottom: 0px;
    text-align: center;
}
.acf-image-select label img {
    border: solid 2px var(--bs-border-color-translucent);
    max-width: 100%;
    border-radius: .5rem;
}
.acf-image-select label.selected img {
    border: solid 2px var(--bs-blue);
}

.acf-image-select label.selected::after{
  content: "";
  position: absolute;
  top: 6px;
  right: 6px;
  width: 18px;
  height: 18px;

  background-image: url("data:image/svg+xml,%3csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='18' height='18' rx='9' fill='%23377dff'/%3e%3cpath d='M12.0603 5.78792C12.2511 5.56349 12.5876 5.5362 12.8121 5.72697C13.0365 5.91774 13.0638 6.25432 12.873 6.47875L8.3397 11.8121C8.14594 12.04 7.80261 12.064 7.57901 11.8653L5.17901 9.73195C4.95886 9.53626 4.93903 9.19915 5.13472 8.979C5.33041 8.75885 5.66751 8.73902 5.88766 8.93471L7.88011 10.7058L12.0603 5.78792Z' fill='%23fff'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: contain;

  opacity: 1;
  z-index: 2;
  pointer-events: none; /* da klik še vedno deluje */
}

.acf-image-select li{
    display: inline-block;
    list-style: none;
}
















/* ✅ Skrij header (če bi ga bootstrap vseeno izrisal) */
.popover-history .popover-header {
  display: none !important;
}

/* ✅ p-3 na body */
.popover-history .popover-body {
  padding: 1rem !important; /* Bootstrap p-3 */
}



/* privzeto skrit */
tr .uredi-hover {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s ease;
}

/* ob hover nad celotno vrstico */
tr:hover .uredi-hover {
  opacity: 1;
  visibility: visible;
}


/* no-border table */
.no-border-table table {
    border: 0;
}
.no-border-table .form-label {
    display: none;
}

/* Clipboard */
.js-clipboard {
    cursor: pointer;
    display: inline-block; /* da transform deluje pravilno */
}
.js-clipboard.copied {
    animation: pulse-success .5s ease forwards;
    color: var(--bs-success);
}

@keyframes pulse-success {
    0% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.1); opacity: 1; }
    100% { transform: scale(1); opacity: 1; }
}

/* Spin animation */
.spin:before {
    animation: spin 1s infinite linear;
}
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ACF Fields */
.acf-field {
    margin: 0 0 2rem 0;
}
.acf-field-repeater {
    margin-bottom: 4rem;
}

.acf-input-prepend, .acf-input-append {
    padding: .5rem 1rem;
    background: var(--bs-border-color);
    border: 1px solid var(--bs-border-color);
    border-left: 0;
    min-height: calc(1.5em + 1.125rem);
}

.acf-field .acf-label label {
    font-weight: normal;
}

/* Required field */
.acf-required {
    color: red;
}

/* ACF button group */
.acf-button-group {
    border: 0 !important;
    padding: 0 !important;
    display: flex !important;
}
.acf-button-group label {
    border: 1px solid var(--bs-border-color) !important;
    padding: 9px 0 !important;
    background: unset;
}
.acf-button-group label.selected {
    color: #377dff;
    background: rgba(55,125,255,.1);
}

/* Date range filter */
.date-range-filter[readonly] {
    background-color: #fff !important;
}

/* Nav tabs */
.nav-tabs {
    --bs-nav-tabs-border-width: 0rem;
}

/* Horizontal scroller arrows */
.hs-nav-scroller-horizontal .hs-nav-scroller-arrow-prev {
    background-image: linear-gradient(to right,#ffffff 50%,rgba(255,255,255,0) 100%) !important;
}
.hs-nav-scroller-horizontal .hs-nav-scroller-arrow-next {
    background-image: linear-gradient(to right,rgba(255,255,255,0) 0,#ffffff 50%) !important;
}

/* Offcanvas */
@media (max-width: 510px) {
  .offcanvas-backdrop {
    background-color: #fff !important;
    opacity: 1 !important;
  }
}

/* Pagination for small screens */
@media (max-width: 768px) {
  #main_table_paginate .paginate_item.page-item { display: none; }
  #main_table_paginate .paginate_item.page-item.active,
  #main_table_paginate .paginate_item.page-item:has(> .paginate_button.previous),
  #main_table_paginate .paginate_item.page-item:has(> .paginate_button.next) {
    display: list-item;
  }
}

/* Select2 */
.select2-selection--single,
.select2-selection--multiple {
    border: 1px solid var(--bs-border-color) !important;
    min-height: calc(2.25rem + 3px) !important;
    padding: 0.375rem 0 !important;
    font-size: .8125rem;
}

.select2-selection--multiple {
    padding: 0 !important;
}
.select2-container.-acf .select2-selection--multiple .select2-search--inline:first-child input {
    padding-top: 0.375rem !important;
}
.select2-container--default .select2-selection__arrow {
    top: 6px !important;
}
.select2-container--open .select2-dropdown--below {
    border: 1px solid var(--bs-border-color);
}
.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid var(--bs-border-color);
    border-radius: 0.3125rem;
}
.select2-container--open { z-index: 999999; }
.select2-container.-acf .select2-selection--multiple .select2-selection__choice {
    background-color: rgba(19,33,68,.1);
    border: 0;
    margin: 5px 5px 0 0;
    padding: 3px 10px;
}
.select2-container.-acf .select2-selection--multiple .select2-selection__choice__remove {
    margin-right: 5px;
}



/* Flatpickr */
.flatpickr-monthSelect-month {
    color: #677788 !important;
}
.flatpickr-calendar .flatpickr-day.today {
    color: #377dff !important;
    background-color: unset !important;
}
.flatpickr-monthSelect-month.selected,
.flatpickr-monthSelect-month.startRange,
.flatpickr-monthSelect-month.endRange {
    color: #fff !important;
    background-color: #377dff !important;
    border-color: #377dff !important;
}

/* Form switches */
.form-check-switch .form-check-input:checked~.form-check-label {
    color: #377dff !important;
    background-color: #ebf2ff !important;
}
.form-check-switch .form-check-label {
    color: #677788 !important;
    border: .0625rem solid #eef0f7 !important;
}

/* List groups */
.tab-pane .list-group .list-group-item:first-child {
    padding-top: 0;
}

/* Nav scroller */
.nav-scroller {
    width: 100%;
    overflow: hidden;
    position: relative;
}
.nav-track {
    margin: 0 2%;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    width: 96%;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    gap: .25rem;
    padding-bottom: .25rem;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.nav-track::-webkit-scrollbar { display: none; }
.nav-track .nav-item { flex: 0 0 auto; }
.nav-scroll.next,
.nav-scroll.prev {
    background: none;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
    z-index: 5;
    font-size: 20px;
}

/* Loading input */
.loading-input {
    background-image: url('../svg/loader/loader-input.svg');
    background-size: 20px;
    background-position: right center;
    background-repeat: no-repeat;
    background-origin: content-box;
}






















/**
 * ============================================================
 * CMMS MAPS - osnovni wrapper
 * ============================================================
 */
.cmms-map {
    width: 100%;
    overflow: hidden;
    border-radius: 0.75rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #f8fafd;
}

/**
 * ============================================================
 * Velik zemljevid
 * - za Stranka form in Stranka offcanvas
 * ============================================================
 */
.cmms-map[data-map-variant="large-editable"],
.cmms-map[data-map-variant="large-readonly"] {
    width: 100%;
    height: 320px;
}

/**
 * Če hočeš malo višjo mapo na večjih ekranih
 */
@media (min-width: 1200px) {
    .cmms-map[data-map-variant="large-editable"],
    .cmms-map[data-map-variant="large-readonly"] {
        height: 360px;
    }
}

/**
 * ============================================================
 * Mini preview mapa
 * - za vse ostale prikaze
 * ============================================================
 */
.cmms-map[data-map-variant="mini-readonly"] {
    width: 100px;
    height: 63px;
    border-radius: 0.5rem;
    cursor: pointer;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.06);
}

/**
 * Da Leaflet container lepo podeduje rounded corners
 */
.cmms-map .leaflet-container {
    width: 100%;
    height: 100%;
    border-radius: inherit;
}

/**
 * Pri mini preview mapi nočemo popup overflow problemov
 */
.cmms-map[data-map-variant="mini-readonly"] .leaflet-popup {
    display: none;
}

/**
 * ============================================================
 * Fullscreen preview overlay
 * ============================================================
 */
.cmms-map-preview-overlay {
    position: fixed;
    inset: 0;
    z-index: 2000;
}

.cmms-map-preview-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.65);
    backdrop-filter: blur(2px);
}

.cmms-map-preview-panel {
    position: absolute;
    inset: 2rem;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.2);
}

.cmms-map-preview-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.875rem 1rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    background: #fff;
}

.cmms-map-preview-title {
    font-size: 1rem;
    font-weight: 600;
    color: #1e293b;
}

.cmms-map-preview-close {
    border: 0;
    background: transparent;
    font-size: 2rem;
    line-height: 1;
    color: #475569;
    cursor: pointer;
}

.cmms-map-preview-body {
    position: relative;
    flex: 1 1 auto;
    min-height: 300px;
}

.cmms-map-preview-canvas {
    width: 100%;
    height: 100%;
    min-height: 300px;
}

.cmms-map-preview-footer {
    padding: 0.75rem 1rem;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    background: #fff;
    display: flex;
    justify-content: flex-end;
}

body.cmms-map-preview-open {
    overflow: hidden;
}

@media (max-width: 767.98px) {
    .cmms-map-preview-panel {
        inset: 1rem;
        border-radius: 0.875rem;
    }

    .cmms-map-preview-body,
    .cmms-map-preview-canvas {
        min-height: 260px;
    }

    .cmms-map[data-map-variant="mini-readonly"] {
        width: 100px;
        height: 63px;
    }
}