/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jan 19 2026 | 04:43:35 */
/* Ẩn scrollbar nhưng vẫn cho scroll */
html {
  scrollbar-width: none; /* Firefox */
}

body {
  -ms-overflow-style: none; /* IE, Edge cũ */
}

body::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none; /* Chrome, Safari */
}

#site-header {display: none;}
#site-footer {
    display: none;
}
/* Mượt hoá fade của Swiper trong #cam-hung */
#cam-hung .swiper-fade .swiper-slide {
  transition-timing-function: cubic-bezier(.22,.61,.36,1) !important;
}

#cam-hung .swiper-fade .swiper-slide,
#cam-hung .swiper-fade .swiper-slide * {
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
}


.display-none {
	display:none;
}

.img-effect img {
    animation: slowZoom 2s ease-in-out infinite alternate;
}

@keyframes slowZoom {
    0% { transform: scale(1); }
    100% { transform: scale(1.1); }
}

.img-effect-1 img {
    animation: slowZoomMobile 2s ease-in-out infinite alternate;
}

@keyframes slowZoomMobile {
    0% { transform: scale(0.9); }
    100% { transform: scale(1.05); }
}

.utilities-amenity-item:hover .utilities-amenity-title{
  transform: translateY(-25px);
}

.utilities-amenity-item:hover .utilities-amenity-title h2{
	color: #E6D4C5 !important;
}
/* .ch-tabs .e-n-tab-title {
    background-color: rgba(0, 0, 0, 0) !important;
    color: #604C42 !important;
} */

.elementor-widget-n-tabs .e-n-tab-title[aria-selected=false] {
	background-color: rgba(0, 0, 0, 0) !important;
}
.elementor-widget-n-tabs .e-n-tab-title[aria-selected=false]:hover {
	color: #604C42 !important;
}
.e-n-tab-title-text {
	padding-bottom: 10px;
}
.dot-navigation {
  position: fixed;
  left: 50px;
  bottom: 40%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 999;
}

.dot-navigation a {
  position: relative;
  font-family: 'Montserrat-VariableFont';
  font-size: 14px;
  color: white;
  text-decoration: none;
  font-weight: 400;
  transition: all 0.3s ease;
  white-space: nowrap;
  display: inline-block; /* quan trọng: cho phép text quyết định width */
  width: fit-content;    /* đảm bảo chiều rộng bám text */
}

/* Gạch vàng ẩn ban đầu */
.dot-navigation a::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  height: 2px;
  background-color: white;
  width: 0%;
  transition: width 0.3s ease;
}

/* Hover & active: underline theo chiều dài text */
.dot-navigation a:hover::after,
.dot-navigation a.dot-active::after {
  width: 100%;
}

/* Hover & active: màu và bóng chữ */
.dot-navigation a:hover,
.dot-navigation a.dot-active {
  color: white;
  font-weight: 700;
  text-shadow: 0 0 8px rgba(255, 255, 255, 0.6);
}
/* wrapper của button */
#button-clear-display-none {
  position: relative;
	cursor: pointer
}

/* tooltip box */
/* #button-clear-display-none::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 10px);
  transform: translateX(-50%) translateY(5px);
  
  padding: 6px 14px;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;

  color: #fff;
  background: rgba(0,0,0,0.65);
  border-radius: 20px;

  opacity: 0;
  pointer-events: none;
  transition: .25s ease;
} */

/* mũi tên nhỏ */
/* #button-clear-display-none::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 2px);
  transform: translateX(-50%);
  
  border-width: 6px 6px 0 6px;
  border-style: solid;
  border-color: rgba(0,0,0,0.65) transparent transparent transparent;

  opacity: 0;
  transition: .25s ease;
} */

/* hover hiện tooltip */
#button-clear-display-none:hover::after,
#button-clear-display-none:hover::before {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 15px !important;
}

/* ===============================
   HOUSE TABS – 2 DÒNG CỐ ĐỊNH
   =============================== */

/* wrapper của tab */
.custom-house-tabs .e-n-tabs-heading{
  display: grid !important;
  grid-template-columns: repeat(2, max-content);
  justify-content: center;
  column-gap: 40px;
  row-gap: 16px;
  margin-bottom: 32px;
  border: 0 !important;
}

