@charset "UTF-8";
/* CSS Document */


/* --- Base Container --- */
.wg-entities-row {
    display: flex;
    flex-wrap: wrap;
    gap: 30px; /* Space between items/rows */
    list-style: none;
    padding: 0;
    margin: 0;
}

.wg-entity-item {
    border: 1px solid var(--wg-medium-gray);
    border-radius: 10px;
    box-sizing: border-box;
    display: flex; /* For internal item layout (image + content) */
    flex-direction: column;
    width: 100%;
    /* Default padding for desktop/tablet */
    padding: 30px; 
}

/* --- Responsive Padding Adjustments --- */
@media (max-width: 768px) {
    .wg-entity-item {
        padding: 20px;
    }
}


/* --- GRID DISPLAY STYLES --- */

.wg-entities-grid .wg-entity-item {
    /* Grid items reset to column direction by default */
    flex-direction: column;
}

/* 2 Items per Row */
.wg-entities-grid.listings-per-row-2 .wg-entity-item {
    width: calc(50% - 15px); /* 50% width minus half the gap */
}
/* 3 Items per Row (Default) */
.wg-entities-grid.listings-per-row-3 .wg-entity-item {
    width: calc(33.333% - 20px); /* 33.333% width minus 2/3rds of the gap */
}
/* 4 Items per Row */
.wg-entities-grid.listings-per-row-4 .wg-entity-item {
    width: calc(25% - 22.5px); /* 25% width minus 3/4ths of the gap */
}

/* Mobile/Tablet adjustments for Grid */
@media (max-width: 992px) {
    .wg-entities-grid.listings-per-row-3 .wg-entity-item,
    .wg-entities-grid.listings-per-row-4 .wg-entity-item {
        width: calc(50% - 15px); /* Forces all grids to 2 per row on smaller screens */
    }
}
@media (max-width: 576px) {
    .wg-entities-grid .wg-entity-item {
        width: 100%; /* Full width on phones */
    }
}


/* --- LIST DISPLAY STYLES (One record per row) --- */

.wg-entities-list .wg-entity-item {
    flex-direction: row; /* Layout content horizontally */
    align-items: flex-start;
    gap: 30px; /* Spacing between image and content */
}

.wg-entities-list .wg-entity-image-wrapper {
    /* Left eighth of the row */
    flex: 0 0 12.5%; /* 1/8th = 12.5% */
    max-width: 12.5%;
}

.wg-entities-list .wg-entity-content {
    /* Remaining seven eighths of the row */
    flex: 1; 
    min-width: 0; /* Ensures content doesn't force wrapper too wide */
}

/* Mobile adjustments for List View */
@media (max-width: 768px) {
    .wg-entities-list .wg-entity-item {
        flex-direction: column; /* Stack image and content vertically */
    }
    .wg-entities-list .wg-entity-image-wrapper {
        flex: none;
        max-width: 100%;
    }
}


/* --- Shared Elements (Image and Content) --- */

.wg-entity-image-wrapper {
    overflow: hidden; /* Important for containing the hover effect */
    border-radius: 5px;
    line-height: 0;
}

/* Featured Image Styling and Hover Effect */
.wg-entity-image {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease-in-out;
}

.wg-entity-image-wrapper a:hover .wg-entity-image,
.wg-entity-image-wrapper a:focus .wg-entity-image {
    transform: scale(1.03); /* Enlarge on hover */
}

/* Content Styling */
.wg-entity-title {
    font-size: 1.5em;
    margin-top: 0;
}

.wg-entity-description p:last-child {
    margin-bottom: 0;
}




/* Styling for the venues list rows */

.wg-venue-row {
    display: flex;
    flex-wrap: wrap; 
    align-items: flex-start;
    
    /* Border and radius requirements */
    border: 1px solid var(--wg-medium-gray);
    border-radius: 10px;
    margin-bottom: 20px; /* Spacing between rows */
    
    /* Default (Desktop/Tablet) Padding */
    padding: 30px; 
}

/* Mobile Padding Override */
@media (max-width: 768px) {
    .wg-venue-row {
        padding: 20px; 
    }
}

.wg-venue-cell {
    box-sizing: border-box;
    /* Remove padding: 0 15px; from previous examples to keep the 30px/20px row padding clean */
    
    /* Default: Stacked layout for small screens */
    width: 100%; 
    margin-bottom: 15px; /* Spacing between stacked cells */
}

/* Desktop/Tablet Layout (769px and up) */
@media (min-width: 769px) {
    .wg-venue-cell {
        margin-bottom: 0; 
        padding-right: 20px; /* Small separation between columns */
    }
    
    /* Cell 1: 50% width (Name/Address) */
    .wg-venue-cell--name {
        width: 50%;
    }
    
    /* Cell 2 and 3: 25% width each */
    .wg-venue-cell--phone,
    .wg-venue-cell--types {
        width: 25%;
    }

    /* Remove padding from the last cell in the row */
    .wg-venue-cell:last-child {
        padding-right: 0;
    }
}

/* Style reset for the h3 inside the cell */
.wg-venue-cell h3 {
    margin-top: 0;
    margin-bottom: 5px; /* Small space below title */
    font-size: 1.2em;
}

.wg-venue-cell address {
    font-style: normal;
    line-height: 1.4;
    margin-bottom: 0;
}

.wg-venue-cell--phone {
    /* Style for phone numbers */
    line-height: 1.4;
}