.gallery-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.95fr);align-items:end;gap:42px;min-height:340px;margin-bottom:24px;padding:44px;border:1px solid #5d456e;border-radius:20px;overflow:hidden;background:#17131d url('/assets/gallery/tree-citadel.jpg') 58% 48%/cover}
.gallery-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#100b19f5 0%,#15101ee0 36%,#15101e66 70%,#0d0b1225),linear-gradient(0deg,#120d1ee8,transparent 58%)}
.gallery-hero>div{position:relative;z-index:1}.gallery-hero h1{max-width:620px;font-size:clamp(2.45rem,5vw,4.4rem);letter-spacing:-.065em;line-height:1.02}.gallery-hero h1 span{color:#d8b7f6}.gallery-hero p{max-width:580px;margin-top:20px;color:#d3c8dc;font-size:1rem;line-height:1.8}.gallery-hero-meta{justify-self:end;max-width:285px;padding:18px 20px;border:1px solid #ffffff24;border-radius:12px;background:#120d18e8}.gallery-hero-meta strong,.gallery-hero-meta span{display:block}.gallery-hero-meta strong{font-size:.96rem}.gallery-hero-meta span{margin-top:7px;color:#b9aabf;font-size:.76rem;line-height:1.6}
.gallery-toolbar{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:38px 0 20px}.gallery-toolbar h2{font-size:1.7rem}.gallery-toolbar p{margin-top:7px;font-size:.84rem}.gallery-count{flex-shrink:0;color:#ccb4dd;font-size:.7rem;font-weight:800;letter-spacing:.12em}
.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:13px}.gallery-card{position:relative;grid-column:span 4;min-height:260px;padding:0;overflow:hidden;border:1px solid #49384f;border-radius:15px;background:#121018;color:#fff;text-align:left}.gallery-card:nth-child(5n+1){grid-column:span 8;min-height:410px}.gallery-card:nth-child(7n+4){grid-column:span 5}.gallery-card:nth-child(7n+5){grid-column:span 7}.gallery-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s ease,filter .55s ease}.gallery-card:before{content:'';position:absolute;z-index:1;inset:35% 0 0;background:linear-gradient(transparent,#0c0811e8)}.gallery-card:hover img{transform:scale(1.025);filter:saturate(1.1)}.gallery-card-copy{position:absolute;z-index:2;left:20px;right:20px;bottom:18px}.gallery-card-copy small{display:block;margin-bottom:5px;color:#d4b5ec;font-size:.58rem;font-weight:800;letter-spacing:.13em}.gallery-card-copy strong{display:block;font-size:1.06rem}.gallery-card-copy span{display:-webkit-box;margin-top:5px;overflow:hidden;color:#c8becd;font-size:.74rem;line-height:1.55;-webkit-line-clamp:2;-webkit-box-orient:vertical}.gallery-card-arrow{position:absolute;z-index:2;top:15px;right:15px;display:grid;place-items:center;width:36px;height:36px;border:1px solid #ffffff4d;border-radius:50%;background:#130d1bb8;font-size:.86rem}
.gallery-dialog{width:min(1180px,calc(100% - 32px));padding:0;border-color:#5e496a;border-radius:16px;background:#0d0b11}.gallery-dialog .gallery-dialog-close{position:absolute;z-index:3;top:13px;right:13px;display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff4d;border-radius:50%;background:#130d1be8;color:#fff;font-size:1.45rem}.gallery-dialog figure{margin:0}.gallery-dialog img{display:block;width:100%;max-height:78vh;object-fit:contain;background:#09070b}.gallery-dialog figcaption{display:flex;justify-content:space-between;gap:28px;padding:20px 24px;background:#17121c}.gallery-dialog figcaption strong{font-size:1.05rem}.gallery-dialog figcaption span{max-width:650px;color:#bcaec3;font-size:.8rem;text-align:right}
.gallery-upload-drop{display:grid;place-items:center;min-height:190px;padding:25px;border:1px dashed #8f6da4;border-radius:13px;background:#130f19;text-align:center;cursor:pointer}.gallery-upload-drop:hover{border-color:#d1a9eb;background:#1a1321}.gallery-upload-drop input{position:absolute;width:1px;height:1px;opacity:0}.gallery-upload-drop strong,.gallery-upload-drop span{display:block}.gallery-upload-drop strong{font-size:1rem}.gallery-upload-drop span{margin-top:7px;color:#a99daf;font-size:.78rem}.gallery-upload-preview{display:none;width:100%;max-height:300px;margin-top:12px;border-radius:10px;object-fit:cover}.gallery-upload-preview.ready{display:block}.gallery-manage-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.gallery-manage-card{display:grid;grid-template-columns:110px 1fr;gap:13px;align-items:center;padding:9px;border:1px solid #3d3244;border-radius:11px;background:#15111a}.gallery-manage-card img{width:110px;height:72px;border-radius:7px;object-fit:cover}.gallery-manage-card strong,.gallery-manage-card small{display:block}.gallery-manage-card small{margin:3px 0 7px;color:#9f93a6;font-size:.7rem}.gallery-manage-card .danger{color:#ff9eaf}
@media(max-width:900px){.gallery-hero{grid-template-columns:1fr;min-height:390px;padding:34px;background-position:58% center}.gallery-hero-meta{justify-self:start}.gallery-card,.gallery-card:nth-child(n){grid-column:span 6;min-height:280px}.gallery-card:first-child{grid-column:1/-1;min-height:390px}.gallery-manage-list{grid-template-columns:1fr}}
@media(max-width:600px){.gallery-hero{min-height:420px;padding:28px 22px;background-position:58% center}.gallery-hero:before{background:linear-gradient(90deg,#100b19f2,#15101eaa),linear-gradient(0deg,#120d1ef2,transparent)}.gallery-hero h1{font-size:2.7rem}.gallery-hero-meta{display:none}.gallery-toolbar{align-items:flex-start}.gallery-card,.gallery-card:nth-child(n){grid-column:1/-1;min-height:245px}.gallery-card:first-child{min-height:300px}.gallery-dialog figcaption{display:block}.gallery-dialog figcaption span{display:block;margin-top:8px;text-align:left}.gallery-manage-card{grid-template-columns:86px 1fr}.gallery-manage-card img{width:86px;height:64px}}
@media(prefers-reduced-motion:reduce){.gallery-card img{transition:none}}
