.place-listing-container { max-width: 100%; margin: 40px auto; padding: 0 20px; }
.place-header { margin-bottom: 30px; text-align: left; border-bottom: 1px solid #eee; padding-bottom: 20px; }
.place-header .entry-title { margin: 0 0 5px 0; }
.place-header .place-location { font-size: 1.2em; color: #777; margin: 0; }
.place-main-content-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 40px; }
.gallery-main-image-wrapper { width: 100%; padding-top: 100%; position: relative; overflow: hidden; border-radius: 8px; margin-bottom: 15px; background-color: #f0f0f0; user-select: none; }
#gallery-main-image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.1s ease-out; transform-origin: center center; cursor: grab; }
/*#gallery-main-image-wrapper:hover #gallery-main-image { transform: scale(1.5); }*/
.gallery-thumbnails { display: grid; grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 10px; }
.gallery-thumbnails .gallery-thumb img { width: 100%; height: 80px; object-fit: cover; border-radius: 4px; transition: opacity 0.2s ease; }
.section-box { margin-top: 40px; }
.place-description h2 { margin-top: 0; margin-bottom: 20px; }
.place-description p { line-height: 1.7; }
.place-sidebar .sidebar-sticky-content { position: sticky; top: 40px; }
.sidebar-box { border: 1px solid #e5e5e5; border-radius: 8px; padding: 25px; margin-bottom: 25px; }
.booking-box { background-color: #f9f9f9; }
.booking-box .price-display { margin-bottom: 20px; }
.booking-box .booking-request { cursor: pointer; }
.price-display .price { font-size: 2em; font-weight: bold; color: #111; }
.price-display .price-label { font-size: 1em; color: #666; }
.booking-form-placeholder .button-primary { display: block; width: 100%; text-align: center; padding: 15px; background-color: #0073e6; color: #fff; text-decoration: none; border-radius: 5px; font-weight: bold; transition: background-color 0.2s ease; }
.booking-form-placeholder .button-primary:hover { background-color: #005bbd; }
.details-list, .amenities-list { list-style: none; padding: 0; margin: 0; }
.details-box .details-list li { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid #f0f0f0; }
.details-box .details-list li:last-child { border-bottom: none; }
.amenities-box h3 { margin-top: 0; font-size: 1.1em; }
.amenities-box .amenities-list { display: flex; flex-flow:row wrap; justify-content: space-between; columns: 3; gap: 10px; }
.amenities-box .amenities-list li { padding: 5px 0 5px 0px; color: #555; width: calc(33.3% - 20px); font-size: 0.80rem; }
/*.amenities-box .amenity-icon svg path { stroke-width: 15;}*/
.gallery-thumbnails .gallery-thumb { border: 3px solid transparent; border-radius: 6px; transition: border-color 0.2s ease; cursor: pointer; }
.gallery-thumbnails .gallery-thumb.active-thumb { border-color: #0073e6; }
.gallery-thumbnails .gallery-thumb:not(.active-thumb) img:hover { opacity: 0.8; }
.sl-overlay { background: rgba(0,0,0,0.9); }
@media (max-width: 768px) { .place-main-content-grid { grid-template-columns: 1fr; } .place-sidebar .sidebar-sticky-content { position: static; } }

.places-map { height: 45vh; }

/* --- Updated Amenity List Styles --- */

.amenities-box h3 {
    margin-top: 0;
    font-size: 1.1em;
}

.amenities-box .amenities-list {
    list-style: none;
    padding: 0;
    margin: 0;
    /* Optional: creates two columns */
    /* columns: 2; 
    gap: 10px; */
}

.amenities-box .amenities-list li {
    display: flex; /* Aligns icon and text */
    align-items: center;
    gap: 10px; /* Space between icon and text */
    padding: 6px 0;
    color: #555;
}

.amenities-box .amenity-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0; /* Prevents the icon from shrinking */
}

.amenities-box .amenity-icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor; /* Makes the SVG color match the text color */
    /* Or, set a specific color: */
    /* fill: #0073e6; */ 
}

.amenities-box .amenity-name {
    line-height: 1.4;
}