/* ── GALLERY PAGE BASE ── */
.gallery-page{background:var(--background)}

/* ── HERO ── */
.gallery-hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding-top:5rem}
.gallery-hero-bg{position:absolute;inset:0}
.gallery-hero-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(1.05)}
.gallery-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(251,246,238,.15),rgba(251,246,238,.92) 84%,var(--background))}
.gallery-hero-inner{position:relative;z-index:1;text-align:center;max-width:56rem;margin:0 auto;padding:2rem 1.5rem}
.gallery-title{font-size:clamp(2.5rem,6vw,5rem);margin:0 0 1rem}
.gallery-lead{max-width:40rem;margin:0 auto;color:var(--muted-foreground);font-size:1.05rem}

/* ── PROGRAM SECTIONS ── */
.pg-section{padding:5rem 0;background:var(--background);border-bottom:1px solid var(--border)}
.pg-section--alt{background:var(--card)}
.pg-inner{display:grid;grid-template-columns:320px 1fr;align-items:start;gap:3rem;max-width:1280px;margin:0 auto;padding:0 2rem}

/* LEFT TEXT BLOCK */
.pg-text{position:sticky;top:6rem;padding-right:1rem}
.pg-num{display:block;font-family:'Playfair Display',serif;font-size:4rem;font-weight:700;line-height:1;color:var(--foreground);opacity:.12;margin-bottom:.5rem;user-select:none}
.pg-title{font-size:clamp(1.6rem,2.5vw,2.2rem);font-weight:700;margin:0 0 1rem;color:var(--foreground)}
.pg-desc{color:var(--muted-foreground);line-height:1.75;margin:0 0 1.75rem;font-size:.97rem}
.pg-cta{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;padding:.65rem 1.5rem;margin-bottom:2rem}
.pg-arrows{display:flex;gap:.6rem;justify-content: center;padding-top: 10px;}
.pg-arrow{width:2.75rem;height:2.75rem;border-radius:9999px;background:var(--card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,border-color .2s;color:var(--foreground)}
.pg-arrow:hover{background:var(--foreground);color:var(--background);border-color:var(--foreground)}
.pg-arrow:disabled{opacity:.35;pointer-events:none}
.pg-section--alt .pg-arrow{background:var(--background)}
.pg-section--alt .pg-arrow:hover{background:var(--foreground);color:var(--background)}

/* RIGHT SLIDER */
.pg-slider-wrap{overflow:hidden;align-self: center;}
.pg-slider-viewport{overflow:hidden}
.pg-slider-track{display:flex;gap:1.25rem;transition:transform .45s cubic-bezier(.4,0,.2,1);will-change:transform}

/* CARDS */
.pg-card{flex:0 0 260px;width:260px;background:var(--background);border-radius:16px;overflow:hidden;border:1px solid var(--border);box-shadow:0 4px 18px -8px rgba(0,0,0,.14);position:relative;transition:box-shadow .25s,transform .25s}
.pg-card:hover{box-shadow:0 12px 32px -8px rgba(0,0,0,.2);transform:translateY(-3px)}
.pg-section--alt .pg-card{background:var(--card)}

/* Card image & zoom icon */
.pg-card-img{aspect-ratio:4/3;overflow:hidden;position:relative;cursor:zoom-in}
.pg-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.pg-card:hover .pg-card-img img{transform:scale(1.07)}
.pg-zoom-icon{position:absolute;top:.6rem;right:.6rem;width:2rem;height:2rem;border-radius:9999px;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.7);transition:opacity .25s,transform .25s;pointer-events:none}
.pg-card:hover .pg-zoom-icon{opacity:1;transform:scale(1)}

.pg-card-body{padding:.9rem 1rem 1.1rem;display:flex;flex-direction:column;gap:.25rem}
.pg-card-title{font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--foreground);line-height:1.3}
.pg-card-sub{font-size:.78rem;color:var(--muted-foreground);line-height:1.5}
.pg-card-accent{position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(to right,#c2410c,#d99a2b);border-radius:0 0 16px 16px}

/* ── LIGHTBOX ── */
.pg-lightbox{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;padding:1rem;animation:pg-lb-in .2s ease}
.pg-lightbox[hidden]{display:none}
@keyframes pg-lb-in{from{opacity:0}to{opacity:1}}
.pg-lb-figure{display:flex;flex-direction:column;align-items:center;max-width:min(92vw,1100px);width:100%;margin:0}
.pg-lb-img{max-height:80vh;max-width:100%;border-radius:12px;object-fit:contain;box-shadow:0 24px 60px rgba(0,0,0,.5);animation:pg-lb-zoom .25s ease}
@keyframes pg-lb-zoom{from{transform:scale(.93)}to{transform:scale(1)}}
.pg-lb-caption{color:rgba(255,255,255,.8);margin:.9rem 0 0;text-align:center;font-size:.95rem;max-width:44rem}
.pg-lb-close{position:absolute;top:1rem;right:1rem;width:3rem;height:3rem;border-radius:9999px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.75rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}
.pg-lb-close:hover{background:rgba(255,255,255,.3)}
.pg-lb-prev,.pg-lb-next{position:absolute;top:50%;transform:translateY(-50%);width:3.25rem;height:3.25rem;border-radius:9999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}
.pg-lb-prev{left:1rem}
.pg-lb-next{right:1rem}
.pg-lb-prev:hover,.pg-lb-next:hover{background:rgba(255,255,255,.28)}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .pg-inner{grid-template-columns:1fr;gap:2rem}
  .pg-text{position:static;padding-right:0}
  .pg-card{flex:0 0 220px;width:220px}
}
@media(max-width:560px){
  .pg-inner{padding:0 1rem}
  .pg-card{flex:0 0 78vw;width:78vw}
  .pg-section{padding:3.5rem 0}
  .pg-lb-prev{left:.5rem}
  .pg-lb-next{right:.5rem}
}
