/* Vicwd gallery v1.1. Requires local Font Awesome 4.7 icons (or equivalent icon markup). */
#gallery1,.lightbox,#gallery1 *,.lightbox *{box-sizing:border-box;}
.lightbox p{margin:0;}
.lightbox button{cursor:pointer;}
/* Vicwd gallery: original photographs, with native links as a fallback. */
.gallery-hint{font-size:12px;color:var(--muted,#6b6258);margin-bottom:24px;text-align:center;}
.gallery-hint .fa{margin-right:8px;color:#91683e;}
#gallery1{--gallery-height:190px;display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:16px;margin:0 auto;}
.gallery-photo{position:relative;display:block;flex:0 0 auto;max-width:100%;background:var(--cream,#f7f3eb);transition:transform .25s ease,box-shadow .25s ease;}
.gallery-photo img{display:block;width:auto;height:var(--gallery-height);max-width:100%;object-fit:contain;transition:opacity .25s ease;}
.gallery-photo:hover .gallery-zoom{background:var(--gold,#d8b57a);}
@media(hover:hover) and (pointer:fine){.gallery-photo:hover{transform:scale(1.04);box-shadow:0 8px 20px #10222d38;z-index:1;}.gallery-photo:hover img,.lightbox-thumb:hover img{opacity:.95;}}
@media(max-width:1150px){#gallery1{--gallery-height:160px;}}
.gallery-zoom{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:30px;height:30px;background:var(--paper,#fff);color:var(--wine,#5b2e28);}
@media(max-width:900px){#gallery1{--gallery-height:150px;}}
@media(max-width:680px){#gallery1{--gallery-height:clamp(76px,calc((100vw - 84px)/3),128px);}.gallery-zoom{width:25px;height:25px;right:6px;bottom:6px;font-size:12px;}}
/* Vicwd gallery viewer controls and media stage. */
.lightbox{position:fixed;inset:0;width:min(1900px,96vw);height:94dvh;max-width:none;max-height:none;border:1px solid #7294a3;margin:auto;background:#10222d;color:#fff;padding:14px 18px;overflow:hidden;}
.lightbox[open]{display:flex;flex-direction:column;gap:10px;}
.lightbox::backdrop{background:#071720ef;}
.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-shrink:0;}
.lightbox-count{font-family:var(--display,Arial,sans-serif);font-size:14px;line-height:1.4;color:#d1eaf0;white-space:nowrap;}
.lightbox-actions{display:flex;gap:4px;}
.lightbox button{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;background:#faf7f012;border:1px solid #ffffff35;border-radius:3px;color:#fff;font-size:17px;line-height:1;}
.lightbox button:hover:not(:disabled){background:#ffffff25;}
.lightbox button:disabled{opacity:.35;cursor:default;}
.lightbox button:focus-visible,.lightbox a:focus-visible{outline:3px solid var(--gold,#d8b57a);outline-offset:-3px;}
.lightbox button[hidden],.lightbox-thumbs[hidden]{display:none;}
.lightbox button[aria-pressed=true]:not(.lightbox-thumb){color:#d1eaf0;background:#ffffff25;}
.lightbox-zoom-out .fa:before{content:"\f010";}
.lightbox-reset .fa:before{content:"\f066";}
.lightbox-rotate .fa:before{content:"\f01e";}
.lightbox-play .fa:before{content:"\f04b";}
.lightbox-play[aria-pressed=true] .fa:before{content:"\f04c";}
.lightbox-toggle-thumbs .fa:before{content:"\f00a";}
.lightbox-fullscreen .fa:before{content:"\f065";}
.lightbox-fullscreen[aria-pressed=true] .fa:before{content:"\f066";}
.lightbox-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;flex:1;min-height:0;}
.lightbox-stage>button{font-size:26px;}
.lightbox-viewport{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;touch-action:none;user-select:none;}
.lightbox-viewport.is-zoomed{cursor:grab;}
.lightbox-viewport.is-zoomed:active{cursor:grabbing;}
.lightbox-image{display:block;flex-shrink:0;max-width:none;max-height:none;object-fit:contain;transform-origin:center;opacity:1;transition:opacity .15s;}
.lightbox[data-loading=true] .lightbox-image{opacity:0;}
.lightbox-status{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;text-align:center;font-size:13px;line-height:1.5;color:#d1eaf0;padding:20px;}
.lightbox-description{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-shrink:0;}
.lightbox-caption{font-size:13px;line-height:1.45;color:#d1eaf0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.lightbox-original{flex-shrink:0;font-size:12px;color:#d1eaf0;text-decoration:underline;text-underline-offset:3px;}
.lightbox-original .fa{margin-left:5px;}
.lightbox-thumbs{--thumb-height:64px;display:flex;gap:8px;flex-shrink:0;padding:5px 2px 9px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#7294a3 #10222d;}
.lightbox .lightbox-thumb{display:block;width:calc((var(--thumb-height) - 8px)*var(--thumb-ratio) + 8px);height:var(--thumb-height);padding:2px;border:2px solid transparent;background:transparent;overflow:hidden;}
.lightbox .lightbox-thumb[aria-pressed=true]{border-color:var(--gold,#d8b57a);}
.lightbox-thumb img{display:block;width:100%;height:100%;object-fit:contain;transition:opacity .25s ease;}
.lightbox-help{text-align:center;font-size:11px;line-height:1.4;color:#a8c4d0;flex-shrink:0;}
.lightbox.is-fullscreen{width:100vw;height:100dvh;border:0;}
body.photo-open{overflow:hidden;}
@media(max-width:680px){.lightbox{width:100vw;height:100dvh;padding:10px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom));border:0;}.lightbox[open]{gap:8px;}.lightbox-toolbar{display:block;}.lightbox-count{font-size:12px;margin-bottom:8px;}.lightbox-actions{width:100%;gap:3px;}.lightbox-actions button{flex:1;min-width:0;width:auto;font-size:15px;}.lightbox-stage{position:relative;display:block;}.lightbox-stage>button{position:absolute;z-index:1;top:50%;margin-top:-22px;width:30px;height:44px;font-size:23px;background:#10222da6;}.lightbox-prev{left:0;}.lightbox-next{right:0;}.lightbox-caption{font-size:12px;}.lightbox-description{gap:8px;}.lightbox-original{font-size:11px;}.lightbox-thumbs{--thumb-height:54px;gap:5px;padding-block:3px 6px;}.lightbox-help{font-size:10px;}}
@media(max-height:500px){.lightbox{height:100dvh;padding:6px 10px;}.lightbox[open]{gap:5px;}.lightbox-toolbar{display:flex;}.lightbox-count{margin:0;}.lightbox-actions{width:auto;}.lightbox-actions button{width:34px;height:34px;flex:none;}.lightbox-thumbs{--thumb-height:44px;}.lightbox-help{display:none;}}
@media(prefers-reduced-motion:reduce){.lightbox-image{transition:none;}}

@media(prefers-reduced-motion:reduce){.gallery-photo,.gallery-photo img,.lightbox-thumb img{transition:none;}}

/* Vicwd gallery: thin white thumbnail edges and optional YouTube media. */
.gallery-photo img,.lightbox-thumb img{outline:1px solid #fff;outline-offset:-1px;}
.gallery-photo.is-video .gallery-zoom .fa:before{content:"\f04b";}
.lightbox .lightbox-thumb.is-video{position:relative;}
.lightbox-thumb.is-video:after{content:"\f04b";position:absolute;right:5px;bottom:5px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#10222dd9;color:#fff;font-family:FontAwesome;font-size:10px;pointer-events:none;}
.lightbox.is-video{overflow-y:auto;}
.lightbox.is-video .lightbox-stage{min-height:220px;}
.lightbox.is-video .lightbox-viewport{touch-action:auto;}
.lightbox.is-video .lightbox-image{display:none;}
.lightbox-video{display:block;flex-shrink:0;min-width:200px;min-height:200px;max-width:100%;border:0;background:#000;}
@media(max-width:680px){.lightbox.is-video .lightbox-stage{display:grid;grid-template-columns:30px minmax(0,1fr) 30px;gap:0;}.lightbox.is-video .lightbox-stage>button{position:static;margin:0;}.lightbox.is-video .lightbox-description{flex-wrap:wrap;}.lightbox.is-video .lightbox-original{margin-left:auto;}}

/* Vicwd gallery v1.1: viewer transitions, hidden controls and actual-size zoom. */
.lightbox.is-opening{animation:vicwd-open .22s ease-out both;}
.lightbox.is-closing{animation:vicwd-close .16s ease-in both;pointer-events:none;}
.lightbox.is-opening::backdrop{animation:vicwd-backdrop-in .22s ease-out both;}
.lightbox.is-closing::backdrop{animation:vicwd-backdrop-out .16s ease-in both;}
@keyframes vicwd-open{from{opacity:0;transform:translateY(10px) scale(.98);}to{opacity:1;transform:none;}}
@keyframes vicwd-close{from{opacity:1;transform:none;}to{opacity:0;transform:translateY(6px) scale(.985);}}
@keyframes vicwd-backdrop-in{from{opacity:0;}to{opacity:1;}}
@keyframes vicwd-backdrop-out{from{opacity:1;}to{opacity:0;}}
.lightbox-info{display:flex;align-items:center;gap:14px;min-width:0;}
.lightbox-info .lightbox-count{margin:0;}
.lightbox-view-tools{display:flex;align-items:center;gap:5px;}
.lightbox-zoom-level{min-width:42px;font:12px/1.4 Arial,Helvetica,sans-serif;font-variant-numeric:tabular-nums;color:#d1eaf0;text-align:right;}
.lightbox button.lightbox-actual-size{font:13px/1 Arial,Helvetica,sans-serif;}
.lightbox-toggle-controls .fa:before,.lightbox-show-controls .fa:before{content:"\f06e";}
.lightbox .lightbox-show-controls:not([hidden]){position:absolute;top:12px;right:12px;z-index:3;display:flex;gap:8px;width:auto;padding:0 12px;font:12px/1 Arial,Helvetica,sans-serif;background:#10222de6;}
.lightbox.controls-hidden .lightbox-toolbar,.lightbox.controls-hidden .lightbox-description,.lightbox.controls-hidden .lightbox-thumbs,.lightbox.controls-hidden .lightbox-help{display:none;}
.lightbox.controls-hidden .lightbox-stage{grid-template-columns:0 minmax(0,1fr) 0;gap:0;}
.lightbox.controls-hidden .lightbox-stage>button{visibility:hidden;pointer-events:none;}
.lightbox-video{min-width:0;min-height:0;object-fit:contain;}
.lightbox-iframe{min-width:200px;min-height:200px;}
@media(max-width:680px){.lightbox-info{justify-content:space-between;gap:8px;margin-bottom:8px;}.lightbox-zoom-level{font-size:11px;}.lightbox-view-tools{gap:4px;}.lightbox-view-tools button{width:44px;height:44px;}}
@media(max-height:500px){.lightbox-info{gap:10px;margin-bottom:0;}.lightbox-view-tools button{width:34px;height:34px;}}
@media(prefers-reduced-motion:reduce){.lightbox.is-opening,.lightbox.is-closing,.lightbox.is-opening::backdrop,.lightbox.is-closing::backdrop{animation:none;}}

/* Optional category buttons are generated only for a gallery with data-vicwd-filters. */
.gallery-photo[hidden]{display:none;}
.vicwd-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:0 auto 12px;}
.vicwd-filters button{min-height:44px;padding:10px 16px;border:1px solid var(--wine,#5b2e28);border-radius:3px;background:var(--paper,#fff);color:var(--wine,#5b2e28);font:inherit;font-size:13px;cursor:pointer;}
.vicwd-filters button[aria-pressed=true]{background:var(--wine,#5b2e28);color:#fff;}
.vicwd-filters button:focus-visible{outline:3px solid var(--gold,#d8b57a);outline-offset:3px;}
.vicwd-filter-status{text-align:center;font-size:12px;color:var(--muted,#6b6258);margin-bottom:20px;}
