/* Breadcrumb */
.custom-breadcrumb .breadcrumb {
    position: absolute;
    right: 0;
    bottom: auto;
    top: 50%;
    transform: translate(0, -50%);
    border-radius: 4px 4px 4px 4px;
    padding: 20px 15px 20px;
    background-color: #ffffff;
}

/* Style */
.booking-block .booking-content:after,
.booking-block-2 .booking-content:after,
.post:not(.post-single-content) .entry-content:after {
	height: 0;
	border-radius: 0;
}

.post:not(.post-single-content) .entry-content .content-inner .entry-title {
	font-size: 20px;
}

.booking-block .booking-content,
.booking-block-2 .booking-content,
.post:not(.post-single-content) .entry-content {
    padding: 15px 20px;
}

.gsc-heading .sub-title {
	font-family: var(--tevily-font-sans-serif);
}

/* 1) Biến wrapper thành flex, không đụng tới width của .item-column */
.lg-block-grid-2,
.lg-block-grid-3 {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  /* equal height theo hàng */
}

/* 2) Mỗi cột là 1 flex item và là 1 flex container dọc cho card bên trong */
.lg-block-grid-2 .item-columns,
.lg-block-grid-2 > .item-columns,
.lg-block-grid-2 .item-column,
.lg-block-grid-3 .item-columns,
.lg-block-grid-3 > .item-columns,
.lg-block-grid-3 .item-column
{
  display: flex;
}

/* 3) Card điền kín chiều cao cột */
.lg-block-grid-2 .ba-block-item,
.lg-block-grid-2 .babe-block-content,
.lg-block-grid-2 .booking-content,
.lg-block-grid-3 .ba-block-item,
.lg-block-grid-3 .babe-block-content,
.lg-block-grid-3 .booking-content {
  display: flex;
  flex-direction: column;

  flex: 1;
  min-height: 0;
}

/* 4) “Explore / meta” luôn dồn xuống đáy card */
.lg-block-grid-2 .booking-content .ba-meta,
.lg-block-grid-3 .booking-content .ba-meta {
        margin-top: auto;
    }

/* Ảnh đồng nhất tỉ lệ để đầu card không dao động (khuyến nghị) */
.post-image{ aspect-ratio:3/2; overflow:hidden; }
.post-image img{ width:100%; height:100%; object-fit:cover; display:block; }

/* “Others */
.lg-block-grid-2 .booking-content :is(.content-inner):has(+ .ba-meta),
.lg-block-grid-2 .booking-content :is(.title,.ba-address,.ba-price):has(+ .ba-meta),
.lg-block-grid-3 .booking-content :is(.content-inner):has(+ .ba-meta),
.lg-block-grid-3 .booking-content :is(.title,.ba-address,.ba-price):has(+ .ba-meta){
  margin-bottom: 20px;
}
.lg-block-grid-2 .booking-block .booking-content .ba-meta,
.lg-block-grid-2 .booking-block .booking-content .ba-meta,
.lg-block-grid-3 .booking-block .booking-content .ba-meta,
.lg-block-grid-3 .booking-block .booking-content .ba-meta {
    border-top: 1px solid #EBE6DE;
    border-radius: 0;
    background: transparent;
}

/* Scale effect */
/* Chuẩn bị: ảnh cắt gọn trong khung */
.ba-block-item .post-image{ overflow:hidden; }

/* 1) Transition mượt cho ảnh */
.ba-block-item .post-image img{
  object-fit:cover;
  transition: transform .52s cubic-bezier(.22,1,.36,1);
  will-change: transform;
}

/* 2) Hover/focus vào card → ảnh phóng nhẹ */
.ba-block-item:hover .post-image img,
.ba-block-item:focus-within .post-image img{
  transform: scale(1.06);
  transition: transform .52s cubic-bezier(.22,1,.36,1);
}

/* === Scale effect cho listings banner === */
.listings-banner-content{ position: relative; }

