/* ===== Gallery pages — SkyCrown theme ===== */
.sky-page.gl-page{background:radial-gradient(900px 480px at 85% -5%,rgba(239,118,47,.14),transparent 70%),radial-gradient(700px 420px at 0 20%,rgba(224,182,106,.18),transparent 70%),#fffaf4!important;padding-top:clamp(120px,12vw,160px)}
.gl-page .gl-hero{margin-bottom:clamp(30px,4vw,54px)}
.sky-page.gl-page .gl-main-title,.sky-page.gl-page .gl-sub-title{font-family:var(--f-head)!important;font-size:clamp(40px,5.6vw,72px)!important;font-weight:700;letter-spacing:-.015em!important;line-height:1.05!important;color:var(--ink)!important;margin:0 0 14px;padding:0;border:0}
.gl-page .gl-intro{max-width:620px;margin:0 auto;color:var(--muted);font-size:clamp(15px,1.4vw,18px);line-height:1.7}

/* landing cards */
.gl-cards{max-width:1180px;gap:clamp(20px,3vw,40px)}
.gl-card{position:relative;border-radius:30px;background:#fff;border:1px solid rgba(27,19,15,.08);box-shadow:0 24px 60px rgba(60,30,10,.12);animation:glUp .9s cubic-bezier(.22,1,.36,1) both}
.gl-card:nth-child(2){animation-delay:.14s}
@keyframes glUp{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
.gl-card:hover{transform:translateY(-8px);box-shadow:0 34px 70px rgba(60,30,10,.2)}
.gl-card-media{position:relative;aspect-ratio:4/3.1}
.gl-card-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(27,19,15,.7))}
.gl-card-media img{object-position:center 22%}
.gl-count{position:absolute;z-index:2;left:20px;bottom:18px;padding:8px 16px;border-radius:99px;background:rgba(255,255,255,.92);color:var(--ink);font-weight:800;font-size:13px;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.gl-card-body{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(22px,3vw,34px)}
.gl-card h2{padding:0!important;margin:0 0 10px;text-align:left!important;color:var(--ink)!important;font-size:clamp(28px,3vw,38px)!important;font-weight:700}
.gl-card h2::after{content:"";display:block;width:54px;height:3px;margin-top:12px;border-radius:3px;background:linear-gradient(90deg,var(--brand),var(--gold-l))}
.gl-card p{padding:0!important;text-align:left!important;margin:6px 0 0;color:var(--muted)!important;font-size:clamp(15px,1.3vw,17px)!important;line-height:1.65}
.gl-btn{align-self:flex-start;margin:22px 0 0!important;padding:14px 30px;border-radius:99px;background:var(--brand);color:#fff;font:800 15px var(--f-body);box-shadow:0 12px 26px rgba(239,118,47,.32)}
.gl-btn:hover{background:#d8601c;transform:translateY(-2px)}
.gl-btn--dark{background:var(--ink);box-shadow:none}.gl-btn--dark:hover{background:#000}
.gl-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 22px;margin:clamp(44px,6vw,76px) auto 0;padding:26px 30px;max-width:1180px;border-radius:24px;background:#fff;border:1px dashed rgba(165,123,53,.5)}
.gl-cta p{margin:0;font:600 clamp(20px,2.2vw,28px) var(--f-head);color:var(--ink)}.gl-cta .gl-btn{margin:0!important;align-self:center}

/* sub pages */
.gl-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:26px;padding:9px 18px;border-radius:99px;border:1px solid rgba(27,19,15,.14);background:#fff;color:var(--ink)!important;font-weight:700;font-size:14px;transition:all .3s}
.gl-back:hover{border-color:var(--brand);color:var(--brand)!important;transform:translateX(-3px)}
.gl-filters{justify-content:center;margin-bottom:32px}
.gl-filters button{padding:11px 24px;border:1px solid rgba(27,19,15,.14);font:700 14px var(--f-body);color:var(--ink)}
.gl-filters button:hover{border-color:var(--brand);color:var(--brand)}
.gl-filters button.is-active{background:var(--ink);border-color:var(--ink);color:#fff}

/* strict grid: 5 photos per row, equal tiles, new uploads simply flow to the next row */
.gl-page .page-shell{max-width:1320px}
.gl-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;column-count:auto}
.gl-item{display:block;width:100%;margin:0;aspect-ratio:4/5;border-radius:20px;background:#efe7db;box-shadow:0 12px 30px rgba(60,30,10,.12);animation:glUp .8s cubic-bezier(.22,1,.36,1) both}
.gl-item:nth-child(3n+2){animation-delay:.08s}.gl-item:nth-child(3n){animation-delay:.16s}
.gl-item img,.gl-item video{width:100%;height:100%;object-fit:cover}
.gl-item::after{content:"+";position:absolute;right:14px;bottom:14px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--brand);color:#fff;font:700 24px/1 var(--f-body);opacity:0;transform:scale(.6);transition:all .35s cubic-bezier(.22,1,.36,1)}
.gl-item.is-video::after{display:none}
.gl-item:hover{transform:translateY(-5px);box-shadow:0 24px 50px rgba(60,30,10,.24)}
.gl-item:hover::after{opacity:1;transform:none}
.gl-play svg{background:var(--brand);fill:#fff}
@media(max-width:1000px){.gl-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}}
@media(max-width:780px){.gl-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gl-item{border-radius:16px}.gl-cards{grid-template-columns:1fr}}
@media(max-width:520px){.gl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.gl-lightbox{background:rgba(20,12,7,.95)}
.gl-lb-close:hover,.gl-lb-nav:hover{background:var(--brand)}
@media(prefers-reduced-motion:reduce){.gl-card,.gl-item{animation:none}}
