:root {
    --nap-red: #ed1b2f;
    --nap-highlight-color: var(--nap-red);
    --nap-background-color: white;
    --nap-heading-color: #344854;
}
::selection {
    background: var(--nap-highlight-color);
}
html {
    background: var(--nap-background-color);
}

body, footer, .single-post-card, .page-link, .page-link.disabled, .disabled > .page-link, li.pagenav {
    background: none;
}
body, .post-title {
    color: var(--nap-heading-color);
}
li.pagenav {
    filter: contrast(70%)
}
.navbar-brand:hover, .navbar-brand:focus, .search-input {
    color: unset;
}

:root[data-theme="dark"] {
    --nap-red: #ea6773;

    --nap-background-color: #131313;
    --nap-heading-color: #aabcc7;
    --bs-secondary-color: #6d7e89;
    -webkit-filter:none;
    filter: none;

    footer, div.pagination {
        filter: invert(1) hue-rotate(180deg) brightness(.65) contrast(0.85);
    }
    body {
        background-color: var(--nap-background-color) !important;
    }
    img {
        -webkit-filter:none;
        filter: none;
    }
    .card {
        --bs-card-color: var(--bs-secondary-color);
    }
    .share-box {
        filter: invert(1) hue-rotate(180deg) brightness(.65) contrast(0.85)
    }
}

/* CSS Columns for Masonry effect */
.gallery {
    column-count: 3;
    /* Number of columns */
    column-gap: 15px;
    /* Space between columns */
}

.gallery-item {
    display: inline-block;
    width: 100%;
    break-inside: avoid;
    /* Prevents items from breaking across columns */
}

.gallery img {
    width: 100%;
    height: auto;
    transition: transform 0.3s ease;
    border-radius: 4px;
}

.gallery img:hover {
    transform: scale(1.05);
}

/* Responsive adjustments */
@media (max-width: 992px) {
    .gallery {
        column-count: 3;
    }
}

@media (max-width: 768px) {
    .gallery {
        column-count: 2;
    }
}

@media (max-width: 576px) {
    .gallery {
        column-count: 1;
    }
}

.glightbox-open {
    height: auto;
}


/* links */
p a,
li a,
.post-preview a:focus,
.post-preview a:hover,
.search .search-icon {
    color: var(--nap-highlight-color);
}

/* navigation bar */

.navbar-brand {
    font-size: 2rem;
    --bs-navbar-brand-color: var(--nap-heading-color);
}
.navbar-nav .nav-link.active {
    background-color: var(--nap-highlight-color);
    color: white;
    opacity: 70%;
}
.navbar, .nav-link {
    background-color: var(--nap-background-color);
    color: var(--nap-heading-color);
}
.nav-link:hover {
    color: var(--nap-highlight-color);
}

.post-title:focus, .post-title:hover {
    color: var(--nap-highlight-color);
}

/* 'toc' shortcode */
div.toc {
    opacity: 50%;
}

/* 'blockquote' shortcode */
blockquote {
    margin:20px 0;
    padding:0 14px;
    border-inline-start:3px solid gray;
}

blockquote footer {
    display: block;
    padding: 1em;
    background-color: inherit;
}

/* goto-top */
#top-link {
    margin-bottom:40px;
}

.top-link {
    visibility:hidden;
    position:fixed;
    bottom:60px;
    right:30px;
    z-index:99;
    background:var(--tertiary);
    width:42px;
    height:42px;
    padding:12px;
    border-radius:64px;
    transition:visibility .5s,opacity .8s linear;
}
.top-link,
.top-link svg {
    filter:drop-shadow(0 0 0 var(--theme));
}
.footer a:hover,
.top-link:hover {
    color:var(--primary);
}
.top-link:focus,
#theme-toggle:focus {
    outline:0;
}

/* preview images */
img.card-img-bottom {
    object-fit: cover;
    aspect-ratio: 4/3;
}
