3232 line-height : 1.6 ;
3333}
3434
35- /* --- Asymmetrical Grid --- */
35+ /* --- Masonry Grid Layout --- */
3636.galleryGrid {
37- display : grid;
38- grid-template-columns : repeat (12 , 1fr );
39- grid-auto-rows : 300px ;
40- gap : 1.5rem ;
37+ column-count : 3 ; /* Default for large screens */
38+ column-gap : 1.5rem ;
4139}
4240
4341.gridItem {
4442 position : relative;
4543 overflow : hidden;
4644 border : 2px solid var (--text-primary );
47- cursor : pointer; /* Add pointer cursor to indicate clickable */
45+ cursor : pointer;
46+ margin-bottom : 1.5rem ; /* Space between rows */
47+ break-inside : avoid; /* Prevents items from breaking across columns */
48+ -webkit-column-break-inside : avoid;
49+ page-break-inside : avoid;
4850}
4951
50- /* --- Specific Item Placement for a Curated Look --- */
51- .gridItem : nth-child (1 ) { grid-column : span 6 ; grid-row : span 2 ; }
52- .gridItem : nth-child (2 ) { grid-column : span 3 ; grid-row : span 1 ; }
53- .gridItem : nth-child (3 ) { grid-column : span 3 ; grid-row : span 1 ; }
54- .gridItem : nth-child (4 ) { grid-column : span 6 ; grid-row : span 2 ; }
55- .gridItem : nth-child (5 ) { grid-column : span 3 ; grid-row : span 1 ; }
56- .gridItem : nth-child (6 ) { grid-column : span 3 ; grid-row : span 2 ; }
57- .gridItem : nth-child (7 ) { grid-column : span 3 ; grid-row : span 1 ; }
58- .gridItem : nth-child (8 ) { grid-column : span 3 ; grid-row : span 1 ; }
59- .gridItem : nth-child (9 ) { grid-column : span 6 ; grid-row : span 1 ; }
60-
61-
6252.image {
6353 width : 100% ;
64- height : 100 % ;
54+ height : auto; /* Let height be natural */
6555 object-fit : cover;
6656 transition : transform 0.4s ease, opacity 0.4s ease;
57+ display : block; /* Remove any bottom space */
6758}
6859
6960.gridItem : hover .image {
7061 transform : scale (1.05 );
71- opacity : 0.7 ; /* New hover effect */
62+ opacity : 0.7 ;
7263}
7364
7465/* --- Overlay & Title --- */
122113
123114.lightboxContent {
124115 position : relative;
125- max- width: 90vw ;
126- max- height: 90vh ;
116+ width : 90vw ;
117+ height : 90vh ;
127118}
128119
129120.lightboxImage {
130- width : auto;
131- height : auto;
132- max-width : 100% ;
133- max-height : 100% ;
121+ width : 100% ;
122+ height : 100% ;
134123 object-fit : contain;
135124}
136125
137126.closeButton {
138127 position : absolute;
139- top : -2.5 rem ;
140- right : 0 ;
141- background : none ;
128+ top : 1 rem ;
129+ right : 1 rem ;
130+ background : rgba ( 0 , 0 , 0 , 0.5 ) ;
142131 border : none;
143132 color : white;
144- font-size : 2.5 rem ;
133+ font-size : 2 rem ;
145134 cursor : pointer;
135+ z-index : 1001 ; /* Ensure it's above the image */
136+ border-radius : 50% ;
137+ width : 40px ;
138+ height : 40px ;
139+ line-height : 40px ;
140+ text-align : center;
146141}
147142
148-
149143/* --- Responsive Adjustments --- */
150144@media (max-width : 1200px ) {
151- .gridItem : nth-child (n) {
152- grid-column : span 6 ;
153- grid-row : span 1 ;
145+ .galleryGrid {
146+ column-count : 2 ; /* Two columns for tablets */
154147 }
155- .gridItem : nth-child (1 ) { grid-row : span 2 ; }
156- .gridItem : nth-child (4 ) { grid-row : span 2 ; }
157148}
158149
159150@media (max-width : 768px ) {
160151 .container { padding : 4rem 1rem ; }
161152 .title { font-size : 3rem ; }
162- .galleryGrid { grid-auto-rows : 250px ; }
163- .gridItem : nth-child (n) {
164- grid-column : span 12 ;
165- grid-row : span 1 ;
153+ .galleryGrid {
154+ column-count : 1 ; /* Single column for mobile */
166155 }
167156}
0 commit comments