/* ═══════════════════════════════════════════════════════
   GALLERIA — Art Book Style
   ═══════════════════════════════════════════════════════ */

.page-galleria{
    background:
        radial-gradient(ellipse at 50% 0%,rgba(42,107,115,.06),transparent 50%),
        var(--bg-deep);
}

/* ─── Gallery Header ─────────────────────────────── */
.gallery-header{
    padding:10rem 0 4rem;text-align:center;
    background:
        linear-gradient(180deg,rgba(12,15,20,.95),var(--bg-deep)),
        linear-gradient(135deg,rgba(201,168,92,.08),rgba(42,107,115,.06));
}
.gallery-main-title{
    font-family:"Playfair Display",serif;
    font-size:clamp(2.8rem,6vw,5rem);
    font-weight:800;color:var(--text-main);
    letter-spacing:.05em;line-height:1;
    margin-bottom:1rem;
}
.gallery-main-subtitle{
    font-family:"Crimson Pro",serif;font-style:italic;
    font-size:clamp(1rem,2vw,1.25rem);
    color:var(--text-soft);max-width:52ch;
    margin:0 auto 2rem;line-height:1.7;
}
.gallery-ornament{
    display:flex;align-items:center;justify-content:center;gap:1rem;
    color:var(--gold);font-size:.9rem;
}
.ornament-line{
    width:60px;height:1px;
    background:linear-gradient(90deg,transparent,var(--gold),transparent);
}

/* ─── Artwork (Art Book Entry) ────────────────────── */
.gallery-artbook{padding:3rem 0 5rem}

.artwork{
    display:grid;grid-template-columns:1.3fr 1fr;
    gap:clamp(2rem,5vw,4rem);align-items:center;
    margin-bottom:1rem;
    opacity:0;transform:translateY(30px);
    animation:fadeInArt .8s ease forwards;
}
.artwork:nth-child(1){animation-delay:.1s}
.artwork:nth-child(3){animation-delay:.15s}
.artwork:nth-child(5){animation-delay:.2s}

@keyframes fadeInArt{to{opacity:1;transform:translateY(0)}}

.artwork--reverse{grid-template-columns:1fr 1.3fr;direction:rtl}
.artwork--reverse>*{direction:ltr}

/* Frame & Mat — museum presentation */
.artwork-frame{
    background:linear-gradient(145deg,#2a2520,#1c1915,#2a2520);
    padding:clamp(10px,2vw,20px);
    border-radius:4px;
    box-shadow:
        0 4px 8px rgba(0,0,0,.3),
        0 16px 40px rgba(0,0,0,.4),
        inset 0 1px 0 rgba(255,255,255,.06);
    position:relative;
}
.artwork-frame::before{
    content:"";position:absolute;inset:3px;
    border:1px solid rgba(201,168,92,.15);
    border-radius:2px;pointer-events:none;
}
.artwork-mat{
    background:#F5F0E8;padding:clamp(12px,2.5vw,28px);
    box-shadow:inset 0 0 30px rgba(0,0,0,.08);
}
.artwork-mat img{
    display:block;width:100%;height:auto;
    box-shadow:0 2px 10px rgba(0,0,0,.15);
}

/* Plate (title card) */
.artwork-plate{position:relative;padding:1rem 0}
.artwork-title{
    font-family:"Playfair Display",serif;
    font-size:clamp(1.6rem,3vw,2.4rem);
    color:var(--text-main);font-weight:600;
    margin-bottom:.5rem;line-height:1.15;
}
.artwork-technique{
    font-family:"Josefin Sans",sans-serif;
    font-size:.76rem;letter-spacing:.15em;text-transform:uppercase;
    color:var(--gold);margin-bottom:1rem;
}
.artwork-description{
    font-family:"Crimson Pro",serif;font-size:1.05rem;
    color:var(--text-body);line-height:1.72;max-width:48ch;
}
.artwork-number{
    position:absolute;top:0;right:0;
    font-family:"Playfair Display",serif;font-size:3.5rem;
    color:rgba(201,168,92,.1);font-weight:800;line-height:1;
    pointer-events:none;user-select:none;
}

/* Divider between artworks */
.artwork-divider{
    display:flex;align-items:center;justify-content:center;
    padding:2.5rem 0;
}
.divider-ornament{
    color:var(--gold);font-size:1rem;opacity:.4;
}
.artwork-divider--section{
    padding:4rem 0 3rem;gap:1.2rem;
}
.artwork-divider--section .ornament-line{flex:1;max-width:120px}
.divider-text{
    font-family:"Josefin Sans",sans-serif;
    font-size:.78rem;letter-spacing:.25em;text-transform:uppercase;
    color:var(--gold);white-space:nowrap;
}

/* ─── Mosaic Grid (additional works) ─────────────── */
.gallery-mosaic{
    columns:3 280px;column-gap:1rem;
    margin-bottom:3rem;
}
.mosaic-item{
    break-inside:avoid;margin-bottom:1rem;
    border-radius:var(--radius);overflow:hidden;
    border:1px solid var(--border);
    cursor:pointer;position:relative;
}
.mosaic-item img{
    transition:transform .5s ease,filter .5s ease;
}
.mosaic-item:hover img{transform:scale(1.04);filter:brightness(1.1)}
.mosaic-item::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(transparent 60%,rgba(0,0,0,.4));
    opacity:0;transition:opacity .3s ease;pointer-events:none;
}
.mosaic-item:hover::after{opacity:1}

/* ─── Lightbox ────────────────────────────────────── */
.lightbox{
    position:fixed;inset:0;z-index:2000;
    background:rgba(0,0,0,.92);backdrop-filter:blur(10px);
    display:flex;align-items:center;justify-content:center;
    padding:2rem;cursor:zoom-out;
}
.lightbox[hidden]{display:none}
.lightbox-close{
    position:absolute;top:1.5rem;right:1.5rem;
    background:none;border:none;color:var(--text-main);
    font-size:2.5rem;cursor:pointer;line-height:1;
    transition:color var(--transition);z-index:2001;
}
.lightbox-close:hover{color:var(--gold)}
.lightbox-img{
    max-width:90vw;max-height:85vh;
    object-fit:contain;border-radius:4px;
    box-shadow:0 20px 60px rgba(0,0,0,.5);
}

/* ─── Responsive ──────────────────────────────────── */
@media(max-width:900px){
    .artwork,.artwork--reverse{
        grid-template-columns:1fr;direction:ltr;
    }
    .artwork-number{display:none}
    .gallery-mosaic{columns:2 200px}
}
@media(max-width:560px){
    .gallery-header{padding-top:7rem}
    .gallery-mosaic{columns:1}
    .artwork-mat{padding:8px}
    .artwork-frame{padding:6px}
}
