
.wedding-gallery-section{padding:96px 0;background:var(--off)}
.wedding-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.wedding-product{min-width:0;background:#fff;border:1px solid rgba(182,54,212,.12);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-s);transition:box-shadow .25s,transform .25s}
.wedding-product:hover{box-shadow:var(--shadow-m);transform:translateY(-4px)}
.wedding-product-photo{position:relative;display:block;background:#fff;aspect-ratio:540/562;padding:12px;overflow:hidden}
.wedding-product-photo img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .3s}
.wedding-product-photo:hover img{transform:scale(1.035)}
.wedding-zoom{position:absolute;right:16px;bottom:16px;padding:8px 13px;border-radius:100px;background:var(--dark);color:white;font-size:14px;font-weight:700;box-shadow:var(--shadow-s)}
.wedding-product-info{padding:24px;border-top:1px solid #f3e9f6}
.wedding-code{font-size:14px;letter-spacing:.07em;color:var(--purple);font-weight:800}
.wedding-product h3{font-family:'Playfair Display',serif;font-size:23px;margin:8px 0 12px;line-height:1.3}
.wedding-product p{font-size:16px;line-height:1.65;color:var(--muted);margin-bottom:22px}
.wedding-quote{width:100%;justify-content:center;padding:14px 18px!important;font-size:16px!important}
.wedding-lightbox{position:fixed;inset:0;margin:auto;border:0;border-radius:24px;padding:0;width:min(860px,calc(100% - 32px));max-height:calc(100dvh - 32px);background:white;color:var(--dark);box-shadow:0 24px 90px #0005;overflow:auto}
.wedding-lightbox::backdrop{background:rgba(26,10,36,.82);backdrop-filter:blur(5px)}
.wedding-lightbox-inner{padding:20px}
.wedding-lightbox-header,.wedding-lightbox-footer{display:flex;justify-content:space-between;align-items:center;gap:16px}
.wedding-lightbox-header h2{font-family:'Playfair Display',serif;font-size:24px;line-height:1.3}
.wedding-close,.wedding-arrow{border:0;cursor:pointer;background:var(--pink-soft);color:var(--dark);border-radius:50%;width:44px;height:44px;flex-shrink:0;font-size:32px;line-height:1;display:grid;place-items:center}
.wedding-close:hover,.wedding-arrow:hover{background:var(--pink);color:white}
.wedding-lightbox-stage{position:relative;margin:16px 0;display:flex;align-items:center;justify-content:center;background:#fff;min-height:160px}
#wedding-lightbox-image{display:block;width:100%;height:min(58dvh,600px);object-fit:contain}
.wedding-arrow{position:absolute;z-index:1;box-shadow:var(--shadow-s)}.wedding-prev{left:0}.wedding-next{right:0}
#wedding-lightbox-count{font-size:16px;color:var(--muted)}
@media(max-width:1000px){.wedding-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:600px){.wedding-gallery-section{padding:64px 0}.wedding-gallery-grid{grid-template-columns:1fr;gap:24px}.wedding-product-info{padding:20px}.wedding-lightbox-inner{padding:14px}.wedding-lightbox-header h2{font-size:20px}.wedding-lightbox-footer{flex-direction:column;gap:12px}.wedding-lightbox-footer .btn{width:100%;justify-content:center;font-size:16px;padding:14px}#wedding-lightbox-image{height:50dvh}.wedding-lightbox{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){.wedding-product,.wedding-product-photo img{transition:none;transform:none!important}}
