.lpr-features-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.lpr-at-a-glance-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
}

.lpr-feature-item, .lpr-at-a-glance-item {
    position: relative;
    padding-left: 30px;
    margin-bottom: 8px;
    line-height: 1.4;
}

.lpr-feature-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.1255 16.4807C14.3377 16.3551 16.5566 16.4339 18.7543 16.7162C19.8188 13.0135 20.5468 9.60855 19.9417 9.22786C19.3773 8.87199 15.8602 12.3865 15.4172 12.3108C14.9742 12.2351 12.8669 7.42004 12.0553 7.33655C11.2202 7.25065 9.40946 12.2182 8.78853 12.2663C8.16761 12.3143 4.87773 8.92793 4.30884 9.22753C3.84343 9.47261 4.53158 12.9599 5.62148 16.7002C7.77856 16.4326 9.95531 16.3593 12.1255 16.4807Z' fill='%23E94F37'/%3E%3Cpath d='M8.71137 12.2599C7.85182 11.8099 7.06259 11.2367 6.36865 10.5586C6.88684 9.42815 7.40727 8.45158 7.66852 8.43398C8.02637 8.41074 8.94548 9.43221 9.83936 10.5497C9.37354 11.4531 8.95818 12.204 8.71137 12.2599Z' fill='%23D8A96A'/%3E%3Cpath d='M15.4069 12.3025C14.8151 11.5704 14.3174 10.7671 13.9253 9.91127C14.6468 9.05197 15.3112 8.38181 15.5943 8.43401C15.9152 8.4921 16.5455 9.74529 17.1218 11.0501C16.6094 11.5431 16.0325 11.9644 15.4069 12.3025Z' fill='%23D8A96A'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

.lpr-at-a-glance-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 31 29' fill='currentColor' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cg clip-path='url(%23clip0_6966_15694)'%3E%3Cpath d='M21.311 7.37491V26.2583H2.42765V7.37491H21.311ZM23.7387 4.94727H0V28.6859H23.7387V4.95111V4.94727Z'%3E%3C/path%3E%3Cpath d='M25.5181 0.652777C20.2249 5.72318 15.9227 11.5503 12.0316 17.6962C11.0175 15.8755 10.0034 14.0509 8.98935 12.2302C8.03673 10.5208 3.01627 11.7078 4.13406 13.7167C5.87413 16.8435 7.6142 19.9702 9.35427 23.097C10.1225 24.476 13.376 24.0419 14.1097 22.8089C18.4887 15.4568 23.2402 8.23149 29.4553 2.28145C31.6717 0.157261 26.9393 -0.707011 25.5181 0.652777Z'%3E%3C/path%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_6966_15694'%3E%3Crect width='30.0344' height='28.69'%3E%3C/rect%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

.lpr-weekly-price {
    font-size: 1.4rem;
}

.lpr-week-only {
    font-size: 1.4rem;
    color: #D8A96A;
    text-align: center;
    margin-top: 0.1rem !important;
}

.lpr-max-occupancy {
    font-size: 1rem;
    font-weight: normal;
    color: #666;
    margin-left: 1rem;
}

.lpr-parking-status {
    padding: 0.5rem 1rem;
    background-color: #f5f5f5;
    border-radius: 4px;
    display: inline-block;
    font-weight: 500;
}

.lpr-outdoor-area {
    padding: 0.5rem 1rem;
    background-color: #f5f5f5;
    border-radius: 4px;
    display: inline-block;
    font-weight: 500;
}

.lpr-internet {
    padding: 0.5rem 1rem;
    background-color: #f5f5f5;
    border-radius: 4px;
    display: inline-block;
    font-weight: 500;
}

