/* usedomhochzeit Fotogalerien – Anzeige. Farben passend zum Design der Seite (Türkis, Tiefsee, Silber). */
.uh-gal,.uh-gal-wrap{--g-acc:#40E0D0;--g-sea:#0b3f46;--g-ink:#23272a;--g-line:#dfe6e5;--g-mist:#e8f6f4;--g-acct:#0d7a70}
.uh-gal{--uh-hd:280px;--uh-h:var(--uh-hd);--uh-gap:10px;display:flex;flex-wrap:wrap;gap:var(--uh-gap);margin:1.25rem 0;padding:0}
/* Reihen: Hochformat und Querformat füllen jede Zeile gleich hoch (wie in einem Fotobuch) */
.uh-gal--reihen .uh-gal-i{flex:calc(var(--r)*100) 1 calc(var(--r)*var(--uh-h));aspect-ratio:var(--r);min-width:0}
.uh-gal-fill{flex:999 999 0;height:0}
/* Wild (Standard): verschieden große, leicht gedrehte Fotos mit Türkis-Rahmen, locker verteilt */
.uh-gal--wild{justify-content:center;align-items:center;gap:calc(var(--uh-gap)*2.2) calc(var(--uh-gap)*1.6);padding:1.4rem .8rem 1.6rem}
.uh-gal--wild .uh-gal-fill{display:none}
.uh-gal--wild .uh-gal-i{--w:44;--rot:0deg;--ty:0px;flex:0 0 auto;width:calc((var(--w)*1% - var(--uh-gap)*1.2)*max(.62,min(1,var(--r)/1.5)));aspect-ratio:var(--r);border:3px solid var(--g-acc);border-radius:20px;rotate:var(--rot);translate:0 var(--ty);box-shadow:0 30px 44px -28px rgba(11,63,70,.6),0 0 0 6px rgba(11,63,70,.06);transition:rotate .45s cubic-bezier(.2,.8,.2,1),translate .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
.uh-gal--wild .uh-gal-i:nth-child(8n+1){--w:56;--rot:-1.8deg}
.uh-gal--wild .uh-gal-i:nth-child(8n+2){--w:40;--rot:1.5deg;--ty:16px}
.uh-gal--wild .uh-gal-i:nth-child(8n+3){--w:34;--rot:2deg;--ty:-8px}
.uh-gal--wild .uh-gal-i:nth-child(8n+4){--w:31;--rot:-1.3deg;--ty:18px}
.uh-gal--wild .uh-gal-i:nth-child(8n+5){--w:31;--rot:1.9deg;--ty:-6px}
.uh-gal--wild .uh-gal-i:nth-child(8n+6){--w:42;--rot:-1.6deg;--ty:10px}
.uh-gal--wild .uh-gal-i:nth-child(8n+7){--w:52;--rot:1.2deg}
.uh-gal--wild .uh-gal-i:nth-child(8n+8){--w:44;--rot:-2.1deg;--ty:14px}
.uh-gal--wild .uh-gal-i:hover,.uh-gal--wild .uh-gal-i:focus-visible{rotate:0deg;z-index:2;box-shadow:0 36px 56px -26px rgba(11,63,70,.7),0 0 0 6px rgba(64,224,208,.25)}
@media (max-width:700px){
  .uh-gal--wild{padding:1rem .4rem 1.2rem}
  .uh-gal--wild .uh-gal-i{--w:46;width:calc((var(--w)*1% - var(--uh-gap)*1.2)*max(.74,min(1,var(--r)/1.5)));rotate:calc(var(--rot)*.7);translate:0 calc(var(--ty)*.5)}
  .uh-gal--wild .uh-gal-i:nth-child(3n+1){--w:90}
}
@media (prefers-reduced-motion:reduce){.uh-gal--wild .uh-gal-i{transition:none}}
/* Fest: alle Fotos gleichen Formats sind exakt gleich groß, Zeilen mittig */
.uh-gal--fest{justify-content:center}
.uh-gal--fest .uh-gal-i{flex:0 0 auto;width:calc(var(--r)*var(--uh-h));max-width:100%;aspect-ratio:var(--r)}
.uh-gal--fest .uh-gal-fill{display:none}
@media (max-width:700px){.uh-gal.uh-gal--fest{--uh-h:clamp(96px,26vw,150px)}}
/* Raster: gleich große Kacheln */
.uh-gal--raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--uh-h)*.9),1fr))}
.uh-gal--raster .uh-gal-i{aspect-ratio:4/3}
.uh-gal--raster .uh-gal-fill{display:none}
.uh-gal-i{position:relative;display:block;overflow:hidden;border-radius:14px;background:#eef1f2;cursor:zoom-in;-webkit-tap-highlight-color:transparent;box-shadow:none;text-decoration:none;border:0}
.uh-gal-i[hidden]{display:none}
.uh-gal-i .uh-gal-img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;margin:0;border-radius:0;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.uh-gal-i::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(11,63,70,.08);pointer-events:none}
@media (hover:hover){.uh-gal-i:hover .uh-gal-img{transform:scale(1.045)}}
.uh-gal-i:focus-visible{outline:3px solid var(--g-acc);outline-offset:3px}
@media (max-width:700px){.uh-gal{--uh-h:min(var(--uh-hd),210px)}}
.uh-gal-hint{margin:1rem 0;padding:.8rem 1rem;border:1px dashed #c3ccd0;border-radius:12px;background:#eef1f2;color:#565c60;font-size:.85rem}

/* Auswahl nach Galerie */
.uh-gal-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem}
.uh-gal-filter button{appearance:none;cursor:pointer;min-height:2.6rem;padding:.4rem 1.1rem;border-radius:999px;border:2px solid var(--g-line);background:#fff;color:var(--g-ink);font:600 .85rem/1.2 "Montserrat","Segoe UI",system-ui,sans-serif;transition:background .2s,border-color .2s,color .2s}
.uh-gal-filter button:hover{border-color:var(--g-acc)}
.uh-gal-filter button.is-on{background:var(--g-sea);border-color:var(--g-sea);color:#fff}
.uh-gal-filter button:focus-visible{outline:3px solid var(--g-acc);outline-offset:2px}
.uh-gal-more-wrap{text-align:center;margin:1.5rem 0 0}
.uh-gal-more{appearance:none;cursor:pointer;min-height:3.1rem;padding:.5rem 1.8rem;border-radius:999px;border:0;background:var(--g-acc);color:var(--g-ink);font:600 .95rem/1.2 "Montserrat","Segoe UI",system-ui,sans-serif;transition:background .25s,color .25s}
.uh-gal-more:hover{background:var(--g-sea);color:#fff}
.uh-gal-more[hidden]{display:none}

/* Seite "Fotos": nur Fotos, mit ruhigem Rand */
.uh-gal-page{max-width:1500px;margin:0 auto;padding:clamp(1.25rem,3vw,2.5rem) clamp(1rem,3vw,2.5rem) clamp(2.5rem,6vw,5rem)}
.uh-gal-page .uh-gal-h1{margin:0 0 1.25rem;font-size:clamp(1.5rem,1.1rem + 1.4vw,2.2rem);line-height:1.2;font-weight:700;color:var(--g-sea)}

/* Vergrößern-Fenster */
html.uhg-lock,html.uhg-lock body{overflow:hidden}
.uhg-lb{position:fixed;inset:0;z-index:100001;display:flex;align-items:center;justify-content:center;background:rgba(7,36,41,.96);opacity:0;transition:opacity .25s ease;touch-action:pan-y}
.uhg-lb.is-on{opacity:1}
.uhg-lb-fig{margin:0;max-width:100vw;max-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(.5rem,3vw,3.5rem) clamp(.5rem,6vw,6rem)}
.uhg-lb-img{display:block;max-width:100%;max-height:calc(100dvh - 7rem);width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 30px 80px -20px rgba(0,0,0,.7);opacity:0;transform:scale(.985);transition:opacity .3s ease,transform .35s cubic-bezier(.2,.8,.2,1)}
.uhg-lb-img.is-ready{opacity:1;transform:none}
.uhg-lb-cap{min-height:1.5rem;margin:.8rem 0 0;max-width:60ch;text-align:center;color:#d6e6e8;font:500 .9rem/1.5 "Montserrat","Segoe UI",system-ui,sans-serif}
.uhg-lb-n{position:absolute;left:50%;bottom:.9rem;transform:translateX(-50%);color:#8eeee3;font:600 .78rem/1 "Montserrat","Segoe UI",system-ui,sans-serif;letter-spacing:.1em}
.uhg-lb-b{position:absolute;display:grid;place-items:center;width:3rem;height:3rem;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;transition:background .2s,color .2s}
.uhg-lb-b:hover,.uhg-lb-b:focus-visible{background:#40E0D0;color:#23272a;outline:0}
.uhg-lb-b svg{width:1.4rem;height:1.4rem;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.uhg-lb-x{top:max(.9rem,env(safe-area-inset-top));right:.9rem}
.uhg-lb-p{left:.9rem;top:50%;transform:translateY(-50%)}
.uhg-lb-nx{right:.9rem;top:50%;transform:translateY(-50%)}
.uhg-lb-b[hidden]{display:none}
@media (max-width:700px){.uhg-lb-p,.uhg-lb-nx{top:auto;bottom:.7rem;transform:none}.uhg-lb-fig{padding:3.5rem .5rem 4rem}.uhg-lb-img{max-height:calc(100dvh - 10rem)}}
@media (prefers-reduced-motion:reduce){.uh-gal-img,.uhg-lb,.uhg-lb-img{transition:none!important}}

/* Titelbild als Bildstapel (Seitenkopf): das erste Foto liegt oben, zwei weitere schauen dahinter hervor */
.uh-stack{position:relative;width:100%;aspect-ratio:3/2;margin:0;isolation:isolate}
.uh-stack-c{position:absolute;inset:0;display:block;overflow:hidden;border-radius:22px;border:3px solid var(--g-acc);background:#0b3f46;box-shadow:0 34px 60px -30px rgba(0,0,0,.65)}
.uh-stack-c img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;margin:0;border-radius:0}
.uh-stack-c1{z-index:3;rotate:1.6deg}
.uh-stack-c2{z-index:2;rotate:-5deg;translate:-3.5% 3%;border-color:rgba(255,255,255,.55)}
.uh-stack-c3{z-index:1;rotate:6.5deg;translate:4% -2.5%;border-color:rgba(255,255,255,.4)}
.uh-stack-c2 img,.uh-stack-c3 img{filter:brightness(.82) saturate(.9)}
.uh-stack--1 .uh-stack-c1{rotate:1.6deg}
@media (max-width:919px){.uh-stack{width:92%;margin:0 auto}.uh-stack-c1{rotate:1deg}.uh-stack-c2{rotate:-3.5deg;translate:-2.5% 2.5%}.uh-stack-c3{rotate:4.5deg;translate:3% -2%}}

/* Galerie mit Überschrift und Link (z. B. "Hochzeitsfotos von mir" im Abschnitt "Euer Hochzeitsfotograf") */
.uh-gal-block{margin:clamp(2.2rem,5vw,3.6rem) 0 0}
.uh-gal-block .uh-gal-h3{margin:0 0 .4rem;font:700 clamp(1.375rem,1.2rem + .8vw,1.75rem)/1.15 "Montserrat","Segoe UI",system-ui,sans-serif;letter-spacing:-.01em;color:var(--g-sea)}
.uh-sea .uh-gal-block .uh-gal-h3,.uh-dark .uh-gal-block .uh-gal-h3{color:#fff}
.uh-gal-block .uh-gal{margin-top:.5rem}
.uh-gal-link{margin:.4rem 0 0;text-align:center}