/* tab title */
.custom-house-tabs .e-n-tab-title{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;

  font-size: 12px;
  font-weight: 500 !important;
  letter-spacing: 1px;
  color: #6f5b4b;

  height: 22px;
  line-height: 22px;

  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;

  position: relative;
  cursor: pointer;
  transform: none !important;
}

/* underline (overlay – không làm nhảy layout) */
.custom-house-tabs .e-n-tab-title::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 1px;
  background: #6f5b4b;
  transition: width .3s ease;
}

/* active */
.custom-house-tabs .e-n-tab-title[aria-selected="true"]::after{
  width: 100%;
}

/* hover không làm nhảy */
.custom-house-tabs .e-n-tab-title:hover{
  background: transparent !important;
}

/* ===== content ===== */
.custom-house-tabs .e-n-tabs-content,
.custom-house-tabs .e-n-tab-content,
.custom-house-tabs .e-con{
  padding: 0 !important;
  border: 0 !important;
}

.custom-house-tabs .e-n-tab-content{
  animation: houseFade .35s ease;
}

/* hàng trên lệch trái */
.custom-house-tabs .e-n-tab-title:nth-child(1),
.custom-house-tabs .e-n-tab-title:nth-child(2){
  transform: translateX(-18px) !important;
}

/* hàng dưới lệch phải */
.custom-house-tabs .e-n-tab-title:nth-child(3),
.custom-house-tabs .e-n-tab-title:nth-child(4){
  transform: translateX(18px) !important;
}

@keyframes houseFade{
  from{opacity:0; transform:translateY(10px);}
  to{opacity:1; transform:translateY(0);}
}

@keyframes jump {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
  100% {
    transform: translateY(0);
  }
}

.btn-auto-jump{
  animation: jump 2s ease-in-out infinite;
}