/* Ảnh nằm trong khung để zoom không tràn ra ngoài */
.listings-banner-content .banner-image{ overflow: hidden; }

/* Base transition cho ảnh */
.listings-banner-content .banner-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .52s cubic-bezier(.22,1,.36,1);
  will-change: transform;
}

/* Hover/focus vào toàn bộ card → ảnh phóng nhẹ */
.listings-banner-content:hover .banner-image img,
.listings-banner-content:focus-within .banner-image img{
  transform: scale(1.06);
  transition: transform .52s cubic-bezier(.22,1,.36,1);
}

/* Overlay link phủ toàn bộ card (click được ở mọi chỗ) */
.listings-banner-content .link-term-overlay{
  position: absolute;
  inset: 0;
  z-index: 2;
}

/* === Scale effect cho bài viết (.post-style-1) === */
/* Ảnh nằm trong khung để zoom không tràn */
.post-style-1 .post-thumbnail{
  overflow: hidden;
}

/* Base transition cho ảnh (giữ đúng cấu hình mẫu của bạn) */
.post-style-1 .post-thumbnail img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .52s cubic-bezier(.22,1,.36,1);
  will-change: transform;
}

/* Hover/focus vào toàn bộ article → ảnh phóng nhẹ */
article.post-style-1:hover .post-thumbnail img,
article.post-style-1:focus-within .post-thumbnail img{
  transform: scale(1.06);
  transition: transform .52s cubic-bezier(.22,1,.36,1);
}

/* === Banner zoom effect === */
.gva-element-gva_ba_banner .listings-banner-content{
  position: relative;
}

/* Ảnh nằm trong khung để không tràn khi zoom */
.gva-element-gva_ba_banner .listings-banner-content .banner-image{
  overflow: hidden;
  /* tùy chọn: đồng bộ tỉ lệ khung hình */
  /* aspect-ratio: 16/9; */
}

.gsc-booking-banner.style-1 .listings-banner-content .banner-image img, .gsc-booking-banner.style-2 .listings-banner-content .banner-image img{
  /* reset một số thuộc tính */
  top: unset !important;
  left: unset !important;
  -webkit-transform: none!important;
  transform: none !important;
}

/* Ảnh: transition mượt (GPU-friendly) */
.gva-element-gva_ba_banner .listings-banner-content .banner-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .52s cubic-bezier(.22,1,.36,1) !important;
  will-change: transform;
}

/* Hover/focus toàn bộ card */
.gva-element-gva_ba_banner .listings-banner-content:is(:hover, :focus-within) .banner-image img{
  transform: scale(1.06) !important;
  transition: transform .52s cubic-bezier(.22,1,.36,1) !important;
}

/* Overlay link phủ toàn bộ card để click ở mọi chỗ */
.gva-element-gva_ba_banner .listings-banner-content .link-term-overlay{
  position: absolute;
  inset: 0;
  z-index: 2;
}

/* Slider */
a.text-theme {
    color: rgb(255, 204, 0);
}

.ba-block-item .post-image .item-labels .item-label.item-featured {
    background: #00508D;
}

/* Dashboard */
.tevily-dashboard-page .my-account-header .logo {
    height: 54px;
}

/* Search & User Dropdown */
.gva-main-search .gva-search input.input-search {
    border: 1px solid #EBE6DE;
    border-radius: 4px;
}

.header_default_screen .gva-search .gva-search-content {
    top: calc(100% + 9px);
}

.header_default_screen .gva-user .login-account .user-account {
    top: calc(100% + 10px);
}

.gva-user .login-account .profile .avata-icon {
    font-size: 18px;
}

