/* گره — آلبوم: حال‌وهوای تاریکخانه؛ عکس‌ها از سرخیِ نور ایمنی «ظاهر» می‌شوند */
.alb-head{ position:relative; isolation:isolate; overflow-x:clip; max-width:var(--maxw); margin-inline:auto; padding:var(--top) var(--gut) 0; }
.alb-head::before{ content:""; position:absolute; z-index:-1; top:-40px; left:50%; width:min(980px,120vw); height:560px; transform:translateX(-50%); pointer-events:none;
  background:radial-gradient(closest-side,rgba(227,18,44,.24),rgba(227,18,44,.06) 55%,transparent 75%); }
.alb-title{ font-size:clamp(3.6rem,9vw,7.6rem); line-height:1.15; }
.alb-head .lead{ margin-top:8px; }
.chips{ display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.chip{ padding:8px 18px; border-radius:999px; border:1px solid rgba(243,233,228,.14); color:var(--ash); font-weight:600; transition:all .2s; }
.chip:hover{ color:var(--bone); border-color:rgba(243,233,228,.3); }
.chip.is-on{ color:#fff; border-color:var(--cardinal); background:rgba(227,18,44,.16); box-shadow:0 0 22px -6px rgba(227,18,44,.85); }

.feat-wrap{ max-width:var(--maxw); margin:clamp(30px,4vw,52px) auto 0; padding-inline:var(--gut); }
.feat-wrap[hidden]{ display:none; }
.feat{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); overflow:hidden; border-radius:var(--r-l); background:#070102; border:1px solid var(--line-2); transition:border-color .3s; }
.feat:hover{ border-color:var(--line); }
.feat-media{ position:relative; overflow:hidden; min-height:440px; background-size:cover; background-position:center; }
.feat-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--ease),opacity .9s var(--ease),filter 1.8s var(--ease); }
.feat:hover .feat-media img{ transform:scale(1.04); }
.feat-copy{ display:flex; flex-direction:column; justify-content:flex-end; gap:12px; padding:clamp(24px,3.4vw,46px); }
.feat-tag{ color:var(--flare); font-weight:700; font-size:.9rem; }
.feat-title{ font-size:clamp(2.4rem,4.6vw,4.2rem); line-height:1.2; }
.feat-desc{ color:var(--ash); max-width:40ch; }
.feat-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; color:var(--smoke); font-size:.9rem; }
.feat-cta{ align-self:flex-start; margin-top:10px; }

.cards{ max-width:var(--maxw); margin:clamp(34px,4.6vw,60px) auto 0; padding:0 var(--gut) clamp(80px,9vw,130px);
  display:grid; grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr)); gap:clamp(34px,4vw,56px) clamp(22px,2.8vw,40px); }
.card{ display:block; }
.card[hidden]{ display:none; }
.card-stack{ position:relative; display:block; aspect-ratio:4 / 5; }
.print,.card-cover{ position:absolute; inset:0; border-radius:4px; background-color:#0a0203; background-size:cover; background-position:center;
  box-shadow:0 18px 40px -12px rgba(0,0,0,.95),0 0 0 1px rgba(243,233,228,.06); }
.print{ opacity:.92; transition:transform .65s var(--spring); }
.p1{ transform:rotate(-2.5deg) translate(-4px,4px); }
.p2{ transform:rotate(2.2deg) translate(5px,7px); }
.card:hover .p1,.card:focus-visible .p1{ transform:rotate(-10deg) translate(-24px,6px); }
.card:hover .p2,.card:focus-visible .p2{ transform:rotate(9deg) translate(24px,12px); }
.card-cover{ overflow:hidden; transition:transform .55s var(--spring),box-shadow .55s; }
.card:hover .card-cover,.card:focus-visible .card-cover{ transform:translateY(-7px);
  box-shadow:0 34px 64px -16px rgba(0,0,0,.95),0 0 0 1px rgba(227,18,44,.4),0 0 46px -10px rgba(227,18,44,.55); }