/* ===== FULLSCREEN MOBILE MENU ===== */
.menu-mobile{
  position: fixed;
  inset: 0;
  z-index: 9999;

  /* layout */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 18px;

  /* nền giống ảnh: hơi tối + blur */
  background: rgba(30, 30, 30, 0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  /* animation */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-10px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s;
}

.menu-mobile.is-open{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.menu-mobile-overlay.is-open{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* link style */
.menu-mobile a{
  text-decoration: none;
  color: #fff;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
  opacity: .95;
  transition: opacity .2s ease, transform .2s ease;
}

.menu-mobile a:hover{
  opacity: 1;
  transform: translateY(-1px);
}

/* khoá scroll khi menu mở */
body.menu-open{
  overflow: hidden;
/*   touch-action: none; */
}

.menu-mobile.is-open{
  touch-action: none;
}

.menu-mobile{ position: fixed; inset:0; } /* bạn đã có */
.menu-mobile-close{
  position: absolute;
  top: 20px;
  right: 20px;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  color: #fff;
  font-size: 22px;
  line-height: 1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}



.flipster--flat .flipster__container, .flipster--flat .flipster__item, .flipster--flat .flipster__item__content {
    -webkit-transition: all 1s ease-in-out !important;
    transition: all 1s ease-in-out !important;
}

.premium-adv-carousel__item-outer-wrapper.flipster__item {
    overflow: hidden;
}

.premium-adv-carousel__flat.premium-adv-carousel__gradual-yes
.premium-adv-carousel__items
.flipster__item[class*="flipster__item--past-"] .flipster__item__content,
.premium-adv-carousel__flat.premium-adv-carousel__gradual-yes
.premium-adv-carousel__items
.flipster__item[class*="flipster__item--future-"] .flipster__item__content {
	padding: 0 25px; 
	filter: brightness(0.7); 
	transform: translateY(200px);
}
/* 1) Base: tất cả slide content có cùng height để không layout shift */
.premium-adv-carousel__flat.premium-adv-carousel__gradual-yes
.premium-adv-carousel__items .flipster__item__content{
  overflow: hidden;              /* cắt phần thừa khi scale */
  transform-origin: bottom center; /* scale từ đáy cho giống "lên/xuống" */
  will-change: transform, filter, opacity;
  transition: transform 900ms cubic-bezier(.2,.8,.2,1),
              filter 900ms cubic-bezier(.2,.8,.2,1),
              opacity 900ms cubic-bezier(.2,.8,.2,1);
}

/* 2) Ảnh current (giữa) */
.premium-adv-carousel__flat.premium-adv-carousel__gradual-yes
.premium-adv-carousel__items .flipster__item--current .flipster__item__content{
  transform: scale(1);
  filter: brightness(1);
  opacity: 1;
  padding: 0;
}

/* 3) 2 ảnh kề (2 bên) -> giả lập thấp hơn bằng scaleY */
.premium-adv-carousel__flat.premium-adv-carousel__gradual-yes
.premium-adv-carousel__items .flipster__item--future-1 .flipster__item__content,
.premium-adv-carousel__flat.premium-adv-carousel__gradual-yes
.premium-adv-carousel__items .flipster__item--past-1 .flipster__item__content{
  filter: brightness(0.7);
  opacity: 0.9;
  padding: 0 25px;
}

@media (max-width: 767px) {
	.dot-navigation {
	  left: 20px;
	  gap: 8px;
	}

	.dot-navigation a {
	  font-size: 12px;
	}
	#dac-quyen ul.slick-dots {
		position: absolute !important;
		left: 20%;
		bottom: 15px !important;
	}
	#tien-ich ul.slick-dots {
		position: absolute !important;
		left: 38%;
		bottom: 15px !important;
	}

}
@media (min-width: 768px) {
		.elementor .elementor-element.elementor-widget-n-tabs:not(:has(>.elementor-widget-container))>.e-n-tabs>.e-n-tabs-heading .e-n-tab-title[aria-selected=true], .elementor .elementor-element.elementor-widget-n-tabs:not(:has(>.elementor-widget-container))>.e-n-tabs[data-touch-mode=true]>.e-n-tabs-heading .e-n-tab-title[aria-selected=false]:hover, .elementor .elementor-element.elementor-widget-n-tabs>.elementor-widget-container>.e-n-tabs>.e-n-tabs-heading .e-n-tab-title[aria-selected=true], .elementor .elementor-element.elementor-widget-n-tabs>.elementor-widget-container>.e-n-tabs[data-touch-mode=true]>.e-n-tabs-heading .e-n-tab-title[aria-selected=false]:hover {
		background-color: rgba(0, 0, 0, 0) !important;
		color: #604C42 !important;
	}
	.elementor .elementor-element.elementor-widget-n-tabs:not(:has(>.elementor-widget-container))>.e-n-tabs>.e-n-tabs-heading .e-n-tab-title[aria-selected=true] span{
		border-bottom: 1px solid #604C42;
		padding-bottom: 10px;
	}
}
@media (min-width: 1025px) and (max-width: 1536px) {
	.dot-navigation {
	  left: 30px;
	}

	.dot-navigation a {
	  font-size: 12px;
	}
	.elementor-15 .elementor-element.elementor-element-97ff2a6 .premium-adv-carousel__item .premium-adv-carousel__media-wrap {
		height: 520px !important;
	}
	.elementor-15 .elementor-element.elementor-element-97ff2a6 .flipster__button.flipster__button--prev {
		left: 110px !important;
	}
	.elementor-15 .elementor-element.elementor-element-97ff2a6 .flipster__button.flipster__button--next {
		right: 110px !important;
	}
	.premium-adv-carousel__flat.premium-adv-carousel__gradual-yes
	.premium-adv-carousel__items
	.flipster__item[class*="flipster__item--past-"] .flipster__item__content,
	.premium-adv-carousel__flat.premium-adv-carousel__gradual-yes
	.premium-adv-carousel__items
	.flipster__item[class*="flipster__item--future-"] .flipster__item__content {
		transform: translateY(150px);
	}
	.elementor-15 .elementor-element.elementor-element-97ff2a6 .premium-adv-carousel__media-info-wrap {
		padding: 0px 170px 10px 20px !important;
	}
	.elementor-15 .elementor-element.elementor-element-97ff2a6 .premium-adv-carousel__media-desc {
		font-size: 13px !important;
	}
	.elementor-15 .elementor-element.elementor-element-97ff2a6 .premium-adv-carousel__media-title {
		font-size: 25px;
	}
}
@media (min-width: 2560px) {
	.dot-navigation a {
		font-size: 18px;
	}
}