/* AMBERSTONE TRAVEL - Gallery v9 - compact masonry */
.gallery-page{background:var(--background,#f3eadb);min-height:70vh;padding:34px 0 70px;width:100%}
.gallery-page .gallery-container{display:block!important;width:calc(100vw - 64px)!important;max-width:1420px!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important;box-sizing:border-box!important;float:none!important}
.gallery-intro{padding:10px 0 24px!important;border-bottom:1px solid rgba(45,38,28,.12)}
.gallery-eyebrow{margin:0 0 8px;font-size:.66rem;font-weight:700;letter-spacing:.2em;color:#8a704b}
.gallery-title-row{display:flex;align-items:center;gap:18px;max-width:700px}
.gallery-title-row h1{margin:0;font:400 clamp(2rem,2.8vw,2.7rem)/1.05 Georgia,serif;letter-spacing:-.025em;color:var(--text,#29271f);white-space:nowrap}
.gallery-title-line{height:1px;flex:1;background:rgba(74,61,43,.22)}
.gallery-lead{max-width:620px;margin:11px 0 0;color:var(--text-light,#6d675b);font-size:.95rem;line-height:1.6}
.gallery-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.gallery-filter{border:1px solid rgba(45,38,28,.16);background:#f8f1e6;border-radius:999px;padding:7px 14px;cursor:pointer;font:inherit;font-size:.85rem;transition:.2s}
.gallery-filter:hover,.gallery-filter.active{background:#7b6845;color:#fff;border-color:#7b6845}
.gallery-wrap{margin-top:22px!important}
.photo-grid{width:100%!important;display:block!important;column-count:5!important;column-gap:14px!important;column-width:auto!important;text-align:left!important}
.photo-tile{position:relative;width:100%!important;max-width:none!important;display:inline-block!important;margin:0 0 14px!important;padding:0;border:0;background:none;border-radius:10px;overflow:hidden;cursor:zoom-in;break-inside:avoid!important;-webkit-column-break-inside:avoid;page-break-inside:avoid;vertical-align:top}
.photo-tile img{display:block;width:100%;height:auto;transition:transform .4s ease,filter .4s ease}
.photo-tile:hover img{transform:scale(1.025);filter:brightness(.86)}
.photo-caption{position:absolute;left:0;right:0;bottom:0;padding:34px 12px 10px;color:#fff;background:linear-gradient(transparent,rgba(17,14,10,.78));display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;opacity:0;transform:translateY(4px);transition:.22s}
.photo-tile:hover .photo-caption{opacity:1;transform:none}
.photo-country{font-size:.78rem;font-weight:650;line-height:1.2;text-transform:uppercase;letter-spacing:.055em}
.photo-place{font-size:.66rem;line-height:1.25;opacity:.82;font-weight:400;margin-top:2px;text-transform:none;letter-spacing:.01em}
.photo-tile.is-hidden{display:none!important}
.gallery-empty{background:#f8f1e6;border:1px solid rgba(45,38,28,.1);padding:45px;border-radius:16px;text-align:center}
.lightbox{position:fixed;inset:0;z-index:9999;background:rgba(12,11,9,.94);display:none;align-items:center;justify-content:center;padding:28px 70px}.lightbox.open{display:flex}.lightbox-figure{margin:0;max-width:min(1400px,92vw);max-height:90vh;display:flex;flex-direction:column;align-items:center}.lightbox-figure img{max-width:100%;max-height:82vh;object-fit:contain;box-shadow:0 15px 50px rgba(0,0,0,.35)}.lightbox-figure figcaption{width:100%;display:flex;justify-content:space-between;color:#eee;padding-top:10px;font-size:.88rem}.lightbox-meta{display:flex;flex-direction:column;gap:2px}.lightbox-meta #lightbox-country{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.lightbox-meta #lightbox-place{font-size:.72rem;opacity:.72}.lightbox-close,.lightbox-nav{position:absolute;border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.2);color:#fff;border-radius:50%;cursor:pointer}.lightbox-close{right:24px;top:18px;width:44px;height:44px;font-size:30px}.lightbox-nav{top:50%;width:48px;height:48px;font-size:36px;line-height:40px}.lightbox-prev{left:18px}.lightbox-next{right:18px}
@media(max-width:1250px){.gallery-page .gallery-container{width:calc(100vw - 48px)!important}.photo-grid{column-count:4!important}}
@media(max-width:950px){.gallery-page .gallery-container{width:calc(100vw - 36px)!important}.photo-grid{column-count:3!important}}
@media(max-width:700px){.gallery-page{padding-top:22px}.gallery-page .gallery-container{width:calc(100vw - 20px)!important}.gallery-title-row h1{font-size:2rem}.gallery-title-line{display:none}.gallery-lead{font-size:.88rem}.photo-grid{column-count:3!important;column-gap:7px!important}.photo-tile{margin:0 0 7px!important;border-radius:7px}.photo-caption{padding:24px 6px 6px;opacity:1;transform:none}.photo-country{font-size:.58rem}.photo-place{font-size:.52rem}.lightbox{padding:55px 12px 28px}.lightbox-nav{width:40px;height:40px;font-size:30px;background:rgba(0,0,0,.45)}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-close{right:10px;top:10px}.lightbox-figure img{max-height:76vh}}

/* V7 - country first, place smaller underneath */
.photo-caption{display:flex!important;flex-direction:column!important;align-items:flex-start!important}
.photo-country{display:block!important}
.photo-place{display:block!important;font-size:.64rem!important;opacity:.78!important;margin-top:3px!important;font-weight:400!important}


/* V8 - centered journal header + refined spacing */
.gallery-intro{text-align:center!important}
.gallery-title-row{justify-content:center!important;max-width:none!important}
.gallery-title-line{display:none!important}
.gallery-lead{margin:11px auto 0!important}
.gallery-filters{justify-content:center!important}
.photo-grid{column-gap:14px!important}
.photo-tile{margin-bottom:14px!important}
@media(max-width:700px){.photo-grid{column-gap:7px!important}.photo-tile{margin-bottom:7px!important}}