.header-mobile-content .gva-user .login-account .profile .avata:not(.without-login) {
/* .header-mobile-content .gva-user .login-account .profile .avata { */
    width: 32px;
    height: 32px;
    line-height: 32px;
}
.header-mobile .header-mobile-content .header-content-inner .header-right {
	padding-top: 15px;
}
.header-mobile .header-mobile-content .header-content-inner .header-right .gva-user .profile .avata-icon {
    font-size: 16px;
}
/*
.header-mobile .header-mobile-content .header-content-inner .header-right .gva-user .profile .avata-icon {
    padding-top: 0;
}
*/

/* .header-mobile-content .gva-user .login-account .profile .avata:not(.without-login) .avata-icon { */
.header-mobile-content .gva-user .login-account .profile .avata-icon {
    width: 32px;
    height: 32px;
    line-height: 32px;
    font-size: 16px;
}

.header-mobile .header-mobile-content .header-content-inner .header-right .gva-user .profile {
    top: 0;
}

.header-mobile .header-mobile-content .header-content-inner .header-right .gva-user .user-account {
    top: calc(100% + 10px);
}

.gva-user .login-account .profile .avata:not(.without-login) {
    margin-top: 0;
}

/* Modal */
.modal-ajax-user-form .close {
    width: 48px;
    height: 48px;
    background: transparent;
    color: #a41414;
}

/* Hover */
.elementor-button:hover,
.btn:hover, .btn-theme:hover, .btn:hover, .btn-white:hover, .btn-gray:hover, input[type*="submit"]:not(.fa):not(.btn-theme):not(.las):hover, #tribe-events .tribe-events-button:hover, .tribe-events-button:hover {
    color: #fff;
    background: var(--tevily-theme-color);
    opacity: 0.9;
    -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.elementor-icon-list-item:hover {
    opacity: 0.9;
}

/* Mobile Logo */
.header-mobile .header-mobile-content .header-content-inner .header-left .logo-mobile img {
    max-height: 60px;
}

.header-mobile .header-mobile-content .header-content-inner .header-left .logo-mobile {
    padding-top: 0;
}

.gva-offcanvas-content .top-canvas {
    background: transparent;
    padding-top: 10px;
    padding-bottom: 10px;
    line-height: 60px;
}

.gva-offcanvas-content .top-canvas .logo-mm {
    padding: 0 10px 0 25px;
}

.gva-offcanvas-content .top-canvas .logo-mm img {
    max-height: 60px;
}

.gva-offcanvas-content .top-canvas .control-close-mm {
    background: transparent;
    /* color: var(--tevily-theme-color); */
    color: #313041;
    width: 45px;
    height: 45px;
    margin-right: 12px;
}

.gva-offcanvas-content #gva-mobile-menu ul.gva-mobile-menu > li {
    border-bottom: 1px solid rgb(158 158 158 / 10%);
}

.gva-offcanvas-content #gva-mobile-menu ul.gva-mobile-menu > li.menu-item-has-children.menu-active .caret {
    background-image: url("data:image/svg+xml,%3Csvg width='24px' height='24px' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='SVGRepo_bgCarrier' stroke-width='0'%3E%3C/g%3E%3Cg id='SVGRepo_tracerCarrier' stroke-linecap='round' stroke-linejoin='round'%3E%3C/g%3E%3Cg id='SVGRepo_iconCarrier'%3E%3Crect width='24' height='24' fill='none'%3E%3C/rect%3E%3Cpath d='M6 12H18' stroke='%23000000' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
}

.gva-offcanvas-content #gva-mobile-menu ul.gva-mobile-menu > li.menu-item-has-children .caret {
    background-image: url("data:image/svg+xml,%3Csvg width='24px' height='24px' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='SVGRepo_bgCarrier' stroke-width='0'%3E%3C/g%3E%3Cg id='SVGRepo_tracerCarrier' stroke-linecap='round' stroke-linejoin='round'%3E%3C/g%3E%3Cg id='SVGRepo_iconCarrier'%3E%3Crect width='24' height='24' fill='none'%3E%3C/rect%3E%3Cpath d='M12 6V18' stroke='%23000000' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E%3Cpath d='M6 12H18' stroke='%23000000' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
}

