/* LOCAL INDEX gallery: visual-first, rights-first and responsive. All selectors scoped. */
.image-gallery .gallery-count{font-size:.67rem;letter-spacing:.15em;vertical-align:middle;margin-left:14px;color:var(--mute);font-weight:850;white-space:nowrap}
.gallery-warning{font-size:.83rem!important;color:var(--text-secondary);margin-bottom:22px;max-width:65ch}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gallery-item{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;min-width:0;margin:0;display:flex;flex-direction:column}
.gallery-image{height:180px;display:block;position:relative;background:var(--surface-product);overflow:hidden}
.gallery-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;transition:transform .2s}
.gallery-image img[hidden]{display:none!important}
.gallery-image:hover img{transform:scale(1.045)}
.gallery-placeholder{position:absolute;inset:0;display:grid;place-items:center;font-size:3.2rem;opacity:.8}
.gallery-item figcaption{padding:12px 13px 14px;display:flex;flex-direction:column;gap:7px;line-height:1.4;overflow-wrap:anywhere}
.gallery-item figcaption strong{font-size:.8rem;line-height:1.5;font-weight:850}
.gallery-item figcaption small{font-size:.66rem;color:var(--mute)}
.gallery-item figcaption>span{display:flex;flex-wrap:wrap;gap:12px}
.gallery-item figcaption a{font-size:.66rem;text-decoration:underline;text-underline-offset:2px}
.gallery-extra{margin-top:15px}
.gallery-extra>summary{list-style:none;display:flex;gap:14px;align-items:center;justify-content:center;cursor:pointer;text-align:center;min-height:51px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);font-weight:850;font-size:.86rem}
.gallery-extra>summary::-webkit-details-marker{display:none}
.gallery-extra[open]>summary{margin-bottom:15px}
.gallery-extra>summary span{font-size:.7rem;color:var(--mute)}
/* Country cards: photographs complement the existing flags, not replace them. */
.destination-art{height:253px}
.destination-city{bottom:99px;max-width:90%}
.destination-mosaic{position:absolute;bottom:13px;left:18px;right:18px;display:flex;gap:7px;height:72px}
.destination-photo{position:relative;flex:1;min-width:0;overflow:hidden;border:2px solid #ffffffc7;border-radius:11px;background:#d4e2d4;display:flex;align-items:center;justify-content:center}
.destination-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;z-index:1}
.destination-photo img[hidden]{display:none!important}
.destination-photo>span{font-size:.7rem;overflow-wrap:anywhere;line-height:1.2;font-weight:900;color:#19362f;text-shadow:0 1px 0 #ffffff90}
.destination-photo img+span{position:absolute;bottom:4px;left:5px;font-size:.61rem;z-index:2;background:#ffffffe0;border-radius:5px;padding:1px 4px}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-image{height:165px}}
@media(max-width:760px){.destination-art{height:221px}.destination-city{bottom:94px}.gallery-grid{gap:9px}.gallery-image{height:153px}}
@media(max-width:400px){.gallery-grid{grid-template-columns:1fr}.gallery-image{height:230px}.image-gallery .gallery-count{display:block;margin:8px 0}}
@media(prefers-reduced-motion:reduce){.gallery-image img{transition:none!important}}
.photos-attribution{text-align:right;font-size:.72rem;color:var(--mute);margin-top:15px;font-weight:750}
.photos-attribution a{text-decoration:underline;text-underline-offset:3px}
.credits-page{max-width:1080px;margin:60px auto;padding:0 22px}
.credits-page>h1{font-size:clamp(2.5rem,5vw,4.5rem);margin:25px 0 16px}
.credits-page>p{font-size:.94rem;color:var(--text-secondary);max-width:76ch}
.credit-group{padding:36px 0;border-top:1px solid var(--line);margin-top:22px}
.credit-group h2{font-size:1.6rem;margin:0 0 20px}
.credit-group h2 small{font-size:.78rem;color:var(--mute)}
.credit-group li{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding:12px 0;font-size:.75rem;overflow-wrap:anywhere}
.credit-group li strong{font-size:.8rem;flex:1 1 275px}
.credit-group li span{color:var(--mute);flex:1 1 180px}
.credit-group li a{text-decoration:underline;white-space:nowrap}
.gallery-item .photo-filename{font-size:.58rem;color:var(--mute);overflow-wrap:anywhere}
.photo-dialog{width:min(960px,96vw);max-height:94vh;background:var(--surface);color:var(--ink);padding:16px;border-radius:20px}
.photo-dialog-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px}
.photo-dialog-head strong{font-size:.9rem;overflow-wrap:anywhere}
.photo-dialog-head button,.photo-dialog-actions button{border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);color:var(--ink);min-width:40px;min-height:40px}
.photo-dialog-view{position:relative;height:min(68vh,670px);background:var(--surface-product);display:grid;place-items:center;border-radius:12px;overflow:hidden}
.photo-dialog-view>span{font-size:4rem;color:var(--mute)}
.photo-dialog-view>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:2}
.photo-dialog-view>img[hidden],.photo-dialog-view>span[hidden]{display:none!important}
.photo-dialog-actions{display:flex;align-items:center;justify-content:center;gap:13px;flex-wrap:wrap;padding-top:13px}
.photo-dialog-actions a{text-decoration:underline;font-size:.77rem;font-weight:750}
@media(max-width:760px){.photo-dialog{padding:12px}.photo-dialog-view{height:58vh}.photo-dialog-actions{gap:7px}.photo-dialog-actions a{font-size:.67rem}}
