.wedding-salon-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#000000eb;padding:24px;overflow:auto}.wedding-salon{box-sizing:border-box;display:flex;align-items:center;gap:30px;width:1170px;max-width:100%;padding:28px;background:#dce1e3;border:1px solid #c3cbce;box-shadow:0 18px 48px #263c3b2e;color:#263c3b;font-family:system-ui,-apple-system,Segoe UI,sans-serif;animation:salon-in .65s cubic-bezier(.2,.7,.2,1) both}.wedding-salon .salon-photo-stage{position:relative;flex:0 0 900px;line-height:0;padding:10px}.wedding-salon .salon-photo-stage:before,.wedding-salon .salon-photo-stage:after{position:absolute;z-index:1;content:"";width:30px;height:30px;pointer-events:none}.wedding-salon .salon-photo-stage:before{top:0;left:0;border-top:1px solid #F7FAF9;border-left:1px solid #F7FAF9}.wedding-salon .salon-photo-stage:after{right:0;bottom:0;border-right:1px solid #F7FAF9;border-bottom:1px solid #F7FAF9}.wedding-salon .salon-photo{display:block;width:900px;height:auto;max-height:720px;-o-object-fit:contain;object-fit:contain;box-shadow:0 8px 30px #1626273d}.wedding-salon .salon-controls{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.wedding-salon .salon-control{pointer-events:auto;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(247,250,249,.48);border-radius:50%;background:#263c3bb8;color:#f7faf9;cursor:pointer;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.wedding-salon .salon-control:hover{background:#263c3b;box-shadow:0 3px 12px #0003}.wedding-salon .salon-control:active{transform:scale(.94)}.wedding-salon .salon-control:focus-visible{outline:2px solid #F7FAF9;outline-offset:3px}.wedding-salon .salon-close{position:absolute;right:0;top:0}.wedding-salon .salon-caption-rail{box-sizing:border-box;align-self:stretch;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between;padding:17px 2px 16px;opacity:1;animation:rail-in .8s ease .2s both}.wedding-salon .salon-caption{margin:0;color:#263c3b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;font-weight:400;line-height:1.5;letter-spacing:.015em}.wedding-salon .salon-counter{margin:0;color:#526765;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.22em}.wedding-salon .salon-rail-rule{width:38px;height:1px;background:#9aa8a8}.wedding-salon .salon-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}@keyframes salon-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes rail-in{0%{opacity:.45}to{opacity:1}}@media(max-width:1199px){.wedding-salon .salon-photo-stage{flex:0 1 80%;min-width:0}.wedding-salon .salon-photo{width:100%;max-height:calc(100dvh - 128px)}}@media(max-width:767px){.wedding-salon-overlay{padding:16px}.wedding-salon{flex-direction:column;gap:20px;padding:18px}.wedding-salon .salon-photo-stage{flex:auto;width:100%}.wedding-salon .salon-photo{max-height:calc(100dvh - 240px)}.wedding-salon .salon-caption-rail{gap:18px;padding:0 2px;flex:auto}}@media(max-width:767px){.gallery-mobile-readable{--background: 40 33% 98%;--foreground: 24 30% 14%;--card: 40 30% 98%;--muted: 35 20% 92%;--muted-foreground: 24 15% 32%;--primary: 147 22% 25%;--primary-foreground: 40 33% 98%;color-scheme:light;color:hsl(var(--foreground));overflow-wrap:anywhere}.gallery-mobile-readable :is(p,span,a,button){font-size:1rem;line-height:1.65}.gallery-mobile-readable h1{font-size:2.5rem;font-weight:600;line-height:1.15}.gallery-mobile-readable h2{font-size:2rem;font-weight:700;line-height:1.25}.gallery-mobile-readable>section:first-child{height:auto;min-height:480px;padding:3rem 1.25rem}.gallery-mobile-readable>section:first-child .bg-black\/45{background:#000000a6}.gallery-mobile-readable>section:first-child p{color:hsl(var(--primary-foreground))}.gallery-mobile-readable .sticky>div{padding:.75rem 1.25rem}.gallery-mobile-readable :is(a,button){min-height:44px;min-width:44px}.gallery-mobile-readable :is(a,button):focus-visible{outline:2px solid hsl(var(--ring));outline-offset:3px}.gallery-mobile-readable button.bg-accent,.gallery-mobile-readable a.bg-accent{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.gallery-mobile-readable>section.bg-primary,.gallery-mobile-readable>section.bg-foreground{padding:2.5rem 1.25rem}.gallery-mobile-readable>section.bg-primary p,.gallery-mobile-readable>section.bg-foreground p{color:hsl(var(--primary-foreground))}.gallery-mobile-readable>section.bg-primary a.bg-accent{background:hsl(var(--card));color:hsl(var(--foreground))}.gallery-mobile-readable>section :is(a.bg-accent){width:100%;white-space:normal;justify-content:center}.gallery-mobile-readable .gallery-photo-caption{position:static;background:hsl(var(--foreground))}.gallery-mobile-readable .gallery-photo-caption p{opacity:1;transform:none;padding:.75rem;color:hsl(var(--primary-foreground))}.gallery-mobile-readable .gallery-lightbox{background:#000000f2;padding-block:env(safe-area-inset-top) env(safe-area-inset-bottom)}.gallery-mobile-readable .gallery-lightbox>div{max-height:85dvh;overflow-y:auto;padding-inline:3.5rem}.gallery-mobile-readable .gallery-lightbox p{color:hsl(var(--primary-foreground))}.gallery-mobile-readable .gallery-lightbox button{display:grid;place-items:center;color:hsl(var(--primary-foreground))}.gallery-mobile-readable .gallery-lightbox button:focus-visible{outline-color:hsl(var(--primary-foreground))}.gallery-mobile-readable .wedding-salon .salon-caption,.gallery-mobile-readable .wedding-salon .salon-counter{font-size:1rem;line-height:1.65;color:hsl(var(--foreground))}}
