/* lounge-grid.css */
.gallery-parent {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(7, auto);
    grid-column-gap: 6px;
    grid-row-gap: 6px;
    width: 100%;
    margin: 0 auto;
}

.gallery-parent > div {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 100%;
}

.gallery-parent > div img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* モバイル向けのオリジナルグリッドレイアウト */
.gallery-div1 { grid-area: 1 / 1 / 3 / 4; aspect-ratio: 16/9; }
.gallery-div2 { grid-area: 3 / 1 / 5 / 3; aspect-ratio: 1/1; }
.gallery-div3 { grid-area: 3 / 3 / 4 / 4; aspect-ratio: 1/1; }
.gallery-div4 { grid-area: 4 / 3 / 6 / 4; aspect-ratio: 1/2; }
.gallery-div5 { grid-area: 5 / 1 / 6 / 2; aspect-ratio: 1/1; }
.gallery-div6 { grid-area: 5 / 2 / 6 / 3; aspect-ratio: 1/1; }
.gallery-div7 { grid-area: 6 / 1 / 8 / 2; aspect-ratio: 1/2; }
.gallery-div8 { grid-area: 6 / 2 / 8 / 4; aspect-ratio: 1/1; }

/* PC向けの新しいレイアウト */
@media (min-width: 1024px) {
    .lounge-gallery-container {
        width: 100%;
        margin: 0 auto;
        padding: 0 20px;
        box-sizing: border-box;
    }
    
    .gallery-parent {
        width: 100%;
        margin: 0 auto;
        grid-column-gap: 10px;
        grid-row-gap: 10px;
        padding: 30px 0;
        
        /* PC向けの新しいグリッドレイアウト - 6カラム構成 */
        grid-template-columns: repeat(6, 1fr);
        grid-template-rows: auto auto auto;
    }
    
    /* PC向けの新しいグリッド配置 */
    .gallery-div1 { 
        grid-area: 1 / 1 / 2 / 4; 
        aspect-ratio: 16/9; 
    }
    .gallery-div2 { 
        grid-area: 1 / 4 / 2 / 7; 
        aspect-ratio: 16/9; 
    }
    .gallery-div3 { 
        grid-area: 2 / 1 / 3 / 3; 
        aspect-ratio: 1/1; 
    }
    .gallery-div4 { 
        grid-area: 2 / 3 / 3 / 5; 
        aspect-ratio: 1/1; 
    }
    .gallery-div5 { 
        grid-area: 2 / 5 / 3 / 7; 
        aspect-ratio: 1/1; 
    }
    .gallery-div6 { 
        grid-area: 3 / 1 / 4 / 3; 
        aspect-ratio: 1/1; 
    }
    .gallery-div7 { 
        grid-area: 3 / 3 / 4 / 5; 
        aspect-ratio: 1/1; 
    }
    .gallery-div8 { 
        grid-area: 3 / 5 / 4 / 7; 
        aspect-ratio: 1/1; 
    }
}

/* タブレット向けのレイアウト調整 */
@media (min-width: 768px) and (max-width: 1023px) {
    .lounge-gallery-container {
        width: 100%;
        margin: 0 auto;
        padding: 0 15px;
        box-sizing: border-box;
    }
    
    .gallery-parent {
        width: 100%;
        margin: 0 auto;
        grid-column-gap: 12px;
        grid-row-gap: 12px;
        
        /* タブレット向けは4カラム */
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: auto auto auto auto;
    }
    
    /* タブレット向けのグリッド配置 */
    .gallery-div1 { 
        grid-area: 1 / 1 / 2 / 5; 
        aspect-ratio: 16/9; 
    }
    .gallery-div2 { 
        grid-area: 2 / 1 / 3 / 3; 
        aspect-ratio: 1/1; 
    }
    .gallery-div3 { 
        grid-area: 2 / 3 / 3 / 5; 
        aspect-ratio: 1/1; 
    }
    .gallery-div4 { 
        grid-area: 3 / 1 / 4 / 3; 
        aspect-ratio: 1/1; 
    }
    .gallery-div5 { 
        grid-area: 3 / 3 / 4 / 5; 
        aspect-ratio: 1/1; 
    }
    .gallery-div6 { 
        grid-area: 4 / 1 / 5 / 3; 
        aspect-ratio: 1/1; 
    }
    .gallery-div7 { 
        grid-area: 4 / 3 / 5 / 5; 
        aspect-ratio: 1/1; 
    }
    .gallery-div8 { 
        grid-area: 5 / 1 / 6 / 5; 
        aspect-ratio: 16/9; 
    }
}

/* スマホ向けのレスポンシブ対応（既存のスタイルを維持） */
@media (max-width: 480px) {
    .gallery-parent {
        grid-template-rows: repeat(7, auto);
        grid-column-gap: 6px;
        grid-row-gap: 6px;
        padding: 10px 0;
    }
}