.elementor-widget-container .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-container .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-3380 .elementor-element.elementor-element-4010beb{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--overlay-opacity:0.5;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3380 .elementor-element.elementor-element-4010beb:not(.elementor-motion-effects-element-type-background), .elementor-3380 .elementor-element.elementor-element-4010beb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://soundhealingconcert.com/wp-content/uploads/2025/10/z7097805457127_875d19b44ce51e750d75172faa258bad.jpg");background-position:center center;background-size:cover;}.elementor-3380 .elementor-element.elementor-element-4010beb::before, .elementor-3380 .elementor-element.elementor-element-4010beb > .elementor-background-video-container::before, .elementor-3380 .elementor-element.elementor-element-4010beb > .e-con-inner > .elementor-background-video-container::before, .elementor-3380 .elementor-element.elementor-element-4010beb > .elementor-background-slideshow::before, .elementor-3380 .elementor-element.elementor-element-4010beb > .e-con-inner > .elementor-background-slideshow::before, .elementor-3380 .elementor-element.elementor-element-4010beb > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-3380 .elementor-element.elementor-element-73cde2fc{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:1px 1px;--row-gap:1px;--column-gap:1px;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-3380 .elementor-element.elementor-element-6fbcf3be{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-widget-heading .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-heading .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-3380 .elementor-element.elementor-element-23c4250f{text-align:center;}.elementor-3380 .elementor-element.elementor-element-23c4250f .elementor-heading-title{font-family:"VNF-Optima", Sans-serif;font-size:30px;font-weight:600;text-transform:uppercase;color:#FFFFFF;}.elementor-3380 .elementor-element.elementor-element-7c2881f4{text-align:center;}.elementor-3380 .elementor-element.elementor-element-7c2881f4 .elementor-heading-title{font-family:"Playfair", Sans-serif;font-size:27px;font-weight:300;line-height:1.2em;color:#FFFFFF;}.elementor-3380 .elementor-element.elementor-element-235e05be{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-html .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-html .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-3380 .elementor-element.elementor-element-40d9ab9 > .elementor-widget-container{margin:0% 0% -6% 0%;padding:0px 0px 0px 0px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-3380 .elementor-element.elementor-element-73cde2fc{--content-width:1300px;}}@media(max-width:767px){.elementor-3380 .elementor-element.elementor-element-4010beb{--overlay-opacity:0.45;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-3380 .elementor-element.elementor-element-73cde2fc{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3380 .elementor-element.elementor-element-6fbcf3be{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3380 .elementor-element.elementor-element-23c4250f .elementor-heading-title{font-size:25px;}.elementor-3380 .elementor-element.elementor-element-7c2881f4{width:var( --container-widget-width, 300px );max-width:300px;--container-widget-width:300px;--container-widget-flex-grow:0;}.elementor-3380 .elementor-element.elementor-element-7c2881f4 .elementor-heading-title{font-size:19px;}.elementor-3380 .elementor-element.elementor-element-235e05be{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3380 .elementor-element.elementor-element-40d9ab9 > .elementor-widget-container{margin:0% 0% -10% 0%;}}/* Start custom CSS for html, class: .elementor-element-40d9ab9 *//* ---- TOÀN BỘ CONTAINER ---- */
.pricing-container {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh; /* Quan trọng: Giữ section full màn hình */
  padding: 40px 20px;
  box-sizing: border-box;
  font-family: 'Montserrat', sans-serif; /* Thay font bạn muốn */
  color: #fff;
}

/* ---- BẢNG GIÁ ---- */
.pricing-table {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 cột trên desktop */
  gap: 30px;
  width: 100%;
  max-width: 1200px;
}

/* ---- TỪNG CỘT HẠNG VÉ ---- */
.pricing-column {
  background: rgba(255, 255, 255, 0.05); /* Nền mờ cho đẹp */
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 15px;
  padding: 30px;
  display: flex;
  flex-direction: column; /* Sắp xếp nội dung theo chiều dọc */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  overflow: hidden; /* Ẩn các phần thừa */
}

.pricing-column:hover {
  transform: translateY(-10px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

/* ---- PHẦN HEADER CỦA CỘT (TÊN + GIÁ) ---- */
.pricing-header .tier-name {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 10px 0;
  color: #F39C12; /* Màu nhấn */
}

.pricing-header .tier-price {
  font-size: 32px;
  font-weight: 600;
  margin: 0 0 25px 0;
}

/* ---- DANH SÁCH QUYỀN LỢI ---- */
.features-list {
  list-style: none;
  padding: 0;
  margin: 0;
  flex-grow: 1; /* Quan trọng: Đẩy nút Mua vé xuống dưới cùng */
  overflow-y: auto; /* Quan trọng: Cho phép scroll nếu nội dung quá dài */
}

.features-list li {
  margin-bottom: 15px;
  font-size: 15px;
  display: flex;
  align-items: center;
}

.features-list li.disabled {
  color: rgba(255, 255, 255, 0.4);
  text-decoration: line-through;
}

/* ---- NÚT MUA VÉ ---- */
.cta-button {
  display: block;
  background: #F39C12;
  color: #111;
  text-align: center;
  padding: 15px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 700;
  margin-top: 20px; /* Khoảng cách với danh sách */
  transition: background-color 0.3s ease;
}

.cta-button:hover {
  background: #f1c40f;
}

/* ---- STYLE CHO CỘT NỔI BẬT (FEATURED) ---- */
.pricing-column.featured {
  background: rgba(243, 156, 18, 0.1);
  border: 2px solid #F39C12;
  transform: scale(1.05); /* Làm cho nó to hơn một chút */
}

.featured .cta-button {
    background: #fff;
    color: #F39C12;
}

.featured-badge {
  position: absolute;
  top: -1px;
  right: 20px;
  background: #F39C12;
  color: #111;
  padding: 5px 15px;
  font-size: 12px;
  font-weight: 700;
  border-radius: 0 0 8px 8px;
}


/* ---- RESPONSIVE CHO MOBILE ---- */
@media (max-width: 991px) {
  .pricing-table {
    grid-template-columns: repeat(2, 1fr); /* 2 cột trên tablet */
  }
}

@media (max-width: 767px) {
  .pricing-container {
    height: auto; /* Trên mobile, bỏ 100vh để nội dung có thể scroll tự nhiên */
    padding: 40px 15px;
  }
  .pricing-table {
    grid-template-columns: 1fr; /* 1 cột duy nhất trên mobile */
  }
  .pricing-column.featured {
    transform: scale(1); /* Bỏ hiệu ứng scale trên mobile */
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-73cde2fc *//*
 * HIỆU ỨNG SÓNG ÂM THANH (Bản sửa lỗi căn giữa)
 */

/* Tạo keyframe cho hiệu ứng lan tỏa (Giữ nguyên) */
@keyframes sound-wave-pulse {
  0% {
    transform: scale(0.8);
    opacity: 0.8;
  }
  100% {
    transform: scale(1.6);
    opacity: 0;
  }
}

/* Định vị hình ảnh và tạo lớp nền (Giữ nguyên) */
.image-sound-wave {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* --- PHẦN SỬA ĐỔI QUAN TRỌNG --- */
/* Cấu hình chung cho cả 2 vòng tròn sóng âm */
.image-sound-wave::before,
.image-sound-wave::after {
  content: '';
  position: absolute;
  top: 22%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 2px solid rgba(196, 172, 108, 0.7);
  z-index: 0;
  pointer-events: none;
  
  /* THAY ĐỔI TẠI ĐÂY: Dùng aspect-ratio để đảm bảo luôn là hình tròn */
  width: 80%; /* Kích thước sóng sẽ bằng 80% chiều rộng của ảnh */
  height: auto; /* Để aspect-ratio quyết định chiều cao */
  aspect-ratio: 1 / 1; /* QUAN TRỌNG: Ép buộc nó luôn là hình vuông (trở thành tròn) */
}

/* Cấu hình animation cho từng sóng (Giữ nguyên) */
.image-sound-wave::before {
  animation: sound-wave-pulse 3s infinite ease-out;
}

.image-sound-wave::after {
  animation: sound-wave-pulse 3s infinite ease-out 1.5s; /* Trễ 1.5 giây */
}

/* Đảm bảo hình ảnh bên trong (Giữ nguyên) */
.image-sound-wave img {
  display: block;
  max-width: 100%;
  height: auto;
  position: relative;
  z-index: 1;
}


/*
 * HIỆU ỨNG LƠ LỬNG LÊN XUỐNG
 */

/* 1. Định nghĩa chuyển động */
@keyframes float-animation {
  0% {
    transform: translateY(0px); /* Vị trí ban đầu */
  }
  50% {
    transform: translateY(-10px); /* Di chuyển lên 6px */
  }
  100% {
    transform: translateY(0px); /* Quay về vị trí ban đầu */
  }
}

/* 2. Áp dụng chuyển động vào widget */
.floating-text {
  animation-name: float-animation; /* Tên của chuyển động */
  animation-duration: 3s; /* Thời gian hoàn thành 1 chu kỳ */
  animation-iteration-count: infinite; /* Lặp lại vô hạn */
  animation-timing-function: ease-in-out; /* Kiểu chuyển động mượt mà */
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'VNF-Optima';
	font-display: auto;
	src: url('https://soundhealingconcert.com/wp-content/uploads/2025/09/VNF-Optima-Regular-1.ttf') format('truetype');
}
/* End Custom Fonts CSS */