/*
Theme Name: cavellaphuquoc
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/
.cv-featured-title {
	    font-family: "Cormorant Garamond", sans-serif !important;
}
#cvFloatingBarWrapper {
	display: none !important;
}
.cv-menu-contact-info .pure-social-links .social-item:hover {
	color: #fff !important;
}
#masthead .cv-custom-book-btn  {
	padding: 0 10px !important;
}
.footer-nav {
border-bottom: none !important;
	    text-transform: capitalize;
    color: #fff;
	    font-family: 'SVN-Gilroy Light', sans-serif !important;
    opacity: 1 !important;
}
/* Đặt vùng chứa thành Flexbox và dàn đều 2 bên */
.absolute-footer .footer-primary {
    display: flex;
    align-items: center; /* Canh giữa chữ theo chiều dọc */
    justify-content: space-between; /* Đẩy 2 khối ra 2 góc sát lề */
    width: 100%; /* Đảm bảo khối chiếm toàn bộ chiều ngang */
}

/* Ép Menu sang bên phải */
.absolute-footer .menu-menu-chinh-sach-en-container {
    order: 2; 
}

/* Giữ phần nội dung còn lại (Copyright) ở bên trái */
.absolute-footer .copyright-footer {
    order: 1;
}

/* Xử lý hiển thị trên Mobile (Màn hình nhỏ sẽ tự động xếp dọc cho khỏi tràn viền) */
@media (max-width: 849px) {
    .absolute-footer .footer-primary {
        flex-direction: column; /* Xếp dọc xuống hàng */
        text-align: center;
        gap: 15px; /* Khoảng cách giữa menu và copyright */
    }
    .absolute-footer .menu-menu-chinh-sach-en-container {
        order: 1; /* Đưa menu lên trên hoặc xuống dưới tùy ý (đặt 1 hoặc 2) */
    }
    .absolute-footer .copyright-footer {
        order: 2;
    }
}
/*************** ADD CUSTOM CSS HERE.   ***************/
.cv-loc-card .cv-loc-title {
	font-size: 45px !important;
}
/* Trạng thái ban đầu: Ẩn và đẩy xuống 30px */
.cv-fade-animate {
    opacity: 0 !important;
    transform: translateY(30px) !important;
    transition: opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1) 150ms, 
                transform 1.1s cubic-bezier(0.22, 1, 0.36, 1) 150ms !important;
    will-change: opacity, transform;
}

/* Khi có class is-visible: Hiện rõ và nhảy về vị trí chuẩn */
.cv-fade-animate.is-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
/* Set chiều cao mặc định cho menu cha là 40px */
    .cv-primary-nav > .cv-parent-item {
        height: 40px;
        transition: height 0.3s ease; /* Thêm hiệu ứng chuyển động mượt */
        overflow: visible;
    }

    /* Khi hover hoặc đang active thì tăng chiều cao lên để không bị đè menu con */
    .cv-primary-nav > .cv-parent-item:hover,
    .cv-primary-nav > .cv-parent-item.is-active {
        height: 100px; 
        /* Mẹo: Bạn có thể dùng height: auto; hoặc min-height: 100px; 
           nếu sau này menu con có nhiều mục hơn và sợ 100px không đủ chứa */
    }
