/* Projects fade-in */
.ps-fade-in{opacity:0; transform: translateY(8px); transition: opacity .35s ease, transform .35s ease;}
.ps-fade-in.ps-fade-in--show{opacity:1; transform: translateY(0);}

/* Lightbox */
.ps-lightbox{position:fixed; inset:0; z-index:999999; display:flex; align-items:center; justify-content:center;}
.ps-lightbox.hidden{display:none;}
.ps-lightbox__backdrop{position:absolute; inset:0; background:rgba(0,0,0,.78); backdrop-filter: blur(6px);}
.ps-lightbox__panel{position:relative; width:min(1100px, 92vw); height:min(78vh, 820px); border-radius:28px; border:1px solid rgba(255,255,255,.10); background:rgba(10,10,10,.85); box-shadow:0 30px 80px rgba(0,0,0,.6); overflow:hidden; display:flex; align-items:center; justify-content:center;}
.ps-lightbox__figure{margin:0; width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:22px;}
.ps-lightbox__img{max-width:100%; max-height:100%; object-fit:contain; border-radius:18px;}
.ps-lightbox__cap{margin-top:10px; font-size:13px; color:rgba(255,255,255,.7); text-align:center; max-width:92%;}
.ps-lightbox__close{position:absolute; top:12px; right:12px; width:40px; height:40px; border-radius:999px; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.06); color:#fff; font-size:22px; line-height:1; cursor:pointer;}
.ps-lightbox__nav{position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:999px; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.06); color:#fff; font-size:28px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center;}
.ps-lightbox__prev{left:12px;}
.ps-lightbox__next{right:12px;}
html.ps-lb-open{overflow:hidden;}

/* =========================================================
   Projects / Portfolio Filters — Premium dropdowns
   Scoped to Projects UI only (no side effects elsewhere)
   ======================================================= */
[data-ps-projects] form[data-ps-projects-filters]{
  margin-top: 2rem;
}
[data-ps-projects] form[data-ps-projects-filters] label span{
  letter-spacing: .08em;
  text-transform: uppercase;
}
[data-ps-projects] form[data-ps-projects-filters] select{
  width:100%;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  color:#fff;
  border-radius: 18px;
  padding: 12px 42px 12px 14px;
  outline: none;
  line-height: 1.2;
  -webkit-appearance: none;
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, rgba(196,154,108,.9) 50%),
                    linear-gradient(135deg, rgba(196,154,108,.9) 50%, transparent 50%),
                    linear-gradient(to right, rgba(255,255,255,.10), rgba(255,255,255,.10));
  background-position: calc(100% - 18px) calc(1em + 2px),
                       calc(100% - 13px) calc(1em + 2px),
                       calc(100% - 2.6em) 50%;
  background-size: 6px 6px, 6px 6px, 1px 60%;
  background-repeat: no-repeat;
}
[data-ps-projects] form[data-ps-projects-filters] select:focus{
  border-color: rgba(196,154,108,.65);
  box-shadow: 0 0 0 3px rgba(196,154,108,.18);
}
[data-ps-projects] form[data-ps-projects-filters] button[type="submit"],
[data-ps-projects] form[data-ps-projects-filters] a{
  border-radius: 18px;
}
[data-ps-projects] form[data-ps-projects-filters] a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
[data-ps-projects] .ps-empty{
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  padding: 18px 16px;
}

/* Mobile spacing for filter actions */
@media (max-width: 767px){
  [data-ps-projects] form[data-ps-projects-filters] .flex.items-end{
    flex-direction: column;
    align-items: stretch;
  }
}
