/* VATRA COLIBIȚA / v1.4.0 • Immersive photo gallery */
.photo-gallery-section{--gallery-deep:#103744;--gallery-gold:#b18b63;position:relative;padding:clamp(85px,9vw,148px) 0 clamp(95px,10vw,150px);overflow:hidden;background:#f4f2ec}
.photo-gallery-section:before{content:"";pointer-events:none;position:absolute;width:900px;height:900px;right:-380px;top:-480px;background:radial-gradient(circle,rgba(179,153,119,.16),transparent 63%)}
.photo-gallery-section--full{padding-top:35px;background:#fbfaf7}
.photo-gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:clamp(35px,5vw,70px)}
.photo-gallery-heading h2{font:400 clamp(42px,5.5vw,82px)/1.12 Georgia,serif;letter-spacing:-.055em;color:#143945;margin:0 0 20px}
.photo-gallery-heading h2 em{font-weight:400;color:#ab875d}
.gallery-lead{font-size:15px;line-height:1.9;max-width:520px;color:#557078;margin:0}
.gallery-all-link{display:inline-flex;align-items:center;gap:32px;white-space:nowrap;color:#153945;border:1px solid #b8c6c2;border-radius:100px;padding:16px 22px;font-size:12px;font-weight:800;transition:background .35s,color .35s,transform .35s,border-color .35s}
.gallery-all-link span{font-size:21px;font-weight:400;line-height:1}.gallery-all-link:hover{background:#163e49;border-color:#163e49;color:white;transform:translateY(-3px)}
.gallery-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px}
.gallery-filter{background:#fff;border:1px solid #d7deda;border-radius:99px;padding:12px 19px;color:#40606a;cursor:pointer;transition:.25s;font-size:12px;font-weight:750;letter-spacing:.02em}
.gallery-filter span{margin-left:8px;opacity:.6;font-size:10px}.gallery-filter:hover{border-color:#9baba8}.gallery-filter.is-selected{background:#143b47;color:#fff;border-color:#143b47}
.gallery-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:clamp(11px,1.5vw,20px);isolation:isolate}
.gallery-card{grid-column:span 4;position:relative;display:block;overflow:hidden;aspect-ratio:4/4.3;border-radius:clamp(10px,1.25vw,19px);background:#c7d4d6;isolation:isolate;box-shadow:0 18px 45px rgba(16,55,61,.055);transform:translateZ(0);transition:box-shadow .4s,transform .5s}
.gallery-card:nth-child(4n+3){aspect-ratio:4/3.8}.gallery-card:nth-child(5n+5){aspect-ratio:4/4.8}
.gallery-card--lead{grid-column:span 8;aspect-ratio:8/4.3}
.gallery-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.16,1,.3,1),filter .6s;will-change:transform}
.gallery-card:nth-child(2) img{object-position:50% 57%}.gallery-card:nth-child(5) img{object-position:center 37%}
.gallery-card:hover img,.gallery-card:focus-visible img{transform:scale(1.075);filter:saturate(1.12)}
.gallery-card__shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,33,40,.88) 0%,rgba(7,33,40,.41) 27%,transparent 68%);pointer-events:none}
.gallery-card__info{position:absolute;z-index:2;left:clamp(18px,2.5vw,36px);right:42px;bottom:clamp(22px,2.5vw,35px);color:white;display:grid;gap:12px;transform:translateY(0);transition:transform .45s}
.gallery-card__info small{font-size:10px;letter-spacing:.2em;font-weight:800;color:#eed8b5;text-transform:uppercase}
.gallery-card__info strong{font:400 clamp(19px,2vw,30px)/1.22 Georgia,serif;letter-spacing:-.025em;text-wrap:balance}
.gallery-card--lead .gallery-card__info strong{font-size:clamp(30px,3.2vw,47px);max-width:490px}
.gallery-card__arrow{position:absolute;top:23px;right:22px;z-index:2;width:43px;height:43px;border:1px solid rgba(255,255,255,.7);border-radius:50%;color:white;background:rgba(4,32,39,.2);display:grid;place-items:center;font-size:20px;font-weight:300;transition:.4s;backdrop-filter:blur(8px)}
.gallery-card:hover .gallery-card__arrow{background:#e4c49e;border-color:#e4c49e;color:#143b47;transform:rotate(45deg)}
.gallery-card[hidden]{display:none!important}.gallery-empty{font-size:16px;color:#536f75}
.page-galerie .inner-page-hero{min-height:520px}.page-galerie .inner-hero-media{background-position:center 48%}.page-galerie .inner-hero-shade{background:linear-gradient(90deg,rgba(7,31,40,.8) 0%,rgba(8,31,40,.5) 47%,rgba(7,31,40,.04) 100%)}
.gallery-page-intro{padding:85px 0 45px;display:grid;grid-template-columns:1fr 2fr;gap:8vw;align-items:center}
.gallery-page-intro span{color:#a47c53;font-weight:800;font-size:11px;letter-spacing:.2em}
.gallery-page-intro p{color:#2a525b;font:400 clamp(23px,3vw,37px)/1.5 Georgia,serif;letter-spacing:-.025em;margin:0}
.gallery-ending{padding-block:90px 125px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.gallery-ending p{font:400 clamp(29px,3.5vw,46px)/1.25 Georgia,serif;margin:0;color:#17434e;letter-spacing:-.04em}.gallery-ending em{color:#ae885d}
/* accessible dialog with real photographs; pure HTML anchors work without JS */
.gallery-lightbox{border:0;padding:0;max-height:calc(100dvh - 28px);height:min(92dvh,970px);width:min(94vw,1280px);max-width:1280px;overflow:hidden;background:#0e252c;color:#fff;border-radius:18px;box-shadow:0 32px 130px rgba(0,0,0,.5)}
.gallery-lightbox::backdrop{background:rgba(3,18,23,.9);backdrop-filter:blur(13px)}
.gallery-lightbox__shell{height:100%;display:grid;grid-template-rows:auto 1fr auto;padding:16px clamp(16px,2vw,26px) 18px;gap:0}
.gallery-lightbox__controls{display:flex;justify-content:space-between;align-items:center;gap:15px;color:#bed0d2;font-size:12px;letter-spacing:.1em;padding-bottom:9px}
.gallery-lightbox__controls button,.gallery-lightbox__arrows button{border:1px solid #54727b;background:rgba(255,255,255,.07);color:#fff;border-radius:50%;width:43px;height:43px;display:grid;place-items:center;cursor:pointer;font-size:29px;line-height:1;transition:background .3s}
.gallery-lightbox__controls button:hover,.gallery-lightbox__arrows button:hover{background:rgba(255,255,255,.2)}
.gallery-lightbox figure{min-height:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}
.gallery-lightbox figure img{display:block;min-height:0;max-height:calc(92dvh - 225px);max-width:100%;width:auto;height:auto;object-fit:contain;border-radius:7px}
.gallery-lightbox figcaption{text-align:center;max-width:710px}
.gallery-lightbox figcaption span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#e2c69c}
.gallery-lightbox figcaption h3{font:400 clamp(24px,3vw,35px)/1.2 Georgia,serif;margin:7px 0}
.gallery-lightbox figcaption p{font-size:13px;color:#bbced0;line-height:1.5;margin:0}
.gallery-lightbox__arrows{display:flex;gap:17px;align-items:center;justify-content:center;margin-top:9px}
.gallery-lightbox__arrows button{font-size:20px}
/* admin gallery is still modular and uses the shared existing admin design */
@media(min-width:1800px){.gallery-card__info strong{font-size:32px}}
@media(max-width:1050px){.gallery-card{grid-column:span 6;aspect-ratio:1.18}.gallery-card--lead{grid-column:span 12;aspect-ratio:2.1}.photo-gallery-heading h2{font-size:59px}}
@media(max-width:720px){.photo-gallery-section{padding-block:78px 85px}.photo-gallery-heading{display:grid;gap:18px}.photo-gallery-heading h2{font-size:clamp(39px,10vw,58px);margin-bottom:13px}.gallery-lead{font-size:14px}.gallery-all-link{width:max-content;padding:13px 19px}.gallery-mosaic{gap:12px}.gallery-card{grid-column:span 6;aspect-ratio:4/5!important}.gallery-card--lead{grid-column:span 12;aspect-ratio:1.3!important}.gallery-card__info{left:15px;right:12px;bottom:16px;gap:7px}.gallery-card__info strong{font-size:clamp(17px,3.8vw,23px);line-height:1.18}.gallery-card--lead .gallery-card__info strong{font-size:clamp(25px,6.8vw,34px)}.gallery-card__info small{font-size:8px;letter-spacing:.1em}.gallery-card__arrow{top:13px;right:12px;width:34px;height:34px;font-size:18px}.gallery-page-intro{grid-template-columns:1fr;padding:53px 0 0;gap:16px}.gallery-page-intro p{font-size:24px}.gallery-ending{flex-direction:column;align-items:flex-start;padding-block:70px}.gallery-filters{flex-wrap:nowrap;overflow:auto;margin-inline:-18px;padding-inline:18px;scrollbar-width:thin}.gallery-filter{white-space:nowrap}.gallery-lightbox{height:94dvh;width:96vw;border-radius:10px}.gallery-lightbox figure img{max-height:calc(94dvh - 240px)}}
@media(max-width:400px){.gallery-card:not(.gallery-card--lead){grid-column:span 12;aspect-ratio:1.2!important}.gallery-card__info strong{font-size:23px}.gallery-lightbox figcaption p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.gallery-card,.gallery-card img,.gallery-card__arrow,.gallery-all-link{transition:none!important}.gallery-card img{will-change:auto}}
