.gallery-grid{display:grid;grid-template-columns:repeat(8,1fr);grid-auto-rows:minmax(100px,auto);gap:12px;padding:20px 0}.gallery-item{position:relative;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.gallery-item:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0003}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block}.gallery-item{grid-column:span 2;grid-row:span 2}.gallery-item:nth-child(1){grid-column:span 2;grid-row:span 2}.gallery-item:nth-child(2){grid-column:span 3;grid-row:span 3}.gallery-item:nth-child(3){grid-column:span 3;grid-row:span 4}.gallery-item:nth-child(4){grid-column:span 2;grid-row:span 2}.gallery-item:nth-child(5){grid-column:span 3;grid-row:span 3}.gallery-item:nth-child(6){grid-column:span 2;grid-row:span 2}.gallery-item:nth-child(7){grid-column:span 3;grid-row:span 3}.gallery-item:nth-child(8){grid-column:span 3;grid-row:span 2}.gallery-actions{position:absolute;bottom:0;right:0;display:flex;padding:8px;background:#0009;opacity:0;transition:opacity .3s ease}.gallery-item:hover .gallery-actions{opacity:1}.carousel-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;z-index:1000;display:flex;justify-content:center;align-items:center}.carousel-content{position:relative;width:800px;height:600px;display:flex;justify-content:center;align-items:center}.carousel-content img{width:100%;height:100%;object-fit:contain;border-radius:8px}.carousel-prev,.carousel-next{top:50%;transform:translateY(-50%)}.carousel-close{z-index:1001}@media (max-width: 1200px){.gallery-grid{grid-template-columns:repeat(6,1fr)}.carousel-content{width:600px;height:450px}}@media (max-width: 768px){.gallery-grid{grid-template-columns:repeat(4,1fr)}.carousel-content{width:500px;height:375px}}@media (max-width: 480px){.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-item{grid-column:span 1!important;grid-row:span 1!important}.gallery-item:nth-child(2n){grid-column:span 1;grid-row:span 2}.carousel-content{width:90%;height:60vh}}html,body,#root{height:100%;margin:0;display:flex;flex-direction:column}#wedding-root{width:100%;min-height:100vh}html{scrollbar-width:none}body{-ms-overflow-style:none}body::-webkit-scrollbar{display:none}.layout-container{display:flex;flex-direction:column;min-height:100vh}.content{flex:1}
