body {
    background-color: #eef1f5;
    color: #1f2937;
}

.navbar-brand {
    letter-spacing: 0.02em;
}

.card {
    border-radius: 1rem;
    border: 0;
    box-shadow: 0 0.15rem 0.8rem rgba(15, 23, 42, 0.08);
}

.table > :not(caption) > * > * {
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
}

/* Horní navigace obce */
.navbar.bg-primary {
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.12);
}

.navbar.bg-primary .nav-link {
    color: rgba(255, 255, 255, 0.82);
}

.navbar.bg-primary .nav-link:hover,
.navbar.bg-primary .nav-link:focus {
    color: #ffffff;
}

.navbar.bg-primary .nav-link.active {
    color: #ffffff;
    font-weight: 700;
}

/* Layout stránky hřbitova */
.cemetery-page {
    padding-left: 1rem;
    padding-right: 1rem;
}

.cemetery-content {
    max-width: 100%;
}

/* Sidebar */
.cemetery-sidebar {
    position: sticky;
    top: 1rem;
}

.cemetery-sidebar-inner {
    background: linear-gradient(180deg, #334155 0%, #1e293b 100%);
    color: #e5edf7;
    border-radius: 1rem;
    padding: 1rem;
    box-shadow: 0 0.5rem 1.5rem rgba(15, 23, 42, 0.18);
}

.cemetery-sidebar-heading {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding-bottom: 0.9rem;
}

.cemetery-sidebar-eyebrow {
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
    margin-bottom: 0.35rem;
}

.cemetery-sidebar-name {
    font-size: 1rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.35;
}

.cemetery-menu-group-title {
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #94a3b8;
    margin-bottom: 0.5rem;
    margin-top: 0.5rem;
}

.cemetery-sidebar .list-group,
.offcanvas .list-group {
    gap: 0.2rem;
}

.cemetery-sidebar .list-group-item,
.offcanvas .list-group-item {
    background: transparent;
    color: #e2e8f0;
    border: 0;
    border-radius: 0.75rem;
    padding: 0.55rem 0.8rem;
    transition: background-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.cemetery-sidebar .list-group-item:hover,
.offcanvas .list-group-item:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    transform: translateX(2px);
    padding-left: 1rem !important;

}

.cemetery-sidebar .list-group-item.active,
.offcanvas .list-group-item.active {
    background: rgba(59, 130, 246, 0.22) !important;
    color: #ffffff !important;
    font-weight: 700;
    box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.35);
        padding-left: 1rem !important;
}

/* Offcanvas menu hřbitova */
.offcanvas .offcanvas-header {
    border-bottom: 1px solid #dee2e6;
}

.offcanvas .offcanvas-body {
    background: #f8fafc;
}

/* Drobné UI zlepšení pro info boxy */
.stat-card-label {
    font-size: 0.9rem;
    color: #6b7280;
    margin-bottom: 0.35rem;
}

.stat-card-value {
    font-size: 1.2rem;
    font-weight: 700;
    color: #111827;
}

/* Na desktopu lehce větší odsazení od levého okraje */
@media (min-width: 1200px) {
    .cemetery-page {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

.notice-content {
    line-height: 1.65;
}

.notice-content p:last-child {
    margin-bottom: 0;
}

.help-content {
    line-height: 1.75;
    font-size: 1rem;
}

.help-content h1,
.help-content h2,
.help-content h3,
.help-content h4 {
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
}

.help-content p:last-child {
    margin-bottom: 0;
}

.help-content img {
    max-width: 100%;
    height: auto;
}

.help-content table {
    width: 100%;
    margin-bottom: 1rem;
}

.help-content iframe {
    max-width: 100%;
}
.map-card {
    overflow: hidden;
}

.map-stage {
    width: 100%;
    overflow: auto;
    background: #f8fafc;
    border-radius: 0.75rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    padding: 0.75rem;
}

#mapwrapper {
    margin: 0 auto;
}

#small-info {
    z-index: 2000;
}