.photo-page{color:#344452;background:linear-gradient(#f7eff0e8,#edf0f3e8),url(/assets/ivory-linen.jpg) 50%/720px;position:fixed;inset:0;overflow:auto}.photo-shell{max-width:1180px;margin:auto;padding:28px 36px 24px}.photo-page button,.photo-page input{font:inherit}.photo-page button,.photo-page a{-webkit-tap-highlight-color:transparent}.photo-page a{color:inherit}.photo-page button{cursor:pointer}.photo-page button:disabled{opacity:.55;cursor:wait}.photo-page :is(button,a,input):focus-visible{outline-offset:5px;outline:3px solid #627f98}.photo-nav{border-bottom:1px solid #64778a33;justify-content:space-between;align-items:center;gap:24px;padding-bottom:22px;font-size:14px;display:flex}.photo-nav a{text-decoration:none}.photo-nav span{font-family:Italianno,cursive;font-size:34px}.photo-heading{text-align:center;margin:56px auto 48px}.photo-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#5f7385;font-size:12px}.photo-heading h1{margin:12px 0 8px;font-family:Italianno,cursive;font-size:clamp(58px,7vw,90px);font-weight:400;line-height:1.1}.photo-heading>p:last-child{font-size:16px;line-height:1.8}.album-choices{grid-template-columns:repeat(3,1fr);gap:30px;padding:8px;display:grid}.album-card{min-width:0;color:inherit;background:#fffdf7;border:1px solid #e3ded5;flex-direction:column;align-items:center;padding:15px 15px 24px;transition:transform .25s,box-shadow .25s;display:flex;transform:rotate(-2deg);box-shadow:0 9px 22px #4b4d5912}.album-card-standesamt{transform:rotate(1.5deg)}.album-card-gaestefotos{align-self:start;transform:rotate(-1deg)}:is(.album-card:hover,.album-card:focus-visible){transform:translateY(-7px)rotate(0);box-shadow:0 14px 28px #4b4d5925}.album-art{aspect-ratio:1;background:#dce6ed;flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.album-card-standesamt .album-art{background:#e6dce7}.album-card-gaestefotos .album-art{aspect-ratio:3/2}.album-art img{object-fit:contain;width:77%;height:77%}.album-number{letter-spacing:.12em;opacity:.65;font-size:14px;position:absolute;top:12px;left:15px}.album-art-caption{font-family:Italianno,cursive;font-size:30px}.album-art-photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.album-card-standesamt .album-art-photo img{object-position:center 20%}.album-card-hochzeit .album-art-photo img{object-position:center 55%}.album-art-photo:after{content:"";pointer-events:none;background:linear-gradient(#0000,#17212c99);position:absolute;inset:45% 0 0}.album-art-photo .album-number{z-index:1;color:#fff;opacity:1;text-shadow:0 1px 4px #0009}.album-art-photo .album-art-caption{z-index:1;color:#fff;text-shadow:0 1px 5px #0008;position:absolute;bottom:12px;left:8px;right:8px}.album-card-title{font-family:var(--font-display), Georgia, serif;margin:17px 0 6px;font-size:36px}.album-locked{color:#62758b;text-transform:uppercase;letter-spacing:.1em;font-size:12px}.album-detail{min-height:44px;margin-top:12px;font-size:13px;line-height:1.7}.album-open{border-top:1px solid #b4b9be66;width:85%;margin-top:auto;padding-top:13px;font-size:14px}.photo-bottom-note{text-align:center;max-width:560px;margin:50px auto 20px;font-size:14px;line-height:1.9}.photo-footer{text-align:center;opacity:.75;margin-top:48px;font-family:Italianno,cursive;font-size:28px}.photo-text-button{text-underline-offset:5px;color:#47617a;background:0 0;border:0;padding:9px 0;text-decoration:underline;font-size:14px!important}.album-section>.photo-text-button{margin-top:20px}.album-heading{margin:20px auto 30px}.album-heading h1:focus{outline:none}.album-password-paper{background:#fffdf8;border:1px solid #e5dfd5;flex-direction:column;max-width:460px;margin:0 auto;padding:32px 36px;display:flex;box-shadow:0 10px 30px #45495810}.album-lock-mark{text-align:center;color:#7088a0;font-family:Italianno,cursive;font-size:34px}.album-password-paper h2{text-align:center;font-family:var(--font-display),Georgia,serif;margin:18px 0;font-size:30px;font-weight:400;line-height:1.2}.album-password-paper p{text-align:center;margin-bottom:26px;font-size:14px;line-height:1.8}.photo-page label{margin-bottom:8px;font-size:14px;display:block}.photo-page input[type=password]{color:#344452;background:#fff;border:1px solid #9cabb8;border-radius:3px;width:100%;min-height:48px;margin-bottom:16px;padding:10px 12px;font-size:16px}.photo-primary,.photo-secondary{text-align:center;background:#526d85;border:1px solid #526d85;border-radius:3px;padding:13px 22px;line-height:1.5;text-decoration:none;display:inline-block;color:#fff!important;font-size:14px!important}.photo-secondary{background:#fffdf8;color:#425a6f!important}.photo-primary:hover{background:#3e596f}.photo-error,.photo-success{color:#7d3149;overflow-wrap:anywhere;background:#fff2f4;border:1px solid #aa657d55;max-width:800px;margin:20px auto;padding:14px 18px;font-size:14px;line-height:1.8}.photo-success{color:#34594e;background:#f0f7f3;border-color:#78988b66}.photo-error summary{cursor:pointer}.album-toolbar{justify-content:space-between;align-items:center;gap:20px;font-size:14px;display:flex}.photo-upload{background:#fff9;border:1px dashed #9aaebb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:22px;margin:22px 0 32px;padding:24px;display:flex}.photo-upload h2{font-family:var(--font-display), Georgia, serif;margin:0 0 8px;font-size:26px;font-weight:500}.photo-upload p{margin:0;font-size:13px;line-height:1.7}.photo-upload .photo-upload-note{color:#606e79;margin-top:5px}.upload-progress{flex-basis:100%;gap:10px;font-size:14px;line-height:1.6;display:grid}.upload-progress progress{accent-color:#526d85;width:100%}.upload-access{border-top:1px solid #a2aebc55;border-bottom:1px solid #a2aebc55;margin:18px 0;padding:16px 0;font-size:14px;line-height:1.8}.upload-access form{max-width:380px;margin-top:20px}.album-empty{text-align:center;padding:25px 15px 35px}.album-empty img{object-fit:contain;opacity:.85;width:140px;height:140px}.album-empty h2{font-family:var(--font-display),Georgia,serif;font-size:30px;font-weight:400}.album-empty p{font-size:14px;line-height:1.8}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px;display:grid}.gallery-polaroid{background:#fffdf8;margin:0;padding:10px;box-shadow:0 3px 12px #45556312}.gallery-polaroid>button{background:#e0e6ea;border:0;width:100%;padding:0;display:block}.gallery-polaroid img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.gallery-polaroid figcaption{align-items:center;gap:8px;padding:7px 0 0 4px;font-size:13px;display:flex}.gallery-polaroid figcaption span{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.gallery-polaroid figcaption a{place-items:center;width:38px;height:38px;font-size:24px;text-decoration:none;display:grid}.photo-status{text-align:center;padding:30px;font-size:16px}.load-more{margin:28px auto;display:block}.photo-lightbox{color:#344452;background:#fcfaf5;border:0;max-width:min(960px,95vw);max-height:94svh;margin:auto;padding:30px;overflow:auto}.photo-lightbox::backdrop{background:#16212ce0}.photo-lightbox>div{flex-direction:column;align-items:center;display:flex}.photo-lightbox img{object-fit:contain;max-width:100%;max-height:65svh}.photo-lightbox p{overflow-wrap:anywhere;font-size:14px}.lightbox-close{color:inherit;background:0 0;border:0;align-self:flex-end;min-width:44px;min-height:44px;margin:-20px -20px 5px 0;font-size:32px!important}@media (max-width:760px){.photo-shell{padding:20px}.photo-nav{gap:12px}.photo-nav span{font-size:29px}.photo-heading{margin:36px auto 28px}.album-choices{grid-template-columns:1fr;gap:32px;max-width:370px;margin:auto}.album-card{padding:14px 14px 22px}.album-detail{min-height:0;margin-bottom:16px}.album-password-paper{padding:26px 22px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.album-toolbar{align-items:flex-start}.album-toolbar p{max-width:65%;line-height:1.8}.photo-upload{padding:20px}.photo-upload .photo-primary{width:100%}.gallery-polaroid{padding:7px}}@media (prefers-reduced-motion:reduce){.album-card{transition:none}}
