/* scroll to top - start */
.scroll-to-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    color: white;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    opacity: 0;
    transition: opacity 0.3s, background-color 0.3s;
}

.scroll-to-top.visible {
    display: flex;
    opacity: 1;
}
[data-bs-theme="light"] .scroll-to-top, :root .scroll-to-top{
    background: var(--dc-tertiary-hover);
}
[data-bs-theme="dark"] .scroll-to-top{
    background: var(--dc-primary);
}
[data-bs-theme="light"] .scroll-to-top:hover, :root .scroll-to-top:hover{
    background: var(--dc-tertiary);
    box-shadow: 0 0 0 .2rem rgba(var(--dc-tertiary-rgb), 0.25);
}
[data-bs-theme="dark"] .scroll-to-top:hover{
    background: var(--dc-primary);
    box-shadow: 0 0 0 .2rem rgba(var(--dc-primary-rgb), 0.25);
}
/* scroll to top - end */




/* smart sticky header - start */
.navbar-container {
    transition: transform 0.4s ease, opacity 0.4s ease;
    will-change: transform, opacity;
  }
  
  .navbar-hidden {
    transform: translateY(calc(-100% - 24px));
    opacity: 0;
    pointer-events: none; /* optional: prevent accidental clicks */
  }
  
:root .navbar-scrolled, [data-bs-theme="light"] .navbar-scrolled {
  --dc-navbar-shadow-color: rgba(0,0,0,0.1);
  --dc-navbar-bg-color: var(--bs-body-bg);
}
[data-bs-theme="dark"] .navbar-scrolled {
  --dc-navbar-shadow-color: rgb(255 255 255 / 10%);
  --dc-navbar-bg-color: var(--bs-black);
}
  .navbar-scrolled {
    position: fixed;
    top: 18px;
    z-index: 1030;
    background-color: var(--dc-navbar-bg-color);
    box-shadow: 0 4px 40px var(--dc-navbar-shadow-color);
    border-radius: 50px;
    padding-top: 20px;
    padding-bottom: 16px;
    opacity: 1;
  
    /* Container behavior */
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * 1);
    padding-left: calc(var(--bs-gutter-x) * 1); 
    margin-left: calc(-1 * var(--bs-gutter-x) * 1);
  }
  
  @media (min-width: 576px) { .navbar-scrolled { max-width: 540px; } }
  @media (min-width: 768px) { .navbar-scrolled { max-width: 720px; } }
  @media (min-width: 992px) { .navbar-scrolled { max-width: 960px; } }
  @media (min-width: 1200px) { .navbar-scrolled { max-width: 1140px; } }
  /* @media (min-width: 1400px) { .navbar-scrolled { max-width: 1254px; } } +24 +24 */
  @media (min-width: 1400px) { .navbar-scrolled { max-width: 1278px; } }
  /* smart sticky header - end */
  