@charset "UTF-8";
/*!
Theme Name: Luviana Child
Theme URI: https://motopress.com/products/luviana
Author: MotoPress
Author URI: https://motopress.com
Description: Luviana is a Gutenberg theme perfectly fitting for hotels, rental accommodations and services, boarding houses or hostels. The theme comprises an integrated online booking plugin that allows conducting reservations of your rental properties and receiving online payments.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: luviana
Template: luviana
*/

@media (min-width: 992px) {
    .mphb_sc_rooms-wrapper.is-style-style-3 .type-mphb_room_type {
        -ms-flex: 0 1 50%;
        flex: 0 1 50%;
    }
}

.site-content {
    padding-top:0;
}
h1, h2, h3, h4, h5, h6,
.post-navigation-wrapper .post-navigation .post-title,
.site-branding .site-title,
.luviana-front-page-header .child-pages-list .child-page-first-letter,
.luviana-front-page-header .child-pages-nav-slider .no-thumbnail,
.wp-block-getwid-person .wp-block-getwid-person__title,
.wp-block-getwid-banner .wp-block-getwid-banner__title,
.wp-block-getwid-counter .wp-block-getwid-counter__wrapper .wp-block-getwid-counter__number  {
    font-family: 'The Seasons',  "Noto Serif", serif;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.more-link {
    background:#ebad17;
    border-color:#ebad17;
    padding: 10px 20px;
}
.toggle-button {
    margin-bottom: 30px;
}
.mphb_sc_rooms-wrapper.is-style-style-3 .type-mphb_room_type .mphb-room-type-title {
    font-size: xx-large;
}

.house-booking-page .entry-header-wrapper .entry-header .entry-title {
    font-size: xxx-large;
    margin-bottom: 30px;
}

/* ------ READ MORE ------- */

.always-visible {
    display: block;
}

/* Initial hidden state */
.toggle-target {
    display: none; /* Ensure hidden paragraphs are not visible initially */
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, opacity 0.3s ease;
}

/* Visible state for toggled paragraphs */
.toggle-target.hidden {
    display: block;
    max-height: 180px; /* Adjust as needed */
    opacity: 1;
}

body.single.single-mphb_room_type header.entry-header {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.entry-header-wrapper .entry-header, .entry-header-wrapper .page-title, .page-header .entry-header, .page-header .page-title {
    margin-top: 2rem;
}

.entry-content .mphb_sc_search_results-wrapper .mphb-search-recommendations-wrapper {
    padding: 2.5rem;
    border: none;
    margin-bottom: 3.125rem;
    background: #fffbf1;
}
/* ------ GALLERY ------- */
/* Hide the 'View All' button by default */
.view-all-button {
    display: block;
    padding: 10px 20px;
    background-color: #ebad17;
    color: white;
    border: none;
    cursor: pointer;
    text-align: center;
}

.view-all-button:hover {
    background-color: #555;
}



figure.gallery-item:nth-child(n+7) {
    display:none;
}

/* ------ TESTIMONIALS ------- */
/* .testimonial-slider-home.wp-block-getwid-content-slider .slick-prev:before {
    color: #eee;
}

.testimonial-slider-home.wp-block-getwid-content-slider .slick-next:before {
    color: #eee;
} */
.hide {
    display: none;
}
.testimonial-slider-home .wp-block-getwid-content-slider-slide {
    background: #fff;
    /* box-shadow: 0px 5px 6px 5px #dfd4d4; */
    padding: 35px;
    margin: 0 4px;
    height: 350px;
}

.mphb-loop-room-type-attributes .mphb-room-list:before, .mphb-single-room-type-attributes .mphb-room-list:before, .mphb-widget-room-type-attributes .mphb-room-list:before {
    content: "\f4b8";
}
.star-rating {
    margin-bottom: 1.5em;
    color: #ebad17;
}
.footer-widgets {
    background-color: #e7e3d0;
}
body.single .mphb_room_type .entry-header-wrapper {
    margin-bottom: 0;
}
ul.single-room-template {
    border: 1px #d9d9d9 solid;
    padding: 20px;
    border-radius: 30px;
}
.room-summary-wrapper {
    margin-top: 2rem;
}
.flex {
    display: flex;
}
.space-between {
    justify-content: space-between;
}

body.single .mphb_room_type > .entry-content-wrapper .entry-content .mphb-details-title {
    margin-top: 2rem !important;
}

/* Amenities Grid Styles */
.amenities-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 20px;
}

.amenities-column {
    width: 100%;
}

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

.amenities-list li {
    padding: 5px 0;
    border-bottom: 1px solid #eee;
}

.amenities-list li:last-child {
    border-bottom: none;
}

/* Modal Styles */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    overflow-y: auto;
}

.modal-content {
    background-color: #fff;
    margin: 10vh auto;
    padding: 20px;
    width: 80%;
    max-width: 800px;
    position: relative;
    border-radius: 5px;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
}


.modal-content::-webkit-scrollbar {
    width: 8px;
}

.modal-content::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.modal-content::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