/* Khóa toàn bộ hiệu ứng cv-fade-animate nếu Preloader chưa chạy xong */
body:not(.cv-preloader-done) .cv-fade-animate {
    opacity: 0 !important;
    transform: translateY(30px) !important;
    transition: none !important; /* Tắt chuyển động để ém binh bất động */
}
#menu-menu-chinh-sach {
	display: flex;
	    gap: 15px;
	border-bottom: none;
	opacity: 1;
}
.cv-menu-contact-info .cv-contact-address {
	margin-bottom: 15px;
}
.cv-menu-contact-info .pure-social-links .social-item {
	    border: 1px solid #86664a !important;
    color: #86664a !important;
	    width: 45px;
    height: 45px;
}
.header-button-1 a.button {
	    border: 1px solid #086670 !important;
    background: #086670;
    color: #fff;
    font-weight: 300 !important;
    min-height: 42px !important;
    width: 128px !important;
    line-height: 42px !important;
}
#footer h4 {
	font-family: 'SVN-Gilroy Light', sans-serif !important;
    font-size: 14px;
    text-transform: uppercase;
}
.contact-group-module i {
	padding-right: 10px;
}
.footer-secondary {
    padding: 0;
}
.contact-group-module p, .custom-menu-list li  {
	color: #ECE6DF;
    font-family: 'SVN-Gilroy Light', sans-serif !important;
    font-size: 14px;
    font-weight: 300;
}
.absolute-footer li a, .copyright-footer {
	font-family: 'SVN-Gilroy Light', sans-serif !important;
    font-size: 13px;
    font-weight: 300;
	color: #fff;
}
#menu-menu-chinh-sach, #menu-menu-chinh-sach li {
	margin-bottom: 0px;
}
.absolute-footer {
	padding: 10px 0 10px;
	border-top: 1px solid transparent;
border-image: linear-gradient(
  90deg,
  rgba(184, 153, 122, 0) 0%,
  rgba(184, 153, 122, 0.45) 7.41%,
  rgba(184, 153, 122, 0.45) 92.59%,
  rgba(184, 153, 122, 0) 100%
) 1;
}
.custom-menu-list {
	margin-bottom: 0px;
	list-style: none;
}
.custom-menu-list li {
	margin-left: 0px !important;
}
/* Khung chứa form newsletter */
.newsletter-cf7-form {
    width: 100%;
    max-width: 800px; /* Điều chỉnh độ rộng tối đa tùy ý */
    margin: 0 auto;
}

/* Nhóm ô nhập liệu & nút bấm */
.newsletter-input-group {
    position: relative;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4); /* Đường gạch chân dưới */
    padding-bottom: 8px;
    transition: border-color 0.3s ease;
}

.newsletter-input-group:focus-within {
    border-bottom-color: #ffffff; /* Đường gạch chân sáng hơn khi focus */
}

/* Tùy chỉnh input email */
.newsletter-input-group input[type="email"] {
    width: 100%;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 300;
    padding: 8px 40px 8px 0 !important;
    margin: 0 !important;
}

/* Màu chữ placeholder */
.newsletter-input-group input[type="email"]::placeholder {
    color: rgba(255, 255, 255, 0.8) !important;
    font-weight: 300;
}

/* Nút Submit icon mũi tên */
.newsletter-submit-btn {
    position: absolute;
    right: 0;
    bottom: 8px;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #ffffff !important;
    cursor: pointer;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease, opacity 0.3s ease;
}
#main {
	border-top: 1px solid transparent;
    border-image: linear-gradient(90deg, rgba(184, 153, 122, 0) 0%, rgba(184, 153, 122, 0.45) 7.41%, rgba(184, 153, 122, 0.45) 92.59%, rgba(184, 153, 122, 0) 100%) 1;
}
.newsletter-submit-btn:hover {
    transform: translateX(4px); /* Hiệu ứng đẩy nhẹ mũi tên sang phải khi hover */
    opacity: 0.8;
}

/* Ẩn các icon loading/thông báo mặc định của CF7 cho gọn form */
.newsletter-cf7-form .wpcf7-spinner {
    position: absolute;
    right: -30px;
}

.newsletter-cf7-form .wpcf7-response-output {
    margin: 10px 0 0 0 !important;
    padding: 5px 0 !important;
    border: none !important;
    color: #fff !important;
    font-size: 13px;
}
button {
	min-height: 0px;
	margin-bottom: 0px;
	    padding: 0;
}
.cv-section-heading, .uudai-page-title {
	font-size: 68px !important;
}
@media only screen and (max-width: 768px) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/
.cv-acc-container {
    padding: 0px 15px 0px !important;
	}
	.cv-primary-nav > .cv-parent-item.has-children:hover, .cv-primary-nav > .cv-parent-item.has-children.is-active {
    height: 80px !important;
}
	.cv-primary-nav {
		gap: 10;
	}
	.cv-menu-contact-info {
		margin-top: 10px !important;
	}
	    .cv-parent-item a {
        font-size: 30px !important;
    }
	.cv-primary-nav > .cv-parent-item {
    height: 35px !important;
	}
	.header-button-1 a.button {
		    min-height: 30px !important;
    width: 80px !important;
    font-size: 11px;
    padding: 0px !important;
    line-height: 30px !important;
	}
	.uudai-page-title {
    font-size: 48px !important;
}
	h1.cv-cat-title {
		font-size: 50px !important;
	}
	.cv-stats-list .cv-stat-num {
		font-size: 45px !important;
	}
	.cv-bottom-banner {
    height: 425px !important;
	}
	.cv-menu-contact-info .cv-contact-address {
    margin-bottom: 8px;
}
	.cv-stats-list {
		    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
	}
	.cv-stats-list .cv-stat-item {
		text-align: center;
	}
	/****Trang đặt phòng***/
	.cv-booking-header-row, .cv-package-row {
		display: block !important;
	}
	.cv-booking-container {
    padding: 0 15px !important;
	}
	.cv-room-stock-notice {
    margin-top: 20px;
    margin-bottom: 20px;
	}
	.cv-booking-main-title {
		line-height: 62px !important;
	}
	    .cv-booking-filter-bar {
        grid-template-columns: 1fr !important;
	}
	.cv-btn-update {
    min-height: 42px !important;
	}
	#footer {
		padding-bottom: 0px;
	}
}


