:root{
  --modal-max-vh-desktop: 90vh;
  --modal-max-vh-mobile: 76vh; 
  --modal-max-width-desktop: 98vw;
  --modal-padding: 16px;
  --slider-max-vh-desktop: 96vh;
  --slider-gap: 10px;
}
#photoModal{
  display:flex;
  align-items:center;
  justify-content:center;
}
#photoModal > div{
  box-sizing:border-box;
  width:100vw;
  height:100vh;
  max-width:var(--modal-max-width-desktop);
  max-height:98vh;
  padding:var(--modal-padding);
  display:flex;
  align-items:center;
  justify-content:center;
}
#modalPhoto{
  max-width:98vw;
  max-height:var(--modal-max-vh-desktop);
  object-fit:contain;
  display:block;
  margin:0 auto;
  border-radius:8px;
  box-shadow:0 4px 20px rgba(0,0,0,0.45);
}
.slider{
  width:100%;
  max-width:90vw;
  gap:var(--slider-gap);
}
.slider .slide{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  box-sizing:border-box;
}
.slider .slide-img{ 
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  object-position:center center;
}
@media (max-width: 768px){
  #modalPhoto{
    max-height:var(--modal-max-vh-mobile);
    max-width:92vw;
  }
  #modalPhoto.portrait{
    max-height:calc(var(--modal-max-vh-mobile) + 10vh);
  }
}
@media (max-width: 900px){
  .nav-dropdown-menu{
    left: 0 !important;
    top: 110% !important;
    transform: translateY(-6px) !important;
    min-width: 160px;
  }
}
@media (max-width: 900px){
  .slider{ max-width:98vw; }
}
button:focus, .slider-arrow:focus, .modal-close:focus{ outline:3px solid #bdbdbd; outline-offset:2px; }
.nav-dropdown { position: relative; }
.nav-dropdown-toggle { cursor: pointer; }
.nav-dropdown-menu {
  position: absolute;
  left: 0;
  top: 110%;
  background: rgba(20,20,20,0.98);
  border-radius: 6px;
  padding: 8px 6px;
  min-width: 160px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.35);
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  transition: opacity 220ms ease, transform 220ms ease;
  z-index: 60;
}
.nav-dropdown-menu a{ display:block; padding:6px 10px; color:#fff; text-decoration:none; }
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown-menu[aria-hidden="false"]{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.sidebar .nav-dropdown .nav-dropdown-menu{
  left: calc(100% + 8px);
  top: 0;
  transform: translateX(-6px);
}
.sidebar .nav-dropdown .nav-dropdown-menu[aria-hidden="false"]{
  transform: translateX(0);
}
.nav-dropdown-menu { background: rgba(20,20,20,0.80); }
.sidebar nav a{
  color: inherit;
  text-decoration: none;
  font-weight: bold;
  padding: 8px 24px;
  display: block;
  width: 90%;
  box-sizing: border-box;
  border-radius: 0 16px 16px 0;
  transition: background 0.2s;
}
.sidebar nav a:hover{ background: #444; }
.sidebar nav .sidebar-link{
  padding-left: 16px; 
  padding-right: 24px;
}