.modal-content::-webkit-scrollbar-thumb:hover {
    background: #555;
}

.close-button {
    position: absolute;
    right: 40px;
    top: 10px;
    font-size: 28px;
    cursor: pointer;
    color: #666;
    background: white;
}

.close-button:hover {
    color: #000;
}



.reviews-modal-content {
    padding: 20px 0;
    overflow-y: auto;
    max-height: calc(80vh - 40px); /* Account for padding */
    flex: 1;
}

.reviews-modal-content::-webkit-scrollbar {
    width: 8px;
}

.reviews-modal-content::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.reviews-modal-content::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

.reviews-modal-content::-webkit-scrollbar-thumb:hover {
    background: #555;
}

.review-item {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
}

.review-item:nth-last-child(-n+2) {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.amenities-category {
    margin-bottom: 20px;
}

.amenities-category h3 {
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 2px solid #eee;
}

.see-all-button,
.show-more-reviews {
    display: block;
    padding: 10px 20px;
    background-color: #ebad17;
    color: white;
    border: none;
    cursor: pointer;
    text-align: center;
    margin-top: 20px;
}


/* ------ HOUSE COLUMNS ------- */
.room-full-width-wrapper {
    display: flex;
    justify-content: space-between;
    margin-top: 80px !important;
} 

.room-columns {
    display: flex;
    width: 100%;
    border-top: 1px solid #ededed;
    padding-top: 80px;
}

.room-column {
    flex: 1;
    margin: 0 10px;
}

.room-column h3 {
    text-align: center;
    margin-bottom: 10px;
}

.room-column ul {
    list-style-type: none;
    padding: 0;
}

.room-column ul li {
    margin-bottom: 5px;
}

.room-column ul li a {
    text-decoration: none;
    color: #333;
}

.room-column ul li a:hover {
    text-decoration: underline;
}

hr.room-separator {
    margin: 2.5em 0 1em;
}


/* ------ HOUSE REVIEWS ------- */
.reviews-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

@media (max-width: 480px) {
    .reviews-grid {
        grid-template-columns: 1fr;
    }
}


h4.review-name-single {
    font-family: 'Open Sans';
    line-height: 1.2em;
    margin-bottom: 0;
    font-weight: 600;
    font-size:17px;
}
.reviews-list p {
    font-family: 'Open Sans';
    font-size: 16px;
    line-height: 1.5em;
    margin-bottom: 0;
}
p.review-date {
    font-size: 13px;
    font-weight: 700;
    margin-top: 10px;
}

/* Loading Animation */
.loading-spinner {
    display: none;
    width: 40px;
    height: 40px;
    margin: 20px auto;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #ebad17;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.loading-spinner.visible {
    display: block;
}

/* Amenities Modal Specific Styles */
.amenities-icon {
    width: 28px;
    margin-right: 10px;
    position: relative;
    top: 6px;
}   
#amenities-modal .modal-content {
    max-width: 800px;
    width: 90%;
    margin: 0;
    background: #fff;
    padding: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    max-height: 90vh;
}

#amenities-modal .amenities-modal-content {
    overflow-y: auto;
    padding-right: 10px;
    max-height: calc(90vh - 100px);
}

#amenities-modal .amenities-modal-content::-webkit-scrollbar {
    width: 8px;
}

#amenities-modal .amenities-modal-content::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

#amenities-modal .amenities-modal-content::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

#amenities-modal .amenities-modal-content::-webkit-scrollbar-thumb:hover {
    background: #555;
}

#amenities-modal .amenities-category {
    margin-bottom: 20px;
}

#amenities-modal .amenities-category h3 {
    color: #333;
    margin-bottom: 10px;
    font-size: 1.2em;
    margin-top: 40px;
}

#amenities-modal .amenities-category ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#amenities-modal .amenities-category li {
    padding: 0;
    line-height: 1.2em;
}

#amenities-modal .amenities-category li:last-child {
    border-bottom: none;
}

#amenities-modal .amenities-category img {
    margin-right: 10px;
    position: relative;
    top: 5px;
}

#amenities-modal .amenities-category h3 {
    border-bottom: 0;
    padding-bottom: 0;
    line-height: 1.2em;
    font-family: 'Open Sans';
    font-weight: 600;
}

#amenities-modal .amenities-category-header {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #bfb7b7;
    margin: 40px 0 10px;
    padding-bottom: 10px;
}

#amenities-modal .amenities-category-header img {
    margin-right: 10px;
    position: relative;
    top: -1px;
    max-height: 25px;
    vertical-align: middle;
}
.amenities-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    list-style: none;
    padding: 0;
    margin: 0;
}

@media (max-width: 480px) {
    .amenities-grid {
        grid-template-columns: 1fr;
        list-style: none;
    }
}


.read-review-btn {
    background: transparent;
    color: #ebad17;
    font-weight: 800;
    font-size: 14px;
    border: none;
    cursor: pointer;
    padding: 0;
    margin: 10px 0;
    letter-spacing: 0;
}

.read-review-btn:hover,
.read-review-btn:focus {
    color: #252e59;
    background: transparent !important;
}