.lpr-overview {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.lpr-overview-item {
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.lpr-overview-label {
    margin: 0;
    color: #fff;
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.lpr-overview-label svg {
    flex-shrink: 0;
    color: currentColor;
}

.lpr-overview-item p {
    margin: 0;
    font-size: 0.9rem;
}

.lpr-overview-section {
    background: #f5f5f5;
    padding: 1rem;
    border-radius: 4px;
}

.lpr-overview-section h4 {
    margin: 0 0 1rem 0;
    color: #333;
    font-size: 1.1rem;
    font-weight: 600;
}

.lpr-overview-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.lpr-overview-list li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 8px;
    line-height: 1.4;
}

.lpr-overview-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.1255 16.4807C14.3377 16.3551 16.5566 16.4339 18.7543 16.7162C19.8188 13.0135 20.5468 9.60855 19.9417 9.22786C19.3773 8.87199 15.8602 12.3865 15.4172 12.3108C14.9742 12.2351 12.8669 7.42004 12.0553 7.33655C11.2202 7.25065 9.40946 12.2182 8.78853 12.2663C8.16761 12.3143 4.87773 8.92793 4.30884 9.22753C3.84343 9.47261 4.53158 12.9599 5.62148 16.7002C7.77856 16.4326 9.95531 16.3593 12.1255 16.4807Z' fill='%23E94F37'/%3E%3Cpath d='M8.71137 12.2599C7.85182 11.8099 7.06259 11.2367 6.36865 10.5586C6.88684 9.42815 7.40727 8.45158 7.66852 8.43398C8.02637 8.41074 8.94548 9.43221 9.83936 10.5497C9.37354 11.4531 8.95818 12.204 8.71137 12.2599Z' fill='%23D8A96A'/%3E%3Cpath d='M15.4069 12.3025C14.8151 11.5704 14.3174 10.7671 13.9253 9.91127C14.6468 9.05197 15.3112 8.38181 15.5943 8.43401C15.9152 8.4921 16.5455 9.74529 17.1218 11.0501C16.6094 11.5431 16.0325 11.9644 15.4069 12.3025Z' fill='%23D8A96A'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

.lpr-available-date {
    font-weight: 700;
    margin: 0.5rem 0;
}

.lpr-available-date-listing {
	display: block;
    text-align: center;
    margin: 0.5rem 0 0.2rem;
}

.lpr-available-now {
    font-weight: 700;
}

.lpr-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.lpr-gallery-item {
    position: relative;
    padding-bottom: 100%; /* 1:1 Aspect Ratio for square */
    overflow: hidden;
}

.lpr-gallery-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

/* .lpr-gallery-item:hover .lpr-gallery-image {
    transform: scale(1.05);
} */

.lpr-gallery-launcher {
    text-align: center;
    margin: 2rem 0;
}

.lpr-gallery-button {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background-color: #E94F37;
    color: white;
    border: none;
    border-radius: 4px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
}

.lpr-gallery-button:hover {
    background-color: #d1452f;
    transform: translateY(-2px);
}

.lpr-gallery-button svg {
    width: 20px;
    height: 20px;
}

/* Gallery Modal Styles */
.lpr-gallery-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    z-index: 9999;
    padding: 20px;
    box-sizing: border-box;
}

.lpr-gallery-modal.active {
    display: block;
}

.lpr-gallery-modal-content {
    position: relative;
    background-color: #fff;
    margin: 0 auto;
    padding: 20px;
    width: 90%;
    max-width: 1200px;
    max-height: 90vh;
    border-radius: 8px;
    overflow-y: auto;
}

.lpr-gallery-modal-close {
    position: absolute;
    top: 10px;
    right: 20px;
    color: #333;
    font-size: 35px;
    font-weight: bold;
    cursor: pointer;
    padding: 5px 10px;
    z-index: 10000;
}

.lpr-gallery-modal-close:hover {
    color: #666;
}

.lpr-full-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 1rem;
    margin-top: 2rem;
}

.lpr-full-gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    aspect-ratio: 1;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.lpr-full-gallery-item:hover {
    transform: scale(1.02);
}

.lpr-full-gallery-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Lightbox Styles */
.lpr-lightbox {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    z-index: 10000;
    padding: 20px;
    box-sizing: border-box;
}

.lpr-lightbox.active {
    display: flex;
    align-items: center;
    justify-content: center;
}

.lpr-lightbox-content {
    position: relative;
    max-width: 90%;
    max-height: 90%;
}

.lpr-lightbox-content img {
    max-width: 100%;
    max-height: 90vh;
    display: block;
    margin: 0 auto;
    border-radius: 4px;
}

.lpr-lightbox-caption {
    color: #fff;
    text-align: center;
    margin-top: 1rem;
    font-size: 1.1rem;
}

.lpr-lightbox-close {
    position: absolute;
    top: 20px;
    right: 20px;
    color: #fff;
    font-size: 35px;
    font-weight: bold;
    cursor: pointer;
    padding: 5px 10px;
    z-index: 10001;
}

.lpr-lightbox-close:hover {
    color: #ccc;
}

@media (max-width: 768px) {
    .lpr-full-gallery {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }
    
    .lpr-gallery-modal-content {
        width: 95%;
        padding: 15px;
    }
}

@media (max-width: 480px) {
    .lpr-full-gallery {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    }
    
    .lpr-gallery-modal-content {
        width: 100%;
        padding: 10px;
    }
}

/* Slideshow Styles */
.lpr-gallery-slideshow {
    position: relative;
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden;
    min-height: 90vh;
}

.lpr-slideshow-container {
    position: relative;
    width: 100%;
    height: 90vh;
    margin-top: 2vh;
}

.lpr-slide {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.lpr-slide.active {
    opacity: 1;
}

.lpr-slide-image {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
    margin: 0 auto;
}

.lpr-slide-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 10px;
    text-align: center;
}

.lpr-slideshow-prev,
.lpr-slideshow-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 15px;
    cursor: pointer;
    font-size: 18px;
    z-index: 10;
    transition: background-color 0.3s ease;
}

.lpr-slideshow-prev:hover,
.lpr-slideshow-next:hover {
    background: rgba(0, 0, 0, 0.8);
}

.lpr-slideshow-prev {
    left: 0;
}

.lpr-slideshow-next {
    right: 0;
}

.lpr-slideshow-dots {
    text-align: center;
    padding: 10px 0;
}

.lpr-slide-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 5px;
    background-color: #bbb;
    border-radius: 50%;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.lpr-slide-dot.active {
    background-color: #717171;
}

/* Responsive Styles */
@media (max-width: 768px) {
    .lpr-slideshow-container {
        height: 80vh;
    }
    .lpr-overview {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 480px) {
    .lpr-slideshow-container {
        height: 80vh;
    }
    .lpr-overview {
        grid-template-columns: repeat(2, 1fr);
    }
    .lpr-slideshow-prev,
    .lpr-slideshow-next {
        padding: 10px;
        font-size: 16px;
    }
}