/* Leaflet popup: allow dragging the map when popup is on top (mouse + touch).
   - background of popup passes pointer events to the map
   - interactive controls inside popup remain clickable
   - touch-action:none prevents browser gestures from stealing the drag
*/
.leaflet-popup,
.leaflet-popup-pane .leaflet-popup-content-wrapper,
.leaflet-popup-pane .leaflet-popup-tip {
    pointer-events: none;
    touch-action: none;
}

.leaflet-popup-pane .leaflet-popup-content a,
.leaflet-popup-pane .leaflet-popup-content button,
.leaflet-popup-pane .leaflet-popup-content input,
.leaflet-popup-pane .leaflet-popup-content select,
.leaflet-popup-pane .leaflet-popup-content textarea,
.leaflet-popup-pane .leaflet-popup-close-button {
    pointer-events: auto;
}


/* === Leaflet: przeciąganie mapy "przez" popup (mouse + touch) === */
/* Tło popupu nie przechwytuje pointerów -> eventy idą do mapy (drag działa). */
.leaflet-popup,
.leaflet-popup-pane .leaflet-popup-content-wrapper,
.leaflet-popup-pane .leaflet-popup-tip {
    pointer-events: none;
}

/* Interaktywne elementy w popupie nadal klikalne. */
.leaflet-popup-pane .leaflet-popup-content a,
.leaflet-popup-pane .leaflet-popup-content button,
.leaflet-popup-pane .leaflet-popup-content input,
.leaflet-popup-pane .leaflet-popup-content select,
.leaflet-popup-pane .leaflet-popup-content textarea,
.leaflet-popup-pane .leaflet-popup-content label,
.leaflet-popup-pane .leaflet-popup-close-button {
    pointer-events: auto;
}
@media (min-width: 992px) {
    .custom-offcanvas-width {
        width: 35%; /* 50% width on large screens */
    }
}

@media (max-width: 991.98px) {
    .custom-offcanvas-width {
        width: 100%; /* Full width on smaller screens */
    }
}

.list-group li {
    color: inherit; /* Zresetuj dziedziczony kolor */
}

.list-group .fa-heart {
    color: red; /* Kolor serca */
}


.em05 {
    font-size: 0.5em !important;
}

.em07 {
    font-size: 0.7em !important;
}


.em08 {
    font-size: 0.8em !important;
}

.em09 {
    font-size: 0.9em !important;
}

.em10 {
    font-size: 1.0em !important;
}

.em12 {
    font-size: 1.2em !important;
}

.em14 {
    font-size: 1.4em !important;
}


.w-10 {
    width: 10% !important;
}

.w-15 {
    width: 15% !important;
}

.w-20 {
    width: 20% !important;
}


.w-30 {
    width: 30% !important;
}

.w-40 {
    width: 40% !important;
}

.w-50 {
    width: 50% !important;
}

.w-60 {
    width: 60% !important;
}

.w-70 {
    width: 70% !important;
}

.w-80 {
    width: 80% !important;
}

.w-90 {
    width: 90% !important;
}


.mr-1 {
    margin-right: 10px !important;
}

.ml-1 {
    margin-left: 10px !important;
}

.fred {
    color: red !important;
}

@media (max-width: 992px) {
    .table td .btn {
        padding: 3px;
    }

    .w-sm-15 {
        width: 20% !important;
    }

    .w-sm-85 {
        width: 80% !important;
    }
}

/* public/css/styles.css */
.flash-error {
    color: red;
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    padding: 10px;
    margin-bottom: 10px;
    border-radius: 5px;
}

.form-error {
    color: red;
    font-weight: bold;
}

.field-error {
    border-color: red;
}

/*better button display*/

.btn-compact {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
}