/* Custom section */
.elementor-widget-babe-item-custom-section .babe_post_content_title {
    text-align: left;
}

/* Tour info */
.tevily-single-min_age .content-inner,
.tevily-single-duration .content-inner,
.tevily-single-taxonomy .content-inner,
.tevily-single-price_from .content-inner,
.tevily-single-max_guests .content-inner {
  display: flex;
  align-items: center;      /* icon và text căn theo đỉnh */
  flex-wrap: nowrap;        /* không xuống dòng */
}

/* Style tùy chọn */
.box-content .ba-meta-title{
  margin: 0 0 2px;
  font-size: 14px;
  color: #475569;
}
.box-content .item-value{
  font-weight: 600;
  line-height: 1.4;
}

/* Accordion Tour Plan */
.tevily-single-steps .accordion-item .accordion-header a.collapsed {
    border-radius: 4px;
}
.tevily-single-steps .accordion-item .accordion-header a {
    border-radius: 4px 4px;
}
.tevily-single-steps .accordion-item .accordion-collapse {
    border-radius: 0 0 4px 4px;
}
.tevily-single-steps .accordion-item .accordion-header a {
    transition: none;
}
.tevily-single-steps .accordion-item .accordion-header a.collapsed:after {
    margin-top: 0;
}
.accordion-button::after {
    background-image: url("data:image/svg+xml,%3Csvg width='24px' height='24px' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='SVGRepo_bgCarrier' stroke-width='0'%3E%3C/g%3E%3Cg id='SVGRepo_tracerCarrier' stroke-linecap='round' stroke-linejoin='round'%3E%3C/g%3E%3Cg id='SVGRepo_iconCarrier'%3E%3Crect width='24' height='24' fill='none'%3E%3C/rect%3E%3Cpath d='M12 6V18' stroke='%23000000' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E%3Cpath d='M6 12H18' stroke='%23000000' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
}
.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3Csvg width='24px' height='24px' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='SVGRepo_bgCarrier' stroke-width='0'%3E%3C/g%3E%3Cg id='SVGRepo_tracerCarrier' stroke-linecap='round' stroke-linejoin='round'%3E%3C/g%3E%3Cg id='SVGRepo_iconCarrier'%3E%3Crect width='24' height='24' fill='none'%3E%3C/rect%3E%3Cpath d='M6 12H18' stroke='%23000000' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
}

/* Icon List Widget */
.header_default_screen .elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text {
    padding-left: 0;
}

.header_default_screen .elementor-widget .elementor-icon-list-icon i {
    margin-right: 0;
}

/* Top bar */
.socials-2 { text-align: right;}
.socials-2 li { margin-right: 6px;}
.topbar-information ul { display:flex; flex-wrap:nowrap; list-style:none; margin:0; padding:0; }
.topbar-information ul > li { flex:0 0 auto; font-weight: 500; font-size: 16px;}
.topbar-information ul a { display:inline-flex; align-items:center; white-space:nowrap; color: #E0E0E0;}
.topbar-information ul > li + li{
  margin-left: 12px;
}
/* Hover/Focus: đổi màu + nền nhạt */
.topbar-information ul a:hover,
.topbar-information ul a:focus-visible{
  color: #E1E1E1 !important;
  opacity: 0.9;
  outline: none;
}

.header-mobile .topbar-mobile {
    padding: 10px 15px;
    font-size: 15px;
    background: #313041;
    color: #dddddd;
}

.topbar-information > ul > li:last-child {
  	display: none;
}

@media (min-width: 576px) {
  .topbar-information > ul > li:last-child {
  	display: block;
  }
}

@media (max-width: 1024px) {
    .elementor-reverse-mobile>.elementor-container>:nth-child(2) {
        margin-bottom: 20px;
    }
}
