/* galerie.css */
.g-eyebrow{display:inline-flex;align-items:center;gap:.75rem;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--brand);margin-bottom:1rem}
.g-eyebrow::before,.g-eyebrow::after{content:'';width:34px;height:1px;background:currentColor;border-radius:1px}

.galerie-hero{background:linear-gradient(148deg,var(--clr-vanilla-200),var(--clr-caramel-50));padding:calc(var(--nav-height,78px) + 5rem) 0 5rem;text-align:center;position:relative;overflow:hidden}
.galerie-hero__pattern{position:absolute;inset:0;background-image:var(--pattern-floral);opacity:.6;pointer-events:none}
.galerie-hero__inner{position:relative;z-index:1;max-width:620px;margin:0 auto}
.galerie-hero__title{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,4rem);font-weight:600;color:var(--txt-secondary);line-height:1.1;margin-bottom:1.2rem}
.galerie-hero__title em{font-style:italic;color:var(--brand)}
.galerie-hero__lead{font-size:1.05rem;color:var(--txt-muted);line-height:1.8;font-weight:300}

.galerie-filter-bar{position:sticky;top:var(--nav-height,78px);z-index:50;background:rgba(253,246,236,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);padding:.75rem 0}
.gal-filters{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none}
.gal-filters::-webkit-scrollbar{display:none}
.gal-filter{padding:8px 20px;border-radius:9999px;font-size:.8rem;font-weight:700;cursor:pointer;border:1.5px solid var(--border-soft);color:var(--txt-muted);background:transparent;transition:all .22s;white-space:nowrap;flex-shrink:0}
.gal-filter:hover{border-color:var(--brand);color:var(--brand)}
.gal-filter.active{background:var(--brand);color:#fff;border-color:var(--brand)}

.gal-masonry{columns:4;gap:1rem;column-gap:1rem}
.gal-item{break-inside:avoid;margin-bottom:1rem;border-radius:var(--r-md);overflow:hidden;position:relative;cursor:pointer;transition:transform .3s var(--ease-out)}
.gal-item:hover{transform:scale(1.025)}
.gal-item.faded{opacity:.2;transform:scale(.96);pointer-events:none;transition:all .3s}
.gal-item__visual{display:flex;align-items:center;justify-content:center;width:100%;position:relative;overflow:hidden}
.gal-item__emoji{font-size:3.5rem;padding:2.5rem 1.5rem;display:block;text-align:center;line-height:1;transition:transform .4s var(--ease-out)}
.gal-item:hover .gal-item__emoji{transform:scale(1.12)}
.gal-item--tall .gal-item__visual{aspect-ratio:3/4}
.gal-item--wide .gal-item__visual{aspect-ratio:16/8}
.gal-item:not(.gal-item--tall):not(.gal-item--wide) .gal-item__visual{aspect-ratio:1}
.gal-item__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(46,26,14,.72) 0%,transparent 50%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:1.2rem}
.gal-item:hover .gal-item__overlay{opacity:1}
.gal-item__info h3{font-family:var(--font-display);font-style:italic;color:#fff;font-size:1rem;line-height:1.3;margin-bottom:.2rem}
.gal-item__info p{font-size:.75rem;color:rgba(255,255,255,.7)}

.galerie-cta{text-align:center;padding-top:3rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;align-items:center}
.galerie-cta p{width:100%;color:var(--txt-muted);font-style:italic;font-family:var(--font-display);font-size:1.1rem}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity .3s}
.lightbox.open{opacity:1;pointer-events:all}
.lightbox__bg{position:absolute;inset:0;background:rgba(46,26,14,.9);backdrop-filter:blur(8px);cursor:pointer}
.lightbox__wrap{position:relative;z-index:1;max-width:720px;width:100%}
.lightbox__close{position:absolute;top:-3rem;right:0;width:38px;height:38px;border-radius:50%;background:rgba(253,246,236,.15);color:#fff;font-size:1.4rem;cursor:pointer;display:grid;place-items:center;border:none;transition:background .2s}
.lightbox__close:hover{background:rgba(253,246,236,.3)}
.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:rgba(253,246,236,.15);color:#fff;font-size:1.2rem;cursor:pointer;display:grid;place-items:center;border:none;z-index:2;transition:all .2s}
.lightbox__nav--prev{left:-56px}.lightbox__nav--next{right:-56px}
.lightbox__nav:hover{background:var(--brand);transform:translateY(-50%) scale(1.08)}
.lightbox__stage{background:var(--bg-card);border-radius:20px;overflow:hidden;box-shadow:0 24px 72px rgba(46,26,14,.3)}
.lightbox__visual{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;font-size:8rem;padding:2rem}
.lightbox__caption{padding:1.5rem 2rem;background:white}
.lightbox__caption h3{font-family:var(--font-display);font-size:1.3rem;color:var(--txt-secondary);margin-bottom:.4rem}
.lightbox__caption p{font-size:.88rem;color:var(--txt-muted);line-height:1.6}
#lbCount{float:right;font-size:.75rem;color:var(--txt-light)}

.grad--nunta{background:linear-gradient(135deg,#FAF0E0,#F0D8A0)}
.grad--botez{background:linear-gradient(135deg,#FEF0EE,#F8C8B8)}
.grad--aniversar{background:linear-gradient(135deg,#F5F0D8,#E0D870)}
.grad--floral{background:linear-gradient(135deg,#F2F8EC,#C0E8A8)}
.grad--tematic{background:linear-gradient(135deg,#EEE8F8,#C8C0F0)}

@media(max-width:1024px){.gal-masonry{columns:3}}
@media(max-width:768px){.gal-masonry{columns:2}.lightbox__nav--prev{left:-3rem}.lightbox__nav--next{right:-3rem}}
@media(max-width:480px){.gal-masonry{columns:1}.lightbox__nav--prev,.lightbox__nav--next{display:none}}