.list-group-item {
    padding: 0.5rem 1rem;
}
/* --- Dashboard / Sidebar: lepsza czytelność na małych ekranach --- */
@media (max-width: 991.98px) {
    .pc-sidebar .navbar-content {
        padding: 12px 10px;
    }

    /* Kafle w menu */
    .pc-sidebar .pc-navbar.pc-navbar-tiles {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        padding-bottom: 12px;
    }

    .pc-sidebar .pc-navbar.pc-navbar-tiles > li.pc-item.pc-caption {
        grid-column: 1 / -1;
        margin: 6px 0 2px;
        padding: 0;
    }

    .pc-sidebar .pc-navbar.pc-navbar-tiles > li.pc-item {
        margin: 0;
    }

    .pc-sidebar .pc-navbar.pc-navbar-tiles > li.pc-item > a.pc-link,
    .pc-sidebar .pc-navbar.pc-navbar-tiles > li.pc-item > div.pc-link {
        border: 1px solid rgba(255, 255, 255, 0.12);
        background: rgba(255, 255, 255, 0.06);
        border-radius: 12px;
        padding: 14px 12px;
        min-height: 76px;
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .pc-sidebar .pc-navbar.pc-navbar-tiles > li.pc-item > a.pc-link:active {
        transform: translateY(1px);
    }

    .pc-sidebar .pc-navbar.pc-navbar-tiles .pc-micon {
        width: 40px;
        min-width: 40px;
        height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 10px;
        background: rgba(0, 0, 0, 0.18);
    }

    .pc-sidebar .pc-navbar.pc-navbar-tiles .pc-micon i {
        font-size: 26px;
        line-height: 1;
    }

    .pc-sidebar .pc-navbar.pc-navbar-tiles .pc-mtext {
        font-size: 0.95rem;
        line-height: 1.15;
        white-space: normal;
    }

    .pc-sidebar .pc-navbar.pc-navbar-tiles .pc-arrow {
        margin-left: auto;
    }

    /* Submenu jako lista (nie kafle) */
    .pc-sidebar .pc-navbar.pc-navbar-tiles .pc-submenu {
        grid-column: 1 / -1;
        padding: 8px 6px 10px;
        margin: -2px 0 4px;
        border: 1px dashed rgba(255, 255, 255, 0.12);
        border-radius: 12px;
        background: rgba(0, 0, 0, 0.12);
    }

    .pc-sidebar .pc-navbar.pc-navbar-tiles .pc-submenu .pc-link {
        padding: 10px 10px;
        border-radius: 10px;
    }

    .pc-sidebar .pc-navbar.pc-navbar-tiles .pc-submenu .pc-link i {
        font-size: 22px;
        margin-right: 8px;
    }

    /* Badge / chip */
    .pc-sidebar .pc-badge,
    .pc-sidebar .badge {
        font-size: 0.75rem;
        padding: 0.35rem 0.55rem;
        border-radius: 999px;
    }
}


/*hamburher menu zawsze bialy na sidebar*/

@media (min-width: 992px) {
    .custom-offcanvas-width {
        width: 35%; /* 50% width on large screens */
        }
    }

@media (max-width: 991.98px) {
    .custom-offcanvas-width {
        width: 100%; /* Full width on smaller screens */
        }
    }

.list-group li {
    color: inherit; /* Zresetuj dziedziczony kolor */
    }

.list-group .fa-heart {
    color: red; /* Kolor serca */
    }


.em05 {
    font-size: 0.5em !important;
    }

.em07 {
    font-size: 0.7em !important;
    }


.em08 {
    font-size: 0.8em !important;
    }

.em09 {
    font-size: 0.9em !important;
    }

.em10 {
    font-size: 1.0em !important;
    }

.em12 {
    font-size: 1.2em !important;
    }

.em14 {
    font-size: 1.4em !important;
    }


.w-10 {
    width: 10% !important;
    }

.w-15 {
    width: 15% !important;
    }

.w-20 {
    width: 20% !important;
    }


.w-30 {
    width: 30% !important;
    }

.w-40 {
    width: 40% !important;
    }

.w-50 {
    width: 50% !important;
    }

.w-60 {
    width: 60% !important;
    }

.w-70 {
    width: 70% !important;
    }

.w-80 {
    width: 80% !important;
    }

.w-90 {
    width: 90% !important;
    }


.mr-1 {
    margin-right: 10px !important;
    }

.ml-1 {
    margin-left: 10px !important;
    }

.fred {
    color: red !important;
    }

@media (max-width: 992px) {
    .table td .btn {
        padding: 3px;
        }

    .w-sm-15 {
        width: 20% !important;
        }

    .w-sm-85 {
        width: 80% !important;
        }
    }

/* public/css/styles.css */
.flash-error {
    color: red;
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    padding: 10px;
    margin-bottom: 10px;
    border-radius: 5px;
    }

.form-error {
    color: red;
    font-weight: bold;
    }

.field-error {
    border-color: red;
    }

/*better button display*/

.btn-compact {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    }

.list-group-item {
    padding: 0.5rem 1rem;
    }
/* --- Dashboard / Sidebar: lepsza czytelność na małych ekranach --- */
@media (max-width: 991.98px) {
    .pc-sidebar .navbar-content {
        padding: 12px 10px;
        }

    /* Kafle w menu */
    .pc-sidebar .pc-navbar.pc-navbar-tiles {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        padding-bottom: 12px;
        }

    .pc-sidebar .pc-navbar.pc-navbar-tiles > li.pc-item.pc-caption {
        grid-column: 1 / -1;
        margin: 6px 0 2px;
        padding: 0;
        }

    .pc-sidebar .pc-navbar.pc-navbar-tiles > li.pc-item {
        margin: 0;
        }

    .pc-sidebar .pc-navbar.pc-navbar-tiles > li.pc-item > a.pc-link,
    .pc-sidebar .pc-navbar.pc-navbar-tiles > li.pc-item > div.pc-link {
        border: 1px solid rgba(255, 255, 255, 0.12);
        background: rgba(255, 255, 255, 0.06);
        border-radius: 12px;
        padding: 14px 12px;
        min-height: 76px;
        display: flex;
        align-items: center;
        gap: 10px;
        }

    .pc-sidebar .pc-navbar.pc-navbar-tiles > li.pc-item > a.pc-link:active {
        transform: translateY(1px);
        }

    .pc-sidebar .pc-navbar.pc-navbar-tiles .pc-micon {
        width: 40px;
        min-width: 40px;
        height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 10px;
        background: rgba(0, 0, 0, 0.18);
        }

    .pc-sidebar .pc-navbar.pc-navbar-tiles .pc-micon i {
        font-size: 26px;
        line-height: 1;
        }

    .pc-sidebar .pc-navbar.pc-navbar-tiles .pc-mtext {
        font-size: 0.95rem;
        line-height: 1.15;
        white-space: normal;
        }

    .pc-sidebar .pc-navbar.pc-navbar-tiles .pc-arrow {
        margin-left: auto;
        }

    /* Submenu jako lista (nie kafle) */
    .pc-sidebar .pc-navbar.pc-navbar-tiles .pc-submenu {
        grid-column: 1 / -1;
        padding: 8px 6px 10px;
        margin: -2px 0 4px;
        border: 1px dashed rgba(255, 255, 255, 0.12);
        border-radius: 12px;
        background: rgba(0, 0, 0, 0.12);
        }

    .pc-sidebar .pc-navbar.pc-navbar-tiles .pc-submenu .pc-link {
        padding: 10px 10px;
        border-radius: 10px;
        }

    .pc-sidebar .pc-navbar.pc-navbar-tiles .pc-submenu .pc-link i {
        font-size: 22px;
        margin-right: 8px;
        }

    /* Badge / chip */
    .pc-sidebar .pc-badge,
    .pc-sidebar .badge {
        font-size: 0.75rem;
        padding: 0.35rem 0.55rem;
        border-radius: 999px;
        }
    }

/* --- Mobile header: hamburger zawsze biały (nie czarny / nie purpurowy po toggle) --- */
.pc-mob-header .hamburger-inner,
.pc-mob-header .hamburger-inner::before,
.pc-mob-header .hamburger-inner::after,
.pc-mob-header .hamburger.is-active .hamburger-inner,
.pc-mob-header .hamburger.is-active .hamburger-inner::before,
.pc-mob-header .hamburger.is-active .hamburger-inner::after,
.pc-mob-header .pc-head-link.active .hamburger .hamburger-inner,
.pc-mob-header .pc-head-link.active .hamburger .hamburger-inner::before,
.pc-mob-header .pc-head-link.active .hamburger .hamburger-inner::after,
.pc-mob-header .pc-head-link:active .hamburger .hamburger-inner,
.pc-mob-header .pc-head-link:active .hamburger .hamburger-inner::before,
.pc-mob-header .pc-head-link:active .hamburger .hamburger-inner::after,
.pc-mob-header .pc-head-link:focus .hamburger .hamburger-inner,
.pc-mob-header .pc-head-link:focus .hamburger .hamburger-inner::before,
.pc-mob-header .pc-head-link:focus .hamburger .hamburger-inner::after,
.pc-mob-header .pc-head-link:hover .hamburger .hamburger-inner,
.pc-mob-header .pc-head-link:hover .hamburger .hamburger-inner::before,
.pc-mob-header .pc-head-link:hover .hamburger .hamburger-inner::after {
    background-color: #fff !important;
    background: #fff !important;
    }


.material-icons-outlined { font-family: "Material Icons Outlined" !important; }