/* Khung chuẩn của theme cho màn hình nhỏ/laptop */
    .cv-section-container {
        max-width: 1300px;
        margin: 0 auto;
        padding: 72px 36px 0px;
        box-sizing: border-box;
    }

    /* Cột trái của phần Overview trên cùng */
    .cv-overview-split-left {
        flex: 0 0 45%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding-top: 60px;
        padding-bottom: 60px;
        padding-right: 60px;
        /* Canh lề trái theo container 1300px */
        padding-left: max(36px, calc((100vw - 1300px) / 2)); 
        box-sizing: border-box;
    }

    /* Vùng chứa chữ của Banner đáy */
    .cv-bottom-banner-container { 
        position: relative; 
        z-index: 2; 
        width: 100%; 
        max-width: 1300px; 
        margin: 0 auto; 
        padding: 0px 36px 48px; 
        display: flex; 
        justify-content: space-between; 
        align-items: flex-end; 
        box-sizing: border-box; 
    }

/* Responsive cho màn hình lớn (từ 27 inch trở lên) */
    @media (min-width: 1600px) {
        .cv-section-container,
        .cv-bottom-banner-container, .cavella-journal-section, .wellness-banner-row, .cv-acc-container, .cv-booking-container, .pv-gt-container, .cv-uudai-slider-section, .container-width, .full-width .ubermenu-nav, .container, .row, .uudai-container {
            max-width: 1800px !important;
        }
        
        .cv-overview-split-left {
            padding-left: max(36px, calc((100vw - 1800px) / 2)); 
        }
    }




/* RESPONSIVE CHO MOBILE: SCROLL NGANG TABS */
@media (max-width: 900px) {
    .pv-gallery-tabs {
        display: flex;
        flex-wrap: nowrap !important; /* Ép không cho rớt dòng */
        overflow-x: auto; /* Cho phép cuộn ngang */
        -webkit-overflow-scrolling: touch; /* Cuộn mượt trên iOS */
        
        /* Ẩn thanh scrollbar cho đẹp */
        scrollbar-width: none; /* Firefox */
        -ms-overflow-style: none; /* IE/Edge */
        padding-bottom: 5px;
    }
    
    /* Ẩn thanh scrollbar trên Chrome/Safari/Opera */
    .pv-gallery-tabs::-webkit-scrollbar {
        display: none;
    }

    .pv-tab-btn {
        flex-shrink: 0; /* Không cho nút bị co rúm lại */
        white-space: nowrap; /* Giữ chữ trên 1 dòng */
    }
	.cv-room-filter-tabs {
        display: flex;
        flex-wrap: nowrap !important; /* Ngăn rớt dòng */
        overflow-x: auto; /* Cho phép cuộn ngang */
        -webkit-overflow-scrolling: touch; /* Cuộn mượt trên iOS */
        justify-content: flex-start; /* Đẩy các tab về sát lề trái để cuộn */
        
        /* Ẩn thanh scrollbar */
        scrollbar-width: none; /* Firefox */
        -ms-overflow-style: none; /* IE/Edge */
        padding-bottom: 5px;
    }
    
    /* Ẩn thanh scrollbar trên Chrome/Safari/Opera */
    .cv-room-filter-tabs::-webkit-scrollbar {
        display: none;
    }

    .cv-filter-btn {
        flex-shrink: 0; /* Không cho nút bị ép nhỏ lại */
        white-space: nowrap; /* Giữ chữ trên 1 hàng ngang */
    }
}