@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500&display=swap');
/** 
 * Theme for novaGallery - https://novagallery.org
 * Theme: "novaGallery"
 * Author: novafacile OÜ
 * License: AGPL-3.0 
 **/
:root {
  --bg-color: #333333;
  --text-color: #eeeeee;
  --link-color: #eeeeee;
  --link-color-hover: #eeeeee;
  --link-color-muted: rgba(222, 226, 230, 0.75);
  --link-color-muted-hover: rgba(222, 226, 230, 0.75);
  --lightbox-bg: #333333;
  --lightbox-color: #eeeeee;
}

body {
  background-color: var(--bg-color);
  padding: 0;
  margin: 0;
  color: var(--text-color);
  font-family: 'Montserrat', sans-serif !important; /* Forces premium font sitewide */
}

.navbar-brand {
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.3rem;
}

a, a:visited {
  color: var(--link-color);
  text-decoration: none;
}

a:hover, a:active {
  color: var(--link-color-hover);
}

.text-muted a, .text-muted a:visited {
  color: var(--link-color-muted);
  text-decoration: none;
}

.text-muted a:hover, .text-muted a:active{
  color: var(--link-color-muted-hover); 
}

main .cover-image img {
  width: 100%;
  object-fit: cover;
}

@media (hover: hover) and (pointer: fine) {
  main .cover-image {
    transition: transform .4s;
  }

  main .cover-image:hover {
    transform: scale(1.02);
  }  
}

/** Lightbox **/
.sl-overlay {
  background: var(--lightbox-bg);
}

.sl-wrapper .sl-image .sl-caption {
  font-size: 1rem;
  opacity: 0.9 !important;
}

.sl-wrapper .sl-close,
.sl-wrapper .sl-navigation button,
.sl-wrapper .sl-counter { 
  color: var(--lightbox-color);
  opacity: 1;
  }

/* Custom Portfolio Brand Tuning */
body {
    background-color: #0b0b0b !important; /* Deeper midnight black backdrop */
}

/* Clean up and elevate the main header logo text */
.navbar-brand, .brand-text, h1.logo { 
    font-weight: 300 !important;
    text-transform: uppercase !important;
    letter-spacing: 5px !important; /* Adds sleek cinematic breathing room */
    font-size: 1.25rem !important;
    color: #ffffff !important;
}

/* Subtitle / Gallery metadata text styling */
.gallery-info, .album-description, p.text-muted {
    font-size: 0.85rem !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    opacity: 0.6 !important;
}

/* Clean up borders and give images visual room to pop */
.gallery-item img, .card img {
    border: none !important;
    border-radius: 0px !important; /* Sharp, fine-art canvas edges instead of round corners */
    transition: opacity 0.3s ease-in-out;
}

.gallery-item img:hover {
    opacity: 0.8;
}

/* Hide default unbranded top navigation text and collapse the container entirely */
.navbar, 
header,
.navbar-brand, 
header .logo a, 
nav span, 
.navbar .nav-link, 
.navbar a {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ==========================================================================
   Premium Typography & Layout Force Overrides
   ========================================================================== */

h1.gallery-title, 
.gallery-title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 300 !important;
    text-transform: uppercase !important;
    letter-spacing: 5px !important;
    font-size: 1.6rem !important;
    color: #ffffff !important;
    text-align: center !important;
    margin-top: 15px !important;
    margin-bottom: 15px !important;
}

.album-title, 
.cover-image a div, 
.albums div {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 400 !important;
    font-size: 0.85rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #b0b0b0 !important;
    text-align: center !important;
}

.brand-logo-wrapper {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

/* Hide unbranded theme footer entirely */
footer, 
.footer, 
html body footer, 
main + footer {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    visibility: hidden !important;
}