html, body {
    overflow-x: clip !important;
}

.ast-separate-container.ast-two-container #secondary .widget {
    padding: 0;
}

#primary {
    margin: 0 !important;
}

@media (min-width: 767px) {
    .hide-mobile-767 {
        display: none !important;
    }
}

.wt-w-h-img-full {
    width: 100% !important;
    height: 100% !important;
}

.wt-w-img-full figure,
.wt-w-img-full img {
    width: 100% !important;
}

.wt-h-img-full figure,
.wt-h-img-full img {
    height: 100% !important;
}

.wt-link-hover {
    border-radius: 40px !important;
    width: fit-content !important;
}

.wt-link-hover:hover {
    background-color: #1A1A1A !important;
    color: #fff !important;
}

/* section google map trang chủ */
.wt-map-wrapper {
  width: 100% !important;
}

.wt-google-map iframe,
.wt-google-map embed {
  max-width: 100% !important;
  height: auto !important;
}

.wt-google-map,
.wt-google-map embed {
    border-radius: 30px !important;
    height: 100% !important;
    min-height: 278px !important;
}

@media (max-width: 767px) {
  .wt-map-wrapper {
    width: 100% !important;
    max-width: 100% !important;
  }
	
  .wt-google-map,
  .wt-google-map embed {
		max-width:100% !important;
	  width:100% !important
	}
}

@media (max-width: 700px) {
  .wt-map-wrapper {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* section hình ảnh trang chủ */
.wt-padding-left-1212px {
    padding-left: max(20px, calc((100vw - 1212px) / 2)) !important;
}

/* section hero trang chủ */
.wt-hero {
    background-size: contain !important;
    aspect-ratio: 1440 / 680 !important;
}


/* section khác biệt trang chủ */
.sticky-stack {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: clip !important;
}

.sticky-stack__title {
    position: sticky !important;
    top: var(--sticky-stack-title-offset, 100px) !important;
    z-index: 5;
    /* Nhỏ hơn z-index của item (10, 20...) để item đè lên */
}

.sticky-stack__item {
    position: sticky !important;
    top: var(--sticky-stack-offset, 170px) !important;
    /* border-radius: 24px; */
    clip-path: inset(0 round 0 30px 30px 0);
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.sticky-stack__item:nth-child(1) {
    z-index: 10;
}

.sticky-stack__item:nth-child(2) {
    z-index: 20;
}

.sticky-stack__item:nth-child(3) {
    z-index: 30;
}

.sticky-stack__item:nth-child(4) {
    z-index: 40;
}



@media (max-width: 767px) {
    .sticky-stack {
        position: static !important;
    }

    .sticky-stack__title {
        position: static !important;
    }

    .sticky-stack__item {
        position: static !important;
    }

    .sticky-stack__item:nth-child(1),
    .sticky-stack__item:nth-child(2),
    .sticky-stack__item:nth-child(3),
    .sticky-stack__item:nth-child(4) {
        z-index: auto !important;
    }
}


/* section bản lĩnh trang ve-cavalry-coffee */

.wt-timeline-wrap>div:first-child {
    position: relative !important;
}

.wt-timeline-wrap>div:first-child::before {
    content: "" !important;
    position: absolute !important;
    top: 65px !important;
    height: var(--max-line-height, calc(100% - 65px)) !important;
    /* Định vị động thông qua Javascript tự động tính toán trục giữa khoảng trống gap */
    left: var(--line-x, 50%) !important;
    transform: translateX(-50%) translateZ(0) !important;
    /* translateZ(0) kích hoạt GPU tăng tốc phần cứng */
    will-change: transform, clip-path !important;
    width: 16px !important;
    background-image: url('../images/time-line.svg') !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
    /* kéo giãn ảnh khớp đúng chiều cao container */
    z-index: 32 !important;
	 clip-path: inset(0 0 calc(100% - var(--line-height, 0px)) 0) !important;
    /* Trạng thái được kiểm soát trực tiếp bởi JavaScript qua biến --line-height */
    transition: none !important;
    /* Tắt transition CSS để JS có toàn quyền điều phối thời gian chạy */
}

.tva-timeline-cup {
    position: absolute !important;
    top: calc(65px + var(--line-height, 0px)) !important;
    left: var(--line-x, 50%) !important;
    transform: translate(-50%, -50%) translateZ(0) !important;
    width: 28px !important;
    height: 28px !important;
    background-image: url('../images/ly-cafe-vector-02 1.svg') !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    z-index: 33 !important;
    opacity: 0;
    transition: opacity 0.5s ease;
    will-change: top, opacity;
}

/* Hiển thị ly cafe khi bắt đầu vẽ timeline */
.wt-timeline-wrap>div:first-child.is-inview .tva-timeline-cup,
.wt-timeline-wrap>div:first-child[style*="--line-height"] .tva-timeline-cup {
    opacity: 1;
}

@media (max-width: 767px) {
    .wt-timeline-wrap>div:first-child::before,
    .tva-timeline-cup {
        display: none !important;
    }
}


/* Custom Lightbox Full Screen Inner to position buttons at screen edges */
.tva-lb-inner {
    position: absolute !important;
    inset: 0 !important;
    max-width: 100vw !important;
    max-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    gap: 0 !important;
}

.tva-lb-prev {
    position: absolute !important;
    left: 40px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 1000000 !important;
}

.tva-lb-next {
    position: absolute !important;
    right: 40px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 1000000 !important;
}

.tva-lb-close {
    position: absolute !important;
    top: -50px !important;
    right: -35px !important;
    z-index: 1000000 !important;
}

.min-h-47px a{
   min-height:47px;
}
.wt-info-contact table {
    margin: 0 !important;
    width: 100%;
    table-layout: auto !important;
}

.wt-info-contact table td {
    border: none !important;
    padding: 4px 0 !important;
}

.wt-info-contact table td:first-child {
    width: 1%;
    white-space: nowrap;
    padding: 4px 35px 4px 0 !important;
	display:flex !important;
	align-items:start !important;
}

@media (max-width: 977px) {
    .wt-info-contact table td:first-child {
		padding: 4px 10px 4px 0 !important;
	}
}