/* Aquarium Zeit – Fotogalerie 3.0 */
.azgal3-overview,.azgal3-gallery{--azblue:#0a2638;--azcyan:#20b8dc;--azpale:#eaf5f9;color:#173344;width:100%;max-width:100%}
.azgal3-section-head,.azgal3-gallery-head{margin:0 0 30px}
.azgal3-section-head>span,.azgal3-gallery-head>span{font-size:10px;letter-spacing:2.4px;font-weight:800;color:#1499bc}
.azgal3-section-head h2,.azgal3-gallery-head h2{font-size:clamp(32px,4.5vw,56px);line-height:1.08;letter-spacing:-.035em;color:#0a2638;margin:8px 0 10px;font-weight:800}
.azgal3-section-head p,.azgal3-gallery-head p{max-width:850px;color:#647985;font-size:16px;line-height:1.7;margin:0}
.azgal3-breadcrumb{display:flex;gap:10px;align-items:center;margin:0 0 24px;color:#71848e;font-size:13px}
.azgal3-breadcrumb a{color:#078eb2;text-decoration:none}
.azgal3-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.azgal3-card{display:block;text-decoration:none!important;color:inherit!important;min-width:0}
.azgal3-card-media{position:relative;overflow:hidden;aspect-ratio:16/10;background:linear-gradient(135deg,#09283b,#15516b);border:1px solid #cbd6dc;border-radius:12px;padding:5px;box-shadow:0 5px 18px rgba(8,35,52,.09)}
.azgal3-card-media img{position:absolute;inset:5px;width:calc(100% - 10px);height:calc(100% - 10px);object-fit:cover;border-radius:8px;opacity:0;transition:opacity 1.1s ease}
.azgal3-card-media img.is-active{opacity:1}
.azgal3-folder-art{height:100%;display:grid;place-items:center;color:#8adff1;font-size:72px}
.azgal3-folder-art .dashicons{font-size:76px;width:76px;height:76px}
.azgal3-card-count{position:absolute;right:14px;bottom:14px;background:rgba(4,22,34,.78);color:white;padding:6px 11px;border-radius:20px;font-size:11px;letter-spacing:.04em}
.azgal3-card-copy{padding:15px 3px 0}
.azgal3-card-copy h3{margin:0 0 6px;color:#102e40;font-size:22px;line-height:1.2;font-weight:750}
.azgal3-card-copy p{margin:0 0 10px;color:#667b86;font-size:14px;line-height:1.6}
.azgal3-card-link{color:#078eaf;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.azgal3-card:hover .azgal3-card-media{border-color:#36b8d6;box-shadow:0 10px 28px rgba(8,35,52,.15)}
.azgal3-gallery-head{margin-bottom:26px}
.azgal3-grid{display:grid;grid-template-columns:repeat(var(--azgal-cols,5),minmax(0,1fr));gap:14px}
.azgal3-thumb{display:block;position:relative;overflow:hidden;padding:4px;border:1px solid #cbd5db;border-radius:11px;background:#f7fafb;aspect-ratio:1/1;cursor:pointer;box-shadow:0 2px 8px rgba(6,31,47,.08);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.azgal3-thumb:hover{transform:translateY(-3px);border-color:#25b5d5;box-shadow:0 9px 20px rgba(6,31,47,.15)}
.azgal3-thumb img{display:block;width:100%;height:100%;object-fit:cover;border-radius:7px}
.azgal3-empty{padding:22px 24px;background:#eaf4f7;color:#59717d;border-left:3px solid #27b7d8}
.azgal3-lightbox{display:none;position:fixed;z-index:999999;inset:0;background:rgba(2,12,20,.97);align-items:center;justify-content:center;padding:58px 76px 54px}
.azgal3-lightbox.is-open{display:flex}
.azgal3-lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:12px}
.azgal3-full{display:block;max-width:100%;max-height:calc(100vh - 150px);width:auto;height:auto;object-fit:contain}
.azgal3-lightbox figcaption{color:#e5f3f8;font-size:14px;text-align:center;max-width:850px}
.azgal3-counter{color:#91aab6;font-size:11px;letter-spacing:.12em}
.azgal3-close,.azgal3-prev,.azgal3-next{position:absolute;border:0;background:rgba(255,255,255,.1);color:white;cursor:pointer;display:grid;place-items:center;transition:background .2s}
.azgal3-close:hover,.azgal3-prev:hover,.azgal3-next:hover{background:rgba(32,184,220,.45)}
.azgal3-close{top:18px;left:22px;width:48px;height:48px;border-radius:50%;font-size:34px;line-height:1}
.azgal3-prev,.azgal3-next{top:50%;transform:translateY(-50%);width:54px;height:76px;border-radius:10px;font-size:48px;line-height:1}
.azgal3-prev{left:15px}.azgal3-next{right:15px}
.azgal3-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.13)}
.azgal3-progress span{display:block;height:100%;width:0;background:#24b9dd}
body.azgal3-lock{overflow:hidden}
@media(max-width:1050px){.azgal3-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.azgal3-cards{gap:20px}}
@media(max-width:760px){.azgal3-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.azgal3-card-copy h3{font-size:18px}.azgal3-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}}
@media(max-width:480px){.azgal3-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.azgal3-lightbox{padding:65px 12px 48px}.azgal3-prev,.azgal3-next{width:40px;height:58px;font-size:36px}.azgal3-prev{left:5px}.azgal3-next{right:5px}.azgal3-full{max-height:calc(100vh - 170px)}}

/* 3.1 refinement: gallery thumbnails are image-led, with a quiet frame */
.azgal3-thumb{
 padding:2px!important;
 border:1px solid #cbd5db!important;
 border-radius:7px!important;
 background:#f3f7f9!important;
 box-shadow:0 2px 7px rgba(6,31,47,.07)!important;
}
.azgal3-thumb:hover{
 border-color:#65b8cc!important;
 box-shadow:0 6px 15px rgba(6,31,47,.12)!important;
}
.azgal3-thumb img{
 border-radius:5px!important;
}
.azgal3-grid{gap:12px!important}
@media(max-width:760px){.azgal3-grid{gap:8px!important}}

/* 3.2: dark marine-blue canvas for the actual photo gallery */
.azgal3-gallery{
 width:100vw!important;max-width:100vw!important;
 position:relative;left:50%;transform:translateX(-50%);
 margin:0!important;
 box-sizing:border-box;
 padding:clamp(32px,4vw,58px) max(20px,calc((100vw - 1400px)/2))!important;
 background:#08283b!important;
 color:#edf7fb!important;
}
.azgal3-gallery-head{max-width:1400px;margin:0 auto 30px!important}
.azgal3-gallery-head>span{color:#54cbe5!important}
.azgal3-gallery-head h2{color:#f4fbff!important}
.azgal3-gallery-head p{color:#b9d0db!important}
.azgal3-grid{max-width:1400px;margin:0 auto!important}
.azgal3-thumb{
 background:#f5f8fa!important;
 border:1px solid rgba(220,235,242,.5)!important;
 padding:2px!important;
 border-radius:7px!important;
}
.azgal3-thumb img{border-radius:5px!important}
.azgal3-empty{max-width:1400px;margin:0 auto;background:#10394e!important;color:#d9edf5!important;border-left-color:#42c4df!important}
/* Keep the close control above theme button styles and always visible. */
.azgal3-lightbox .azgal3-close{
 display:flex!important;visibility:visible!important;opacity:1!important;
 align-items:center!important;justify-content:center!important;
 position:absolute!important;z-index:1000005!important;
 top:18px!important;left:22px!important;right:auto!important;
 width:50px!important;height:50px!important;min-width:50px!important;
 padding:0!important;margin:0!important;border:1px solid rgba(255,255,255,.55)!important;
 border-radius:50%!important;background:rgba(12,44,62,.9)!important;
 color:#fff!important;font-family:Arial,sans-serif!important;
 font-size:36px!important;font-weight:300!important;line-height:1!important;
 box-shadow:0 3px 14px rgba(0,0,0,.35)!important;cursor:pointer!important;
}
.azgal3-lightbox .azgal3-close:hover{background:#159fc2!important;color:#fff!important}
@media(max-width:760px){
 .azgal3-gallery{padding:30px 16px!important}
 .azgal3-lightbox .azgal3-close{top:10px!important;left:10px!important;width:44px!important;height:44px!important;min-width:44px!important;font-size:32px!important}
}

/* 3.3: true viewport lightbox, detached from theme layout */
html body .azgal3-lightbox{
 display:none!important;
 position:fixed!important;
 inset:0!important;
 width:100vw!important;
 height:100vh!important;
 height:100dvh!important;
 max-width:none!important;
 max-height:none!important;
 margin:0!important;
 padding:72px 82px 54px!important;
 box-sizing:border-box!important;
 overflow:hidden!important;
 transform:none!important;
 border:0!important;
 border-radius:0!important;
 z-index:2147483000!important;
 background:rgba(2,12,20,.98)!important;
 align-items:center!important;
 justify-content:center!important;
}
html body .azgal3-lightbox.is-open{display:flex!important}
html body .azgal3-lightbox figure{
 display:flex!important;
 width:100%!important;
 height:100%!important;
 max-width:none!important;
 max-height:none!important;
 margin:0!important;
 padding:0!important;
 align-items:center!important;
 justify-content:center!important;
 overflow:hidden!important;
}
html body .azgal3-lightbox .azgal3-full{
 display:block!important;
 width:auto!important;
 height:auto!important;
 max-width:calc(100vw - 180px)!important;
 max-height:calc(100vh - 150px)!important;
 max-height:calc(100dvh - 150px)!important;
 object-fit:contain!important;
 object-position:center!important;
 margin:auto!important;
}
html body .azgal3-lightbox .azgal3-close,
html body .azgal3-lightbox .azgal3-prev,
html body .azgal3-lightbox .azgal3-next{
 position:fixed!important;
 z-index:2147483002!important;
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 visibility:visible!important;
 opacity:1!important;
 color:#fff!important;
 background:rgba(10,43,61,.92)!important;
 border:1px solid rgba(255,255,255,.55)!important;
 box-shadow:0 3px 18px rgba(0,0,0,.4)!important;
 cursor:pointer!important;
}
html body .azgal3-lightbox .azgal3-close{
 top:16px!important;left:16px!important;right:auto!important;
 width:48px!important;height:48px!important;min-width:48px!important;
 padding:0!important;margin:0!important;border-radius:50%!important;
 font:300 34px/1 Arial,sans-serif!important;
}
html body .azgal3-lightbox .azgal3-prev,
html body .azgal3-lightbox .azgal3-next{
 top:50%!important;transform:translateY(-50%)!important;
 width:52px!important;height:72px!important;min-width:52px!important;
 padding:0!important;margin:0!important;border-radius:9px!important;
 font:300 48px/1 Arial,sans-serif!important;
}
html body .azgal3-lightbox .azgal3-prev{left:16px!important;right:auto!important}
html body .azgal3-lightbox .azgal3-next{right:16px!important;left:auto!important}
html body .azgal3-lightbox .azgal3-close:hover,
html body .azgal3-lightbox .azgal3-prev:hover,
html body .azgal3-lightbox .azgal3-next:hover{background:#079fc5!important}
html body .azgal3-lightbox figcaption{max-width:min(900px,80vw)!important;color:#e5f3f8!important}
html body .azgal3-lightbox .azgal3-counter{color:#a9c2ce!important}
html body .azgal3-lightbox .azgal3-progress{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:2147483003!important}
@media(max-width:600px){
 html body .azgal3-lightbox{padding:66px 48px 48px!important}
 html body .azgal3-lightbox .azgal3-full{max-width:calc(100vw - 96px)!important;max-height:calc(100dvh - 150px)!important}
 html body .azgal3-lightbox .azgal3-close{top:10px!important;left:10px!important;width:42px!important;height:42px!important;min-width:42px!important;font-size:30px!important}
 html body .azgal3-lightbox .azgal3-prev,html body .azgal3-lightbox .azgal3-next{width:36px!important;height:54px!important;min-width:36px!important;font-size:34px!important}
 html body .azgal3-lightbox .azgal3-prev{left:5px!important}
 html body .azgal3-lightbox .azgal3-next{right:5px!important}
}
