/* General Grid Container */
.grid-container {
    display: grid;
    grid-template-columns: 1fr; /* Mobile-first: Single-column layout */
    grid-template-rows: auto; /* Default row height: auto */
    grid-template-areas:
        "column-1" /* Streetview Image, Welcome Text, Neon Image */
        "column-2"; /* Descriptive Text */
    gap: 20px;
    margin: 20px;
    align-items: start;
}

/* Column 1: Streetview Image, Welcome Text, Neon Image */
.column-1 {
    grid-area: column-1;
    text-align: justify;
}

.column-1 img {
    max-width: 100%;
    margin-bottom: 10px;
    display: block;
}

/* Column 2: Descriptive Text */
.column-2 {
    grid-area: column-2;
    text-align: justify;
    display: flex;
    flex-direction: column; /* Stack the descriptive texts vertically */
    gap: 15px; /* Add space between text blocks */
}

/* Larger Screens: Three-Column Layout */
@media (min-width: 768px) {
    .grid-container {
        display: grid;
        grid-template-columns: 1fr 1fr 2fr; /* Three columns: 1fr, 1fr, and 2fr for more text space */
        grid-template-rows: auto; /* Adjust row heights dynamically */
        grid-template-areas:
            "column-1 column-2 column-3"; /* Three-column layout */
        gap: 3rem; /* Space between columns */
        margin-left: 10rem;
        margin-right: 10rem;
    }

    /* Column 1: Streetview Image and Welcome Text */
    .column-1 {
        grid-area: column-1;
    }

    .column-1 img {
        max-width: 100%;
        height: auto;
        margin-bottom: 20px; /* Spacing between image and welcome text */
    }

    .welcome-text {
        margin-bottom: 20px; /* Add spacing below welcome text */
    }

    /* Column 2: Neon Image */
    .column-2 {
        grid-area: column-2;
        display: flex;
        justify-content: center; /* Center the neon image */
        align-items: center; /* Center vertically */
    }

    .column-2 img {
        max-width: 100%;
        height: auto;
        border-radius: 10px;
    }

    /* Column 3: Descriptive Text */
    .column-3 {
        grid-area: column-3;
        display: flex;
        flex-direction: column;
        gap: 15px; /* Add space between paragraphs */
        text-align: justify; /* Ensure justified alignment */
        line-height: 1.5; /* Improve readability */
    }
}



/* Store Hours Section */
.store-hours-section {
    background-color: #333;
    padding: 20px;
    border-radius: 15px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    width: 80%;
    margin: 20px auto;
}

.store-hours {
    text-align: center;
}

.store-hours img {
    max-width: 100%;
    display: block;
    margin: 0 auto 10px;
}

/* Closed Sign Style (Future Script Integration) */
.closed {
    opacity: 0.47; /* Adjust opacity to dim the image */
}

.hours-and-map {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    width: 90%;
    margin: 2rem auto;
}

/* Side-by-side layout on desktop only */
@media screen and (min-width: 768px) {
    .hours-and-map {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
    }

    .store-hours-section,
    .map-directions {
        width: 48%;
        margin: 0; /* remove auto margins so they sit side-by-side cleanly */
    }
}