.card-cover img{ width:100%; height:100%; object-fit:cover; }
.card.is-locked .card-cover::after{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 40%,rgba(0,0,0,.05),rgba(0,0,0,.6)); }
.card-lock{ position:absolute; z-index:1; inset-inline-start:12px; bottom:12px; display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:999px;
  background:rgba(0,0,0,.74); border:1px solid rgba(255,90,31,.5); font-size:.8rem; font-weight:700; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.card-lock .ico{ width:15px; height:15px; color:var(--flare); }
.card:focus-visible{ outline:none; }
.card:focus-visible .card-title{ text-decoration:underline; text-underline-offset:6px; }
.card-meta{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-top:20px; }
.card-title{ font-size:1.7rem; line-height:1.3; transition:color .3s; }
:root[lang="en"] .card-title{ line-height:1.1; }
.card:hover .card-title{ color:var(--cardinal-hi); }
.card-count{ color:var(--smoke); font-size:.86rem; white-space:nowrap; }

/* ظاهر شدن عکس: از تصویر سرخ و کم‌نور به رنگ واقعی */
.dev{ opacity:0; filter:brightness(.3) sepia(1) hue-rotate(-38deg) saturate(4) contrast(1.4); }
.dev.is-in{ opacity:1; filter:none; transition:opacity .9s var(--ease),filter 1.7s var(--ease),transform 1s var(--ease); }

.badge-lock{ display:inline-flex; align-items:center; gap:6px; padding:3px 11px; border-radius:999px; border:1px solid rgba(255,90,31,.45); color:var(--bone); font-size:.8rem; font-weight:700; }
.badge-lock .ico{ width:14px; height:14px; color:var(--flare); }
.alb-empty{ max-width:var(--maxw); margin:36px auto 120px; padding-inline:var(--gut); }
.alb-empty[hidden]{ display:none; }

/* ---------- یک آلبوم ---------- */
.det{ max-width:var(--maxw); margin-inline:auto; padding:var(--top) var(--gut) clamp(80px,9vw,130px); }
.back-link{ display:inline-flex; align-items:center; gap:6px; color:var(--ash); font-weight:600; }
.back-link:hover{ color:var(--bone); }
.det-head{ margin:16px 0 clamp(28px,4vw,50px); }
.det-title{ font-size:clamp(3rem,8vw,6.6rem); line-height:1.15; }
.det-desc{ margin-top:8px; }
.det-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin-top:18px; color:var(--smoke); font-size:.92rem; }
.det-meta a{ color:var(--ash); text-decoration:underline; text-underline-offset:4px; }
.gallery{ columns:3 280px; column-gap:16px; }
.ph{ position:relative; margin:0 0 16px; overflow:hidden; break-inside:avoid; border-radius:4px; background-color:#0a0203; background-size:cover; background-position:center; }
.ph-a{ display:block; width:100%; height:100%; cursor:zoom-in; }
.ph img{ width:100%; height:100%; object-fit:cover; }
.ph:hover img.is-in{ transform:scale(1.035); }
.ph figcaption{ position:absolute; inset-inline:0; bottom:0; padding:24px 14px 10px; background:linear-gradient(transparent,rgba(0,0,0,.82)); font-size:.86rem; opacity:0; transition:opacity .3s; }
.ph:hover figcaption{ opacity:1; }
.locked{ position:relative; min-height:560px; }
.locked-grid{ columns:3 240px; column-gap:14px; opacity:.85; }
.locked-tile{ display:block; margin-bottom:14px; border-radius:4px; background-size:cover; background-position:center; }
.locked-card{ position:absolute; inset:0; display:grid; place-content:start center; padding-top:clamp(40px,8vw,96px)!important; justify-items:center; gap:12px; padding:24px; text-align:center;
  background:radial-gradient(62% 58% at 50% 46%,rgba(0,0,0,.86),rgba(0,0,0,.6) 70%,rgba(0,0,0,.3)); }
.locked-ico{ display:grid; place-items:center; width:58px; height:58px; border-radius:50%; border:1px solid rgba(255,90,31,.5); color:var(--flare); }
.locked-title{ font-size:clamp(2rem,4vw,3rem); }
.locked-card p{ color:var(--ash); max-width:36ch; }
.locked .stick-pair{ margin-top:18px; }
.locked .stick{ --size:122px; }

/* ---------- نمایشگر عکس ---------- */
.lb{ position:fixed; inset:0; z-index:180; display:grid; place-items:center; }
.lb[hidden]{ display:none; }
.lb-bg{ position:absolute; inset:0; background:rgba(0,0,0,.95); opacity:0; transition:opacity .35s var(--ease); }
.lb.is-open .lb-bg{ opacity:1; }
.lb-stage{ position:relative; z-index:1; margin:0; display:grid; justify-items:center; touch-action:none; }
.lb-img{ max-width:min(92vw,1500px); max-height:calc(100svh - 150px); width:auto; height:auto; border-radius:3px; box-shadow:0 40px 100px rgba(0,0,0,.9);
  user-select:none; -webkit-user-drag:none; will-change:transform; }
.lb-cap{ min-height:1.6em; margin-top:14px; color:var(--ash); font-size:.92rem; text-align:center; }
.lb-btn{ position:absolute; z-index:2; display:grid; place-items:center; width:50px; height:50px; border-radius:50%; border:1px solid rgba(243,233,228,.16);
  background:rgba(10,2,4,.72); color:var(--bone); cursor:pointer; transition:border-color .2s,background-color .2s,opacity .3s; }
.lb-btn:hover{ border-color:var(--cardinal); background:rgba(227,18,44,.22); }
.lb-btn .ico{ width:22px; height:22px; }
.lb-close{ top:calc(16px + env(safe-area-inset-top,0px)); inset-inline-end:16px; }
.lb-prev{ inset-inline-start:18px; top:50%; transform:translateY(-50%); }
.lb-next{ inset-inline-end:18px; top:50%; transform:translateY(-50%); }
.lb-count{ position:absolute; z-index:2; top:calc(28px + env(safe-area-inset-top,0px)); inset-inline-start:22px; color:var(--ash); font-weight:700; font-size:.9rem; }
.lb:not(.is-open) .lb-btn,.lb:not(.is-open) .lb-count,.lb:not(.is-open) .lb-cap{ opacity:0; }

@media (max-width:860px){
  .feat{ grid-template-columns:1fr; }
  .feat-media{ min-height:0; aspect-ratio:4 / 3; }
  .gallery{ columns:2 150px; column-gap:10px; }
  .ph{ margin-bottom:10px; }
  .lb-prev,.lb-next{ top:auto; bottom:calc(18px + env(safe-area-inset-bottom,0px)); transform:none; }
  .lb-img{ max-height:calc(100svh - 200px); }
}
html.lb-open{ overflow:hidden; }
