/* Root Variables */
:root {

  --e-global-color-white: #fff;

  --section-width: 1440px;
  --section-inner-width: 1200px;
  --section-inner-width-mobile: 1024px;
  --e-global-font-family-base: 'Roboto', sans-serif;
  --e-global-font-family-heading: 'Roboto', sans-serif;

  --e-global-typography-primary-font-family: "Roboto";
  --e-global-typography-primary-font-size: 20px;
  --e-global-typography-primary-font-weight: 400;

  --e-global-typography-secondary-font-family: "Roboto Slab";
  --e-global-typography-secondary-font-size: 16px;
  --e-global-typography-secondary-font-weight: 400;

  --e-global-typography-text-font-family: "Roboto";
  --e-global-typography-text-font-size: 20px;
  --e-global-typography-text-font-weight: 400;

  --e-global-typography-accent-font-family: "Lato";
  --e-global-typography-accent-font-size: 13px;
  --e-global-typography-accent-font-weight: 500;
  --e-global-typography-accent-text-transform: uppercase;

  --e-global-typography-h1-font-size: 2.1rem;
  --e-global-typography-h1-font-family: "Roboto Slab";
  --e-global-typography-h1-font-color: var(--e-global-color-primary);
  --e-global-typography-h1-font-weight: 600;
  --e-global-typography-h1-line-height: 1.5;

  --e-global-typography-h2-font-size: 1.6rem;
  --e-global-typography-h2-font-family: "Yeseva One";
  --e-global-typography-h2-font-color: var(--e-global-color-accent);
  --e-global-typography-h2-font-weight: 600;
  --e-global-typography-h2-line-height: 1.4;

  --e-global-typography-h3-font-size: 1.2rem;
  --e-global-typography-h3-font-family: "Roboto Slab";
  --e-global-typography-h3-font-color: var(--e-global-color-accent);
  --e-global-typography-h3-font-weight: 600;
  --e-global-typography-h3-line-height: 1.3;

  --e-global-typography-h4-font-size: 1.1rem;  
  --e-global-typography-h4-font-family: "Roboto Slab";
  --e-global-typography-h4-font-color: var(--e-global-color-text);
  --e-global-typography-h4-font-weight: 400;

  --e-global-typography-h5-font-size: 1rem;  
  --e-global-typography-h5-font-family: "Roboto Slab";
  --e-global-typography-h5-font-color: var(--e-global-color-text);
  --e-global-typography-h5-font-weight: 400;

  --e-global-typography-h6-font-size: 1rem;  
  --e-global-typography-h6-font-family: "Roboto Slab";
  --e-global-typography-h6-font-color: var(--e-global-color-text);
  --e-global-typography-h6-font-weight: 400;

  --e-global-typography-body-font-size: 1rem;
  --e-global-typography-body-line-height: 1.5;

  --e-global-background-img-header1: url('../image/background-header1.webp');
  
  /* Zalo */
  --zalo-blue: #0068FF;

  /* Facebook */
  --facebook-blue: #1877F2;

  /* YouTube */
  --youtube-red: #FF0000;

  /* TikTok */
  --tiktok-black: #000000;
  --tiktok-cyan: #25F4EE;
  --tiktok-pink: #FE2C55;
}

.site-main {
  max-width: unset !important;
}

/* Base Typography */
body {
  font-family: var(--e-global-font-family-base);
  font-size: var(--e-global-typography-body-font-size);
  line-height: var(--e-global-typography-body-line-height);
  color: var(--e-global-color-text);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--e-global-font-family-heading);
  color: var(--e-global-color-primary);
  margin: 0.5em 0 0.5em;
}
h1 { font-size: var(--e-global-typography-h1-font-size); }
h2 { font-size: var(--e-global-typography-h2-font-size); }
h3 { font-size: var(--e-global-typography-h3-font-size); }
h4 { font-size: var(--e-global-typography-h4-font-size); }
h5 { font-size: var(--e-global-typography-h5-font-size); }
h6 { font-size: var(--e-global-typography-h6-font-size); }

p {
  margin: 10px 0 10px 0;
  color: var(--e-global-color-text);
}
p:empty {
    min-height: 1.2em;
}

.elementor-grid .elementor-widget-heading .elementor-heading-title {
    --e-global-typography-h3-font-color: var(--e-global-color-text) !important;
}

.elementor-widget-heading .elementor-heading-title {
    color: inherit !important;
    line-height: var(--e-global-typography-body-line-height) !important;
}

@keyframes fa-spin {
  0% { transform: rotate(0deg);}
  100% { transform: rotate(360deg);}
}
@keyframes shake-icon {
    0% { transform: translateX(0); }
    25% { transform: translateX(-2px); }
    50% { transform: translateX(2px); }
    75% { transform: translateX(-2px); }
    100% { transform: translateX(0); }
}

.hero-block-content img,
.wp-block-image img {
    margin: 0 auto;
    display: block;
    border-radius: 8px !important;
}

.tele-text-italic {
  font-style: italic !important;
}

.tele-hidden,
.tele-hide {
  display: none !important;
}

.tele-zalo .zalo-icon-main {
  color: var(--zalo-blue) !important;
}

.tele-zalo svg {
  fill: var(--zalo-blue) !important;
}
.tele-facebook svg {
  fill: var(--facebook-blue) !important;
}
.tele-fb-messenger svg {
  fill: var(--facebook-blue) !important;
}
.tele-youtube svg {
  fill: var(--youtube-red) !important;
}
.tele-tiktok svg path:first-child {
  fill: var(--tiktok-black) !important;
}
.tele-phone svg {
  fill: var(--e-global-color-accent) !important;
}

.tele-image-center figure { text-align: center; justify-content: center; display: flex; }
.tele-image-left   figure { text-align: left;   justify-content: flex-start; display: flex; }
.tele-image-right  figure { text-align: right;  justify-content: flex-end;   display: flex; }

.tele-image-radius-4,
.tele-image-radius-4 img { 
  border-radius: 4px !important;
}

.tele-image-radius-8,
.tele-image-radius-8 img { 
  border-radius: 8px !important;
}

.tele-image-radius-16,
.tele-image-radius-16 img { 
  border-radius: 16px !important;
}

.tele-image-radius-24,
.tele-image-radius-24 img { 
  border-radius: 24px !important;
}

.before-after-slide img {
  border-radius: 6px !important;
} 

.tele-social-icon-list-wrap {
  width: fit-content !important;
  max-width: 100vw;
}

/* Zoom out khi hover */
.tele-social-icon-list .elementor-icon-list-item:hover .elementor-icon-list-icon {

    /* Zoom Out */
    /* transform: scale(0.8);
    transition: transform 0.2s cubic-bezier(.68,-.55,.27,1.55); */
    /* Zoom In */
    transform: scale(1.2) rotate(-10deg);
    transition: transform 0.2s cubic-bezier(.68,-.55,.27,1.55);
    /* xoay khi hover */  
    /* transform: rotate(-15deg) scale(0.85);
    transition: transform 0.3s cubic-bezier(.68,-.55,.27,1.55); */    
}

.elementor-icon-list-item.tele-phone:hover .elementor-icon-list-icon {
    /* rung rung (shake) */
    animation: shake-icon 0.3s;
}

.tele-section-wrapper:not(:first-child) {
  padding-top: 3rem;
}

.tele-social-icon-list-horizontal .elementor-icon-list-items {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    /* gap: 10px !important;  */
}

.tele-organization-on-page > .tele-layout-row {
  column-gap: 2.5rem !important;
}

.tele-organization-on-page .tele-organization-loop-grid {
    padding-top: 5rem;
}

.tele-organization-loop-grid .e-loop-item:not(:last-child) {
    border-bottom: 1px solid var(--e-global-color-primary);
    padding-top: 16px;
    padding-bottom: 16px;
}

.tele-section-footer .tele-organization-loop-grid .e-loop-item:not(:last-child) {
    border-bottom: unset !important;
    padding-top: unset !important;
    padding-bottom: unset !important;
}
/* tele-section-footer */
  
.tele-footer-wrap {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.tele-footer-wrap1 {
  background-color: var(--e-global-color-footer-background) !important;
}

.tele-section-footer {
  max-width: var(--section-width) !important;
  margin: auto;
}

.tele-section-footer .tele-organization-loop-grid .elementor-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 3rem !important;
}

.tele-section-footer  .tele-icon-list-text {
    color: var(--e-global-color-footer-item) !important;
    transition: color 0.3s;
}
.tele-footer-group-title {
  background-color: var(--e-global-color-footer-group-title-background) !important;
}
.tele-section-footer .tele-company-info-list .elementor-icon-list-text {
    color: var(--e-global-color-footer-item) !important;
}

.tele-section-footer .tele-icon-list-icon i {
    color: var(--e-global-color-footer-item) !important;
}

.tele-footer-column1 {
  min-width: 35%;
}

/* Khi tele-footer-column1 chứa tele-footer-logo-vertical */
.tele-footer-column1:has(.tele-footer-logo-vertical) {
    min-width: 50%;
}

.tele-section-footer .tele-footer-group-title .elementor-heading-title {
  font-family: "Roboto", Sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  color: var(--e-global-color-footer-group-title) !important;
}

.tele-social-icon-list  .elementor-icon-list-item:empty,
.tele-company-info-list .elementor-icon-list-item:empty {
  display: none;
}

.tele-toggle-icon {
  width: auto;           /* tránh width: 0 */
  height: auto;
  font-size: 1em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-left: 8px;
  cursor: pointer;
}

.tele-toggle-icon i {
  width: auto;            /* hoặc 1.25em nếu muốn đồng bộ */
  height: auto;
  line-height: 1;
  display: inline-block;
  font-size: 14px;
  color: var(--e-global-color-primary);
  font-weight: 600;
}

.tele-item-overlay {
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.tele-item-overlay:hover {
  transform: scale(1.03);
  box-shadow: 0 12px 24px rgba(0,0,0,0.2);
}

.tele-item-overlay img {
  border-radius: 8px;
  transition: all 0.3s ease;
}

.tele-image-radius-8 img {
  border-radius: 8px !important;
}

/* .tele-video {
  padding-top: 20px;
} */

.elementor-widget-image a {
    display: block;
    width: 100%;
}

/* Elementor-specific overrides */
.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3,
.elementor-widget-heading h4,
.elementor-widget-heading h5,
.elementor-widget-heading h6 {
  font-family: var(--e-global-font-family-heading);
  color: var(--e-global-color-primary);
}

.elementor-widget-image-box .elementor-image-box-title {
  font-family: var(--e-global-font-family-heading);
  color: var(--e-global-color-primary);
  margin-bottom: 0.5em;
}

.elementor-widget-icon-box .elementor-icon-box-title {
  font-family: var(--e-global-font-family-heading);
  color: var(--e-global-color-primary);
}

/* Section titles (custom class) */
.section-heading {
  font-size: var(--e-global-typography-h2-font-size);
  font-family: var(--e-global-font-family-heading);
  font-weight: 700;
  color: var(--e-global-color-primary);
  margin-bottom: 1em;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.tele-heading-divider-wrap {
  align-items: center !important;
}

/* ========== TYPOGRAPHY RESET ========== */

/* Global Heading Style */
.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3,
.elementor-widget-heading h4,
.elementor-widget-heading h5,
.elementor-widget-heading h6,
body .elementor-widget-tele-image-box .elementor-image-box-title,
body .elementor-widget-tele-image-box .elementor-icon-box-title,
.tele-title {
  font-family: var(--e-global-typography-primary-font-family), Sans-serif;
  font-size: var(--e-global-typography-primary-font-size);
  font-weight: var(--e-global-typography-primary-font-weight);
  line-height: var(--e-global-typography-primary-line-height);
  color: var(--e-global-color-primary);
}
.tele-title {
  width: 100%;
}
.tele-title-white .tele-title {
  color: var(--e-global-color-white) !important;
}

/* Áp dụng global typography theo HTML tag cho image box */
body .elementor-widget-tele-image-box .elementor-image-box-title.elementor-size-h1,
body .elementor-widget-tele-image-box .elementor-image-box-title.elementor-size-h1,
h1.tele-title {
  font-family: var(--e-global-typography-h1-font-family);
  font-size: var(--e-global-typography-h1-font-size);
  font-weight: var(--e-global-typography-h1-font-weight);
  line-height: var(--e-global-typography-h1-line-height);
  color: var(--e-global-typography-h1-font-color);  
  text-transform: uppercase;
  margin-bottom: 0.5em;
  text-align: center;
}

h1.tele-title::after {
    content: "";
    display: block;
    width: 40%;
    height: 4px;
    background: var(--e-global-color-accent);
    margin: 0.3em auto 0 auto;
    border-radius: 3px;
}

.tele-title-center .tele-title,
.tele-title-center .tele-sub-title {
  text-align: center !important;
  margin-left: auto;
  margin-right: auto;
}

.tele-title-left .tele-title,
.tele-title-left .tele-sub-title {
  text-align: left !important;
}

footer {
  padding-top: 30px;
}
/** Menu **/
.tele-header-menu-wrap > .elementor-element  {
  justify-content: center !important;
}

.elementor-menu-toggle {
  background-color: var(--e-global-color-menu-toggle) !important;
}

.elementor-menu-toggle svg {
  fill: var(--e-global-color-menu-toggle-fill) !important;
}

.tele-header-menu-wrap {
  background-color: var(--e-global-color-menu-background) !important;
}
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item {
  fill: var(--e-global-color-menu-item) !important;
  color: var(--e-global-color-menu-item) !important;
}
.tele-footer-wrap .elementor-icon-list-item a {
  color: var(--e-global-color-menu-item) !important;
}

.tele-header-nav-menu .elementor-nav-menu .elementor-item {
  font-family: "Bitter", Sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  line-height: 1.8rem !important;
  text-align: center !important;
  position: relative !important; /* Thêm position relative */
}

.menu-item {
  padding: 10px 20px;
  color: var(--e-global-color-menu-item);
  text-decoration: none;
  position: relative;
}

/* Style cho menu item active (menu con) */
.menu-item .elementor-item-active {
  color: var(--e-global-color-menu-item-active) !important;
  font-weight: 600;
}

.elementor-nav-menu--main .elementor-item:hover, 
.elementor-nav-menu--main .elementor-item.elementor-item-active, 
.elementor-nav-menu--main .elementor-item.highlighted, 
.elementor-nav-menu--main .elementor-item:focus {
    color: var(--e-global-color-menu-item-active) !important;
    fill: var(--e-global-color-menu-item-active) !important;
}

.menu-item .elementor-item-active::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: var(--e-global-color-menu-item-active-after) !important;
  border-radius: 2px;
}

.tele-footer-wrap .menu-item .elementor-item-active::after { 
  content: none !important;
  /* hoặc */
  display: none !important;
}

.tele-footer-wrap .elementor-nav-menu--main .elementor-nav-menu a, 
.tele-footer-wrap .elementor-nav-menu--main .elementor-nav-menu a.highlighted, 
.tele-footer-wrap .elementor-nav-menu--main .elementor-nav-menu a:focus, 
.tele-footer-wrap .elementor-nav-menu--main .elementor-nav-menu a:hover {
  padding-left: 0 !important;
}

/* Style cho menu parent khi menu con đang active */
.current-menu-ancestor > .elementor-item,
.current-menu-parent > .elementor-item {
  color: var(--e-global-color-menu-item-active) !important;
  position: relative; /* Đảm bảo position relative */
}

.current-menu-ancestor > .elementor-item::after,
.current-menu-parent > .elementor-item::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: var(--e-global-color-menu-item-active-after) !important;
  border-radius: 2px;
  z-index: 1 !important; /* Thêm z-index để đảm bảo hiển thị trên cùng */
  opacity: 1 !important; 
}

.menu-depth-0 > .elementor-icon-list-icon-link {
  font-weight: bold;
  color: var(--e-global-color-menu-item);
}

.menu-depth-1 > .elementor-icon-list-icon-link {
  color: var(--e-global-color-menu-item);
}

.menu-depth-2 > .elementor-icon-list-icon-link {
  color: var(--e-global-color-menu-item);
}

/* .elementor-nav-menu--dropdown .elementor-sub-item {
    fill: var(--e-global-color-white) !important;
} */

.elementor-pagination .page-numbers.current {
  color: var(--e-global-color-primary);
  font-weight: bolder;
  font-size: 18px;
}
.elementor-posts .elementor-post__read-more {
    color: var(--e-global-color-primary);
}

.elementor-widget-icon-list .elementor-icon-list-icon svg {
    fill: var(--e-global-color-primary);
}

.elementor-icon-list-item.menu-depth-1 {
  padding-left: 1.25rem;
}

.elementor-icon-list-item.menu-depth-2 {
  padding-left: 2rem;
}

.elementor-icon-list-item.menu-depth-3 {
  padding-left: 3rem;
}

.elementor-nav-menu--dropdown .elementor-item.elementor-item-active, 
.elementor-nav-menu--dropdown .elementor-item.highlighted, 
.elementor-nav-menu--dropdown .elementor-item:focus, 
.elementor-nav-menu--dropdown .elementor-item:hover, 
.elementor-sub-item.elementor-item-active, 
.elementor-sub-item.highlighted, 
.elementor-sub-item:focus, 
.elementor-sub-item:hover {
    background-color: var(--e-global-color-white) !important;
    color: var(--e-global-color-primary) !important;
}

/* tele-icon-list-items */
.tele-icon-list-items .elementor-icon-list-icon {
    --e-icon-list-icon-size : 18px !important;
}

.tele-social-icon-size-30 .tele-icon-list-items .elementor-icon-list-icon {
    --e-icon-list-icon-size : 30px !important;
}

.tele-company-info-list .elementor-icon-list-icon i,
.tele-icon-list-items .elementor-icon-list-icon i {
    width: calc(var(--e-icon-list-icon-size) + 2px) !important;
    height: calc(var(--e-icon-list-icon-size) + 2px) !important;
    margin-right: 4px;
}

.tele-icon-list-items {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
/* 
.tele-icon-list-items .elementor-icon-list-item:not(:last-child) {
  padding-bottom: calc(20px / 2);
}
.tele-icon-list-items .elementor-icon-list-item:not(:first-child) {
  margin-top: calc(20px / 2);
} */

.tele-icon-list-items .elementor-icon-list-item > a {
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-size: var(--e-global-typography-text-font-size);
  font-weight: var(--e-global-typography-text-font-weight);
  line-height: var(--e-global-typography-text-line-height);
  color: var(--e-global-color-secondary);
  text-decoration: none;
}
.tele-icon-list-items .elementor-icon-list-icon i {
  font-size: 15px;
  color: var(--e-global-color-primary);
  font-weight: 600;
}


/* Links */
a {
  color: var(--e-global-color-link);
  text-decoration: none;
}
a:hover {
  color: var(--e-global-color-link-hover);
}

/* Buttons */
/* button,
.elementor-button,
input[type="submit"],
.button  */

.elementor-button {
  font-family: var(--e-global-font-family-base);
  background-color: var(--e-global-color-primary);
  color: var(--e-global-color-white);
  border: none;
  border-radius: 4px;
  padding: 0.6em 1.2em;
  font-size: 1rem;
  cursor: pointer;
}
button:hover,
.elementor-button:hover,
input[type="submit"]:hover,
.button:hover {
  background-color: var(--e-global-color-accent);
  color: var(--e-global-color-white);
}

.tele-heading-divider-wrap .elementor-widget-heading .custom-heading-style {
    color: var(--e-global-color-white) !important;
} 

.tele-specialist-grid-wrap .tele-desc {
  max-width: var(--section-inner-width-mobile) !important;
}

.tele-specialist-slider .elementor-widget-image img {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  display: block !important;
}

.tele-specialist-highlight-slider .tele-desc-wrap,
.tele-specialist-highlight-slider .tele-title-wrap { 
    /* background-image: url('../icons/blue/background-header1.webp') !important; */
    background: var(--e-global-background-img-header1) !important;
    border-radius: 4px !important;
    margin-bottom: 20px !important;
}

.tele-specialist-highlight-slider .tele-title-wrap .tele-title {
    margin: 0 !important;
    color: #fff !important;
    padding: 15px 0 15px 0;
}

.tele-specialist-highlight-slider .tele-title-wrap .tele-title::after{
  content: "";
  display: none;
}


.tele-flex-box.specialist-cat-list {
  display: flex;
  flex-direction: column;   /* các item sắp xếp theo hàng ngang (mặc định) */
  gap: 32px;             /* khoảng cách giữa các item */
  flex-wrap: wrap;       /* xuống dòng nếu tràn */
  justify-content: flex-start; /* căn trái; dùng center hoặc space-between nếu muốn căn giữa/cách đều */
}

/* Item width điều chỉnh theo nhu cầu, ví dụ mỗi item rộng tối thiểu 280px */
.tele-flex-item {
  flex: 1 1;     /* hoặc width: 280px; (nếu muốn cố định) */
  box-sizing: border-box;
}

/** tele-heading-divider **/
.tele-heading-divider-wrap .elementor-widget-heading .elementor-widget-container {
    background-color: var(--e-global-color-primary) !important;
    padding: 5px 10px 5px 10px !important;
    border-style: solid !important;
    border-width: 1px 1px 1px 1px !important;
    border-color: var(--e-global-color-primary) !important;
    border-radius: 50px 50px 50px 50px !important;
    min-width: 120px !important;
} 
  
.tele-heading-divider-wrap .elementor-divider-separator {
    --divider-border-style: solid !important;
    --divider-color: var(--e-global-color-accent) !important;
    --divider-border-width: 3px !important;
}
.tele-heading-divider-wrap .elementor-divider {
    text-align: right !important;
    padding-block-start: 25px !important;
    padding-block-end: 25px !important;
}

.custom-heading-style {
  position: relative !important;
  display: inline-block !important;
  font-family: 'Roboto', 'Helvetica Neue', Helvetica, sans-serif !important;
  font-size: 1.5rem !important;
  text-transform: uppercase !important;
  text-align: center !important;
  font-weight: bold !important;
}

body .elementor-widget-tele-image-box .elementor-image-box-title.elementor-size-h2,
body .elementor-widget-tele-image-box .elementor-image-box-title.elementor-size-h2,
.elementor-widget-heading h2.elementor-heading-title,
h2.tele-title {
  font-family: var(--e-global-typography-h2-font-family) !important;
  font-size: var(--e-global-typography-h2-font-size) !important;
  font-weight: var(--e-global-typography-h2-font-weight) !important;
  line-height: var(--e-global-typography-h2-line-height) !important;
  color: var(--e-global-typography-h2-font-color) !important;
}

body .elementor-widget-tele-image-box .elementor-image-box-title.elementor-size-h3,
body .elementor-widget-tele-image-box .elementor-image-box-title.elementor-size-h3,
.elementor-widget-heading h3.elementor-heading-title,
h3.tele-title {
  font-family: var(--e-global-typography-h3-font-family) !important;
  font-size: var(--e-global-typography-h3-font-size) !important;
  font-weight: var(--e-global-typography-h3-font-weight) !important;
  line-height: var(--e-global-typography-h3-line-height) !important;
  color: var(--e-global-typography-h3-font-color) !important;
}

body .elementor-widget-tele-image-box .elementor-image-box-title.elementor-size-h4,
body .elementor-widget-tele-image-box .elementor-image-box-title.elementor-size-h4,
.elementor-widget-heading h4.elementor-heading-title,
h4.tele-title {
  font-family: var(--e-global-typography-h4-font-family) !important;
  font-size: var(--e-global-typography-h4-font-size) !important;
  font-weight: var(--e-global-typography-h4-font-weight) !important;
  line-height: var(--e-global-typography-h4-line-height) !important;
  color: var(--e-global-typography-h4-font-color) !important;
}

.tele-description-center .tele-desc-wrap,
.tele-title-center .tele-title-wrap {
  text-align: center !important;
  margin-left: auto;
  margin-right: auto;
}

body .elementor-widget-tele-image-box .elementor-image-box-img img {
  border-radius: 8px;
}

body .hero-info-block-container .elementor-element:not(.e-div-block-base):not(:has(.elementor-widget-container)) {
  display: none !important;
}

/* Paragraph Text */
body .elementor-widget-tele-image-box .elementor-image-box-description, 
.elementor-widget p,
.elementor-widget .elementor-text-editor p,
.elementor-widget-text-editor p,
.tele-desc,
.tele-desc .elementor-heading-title {
  font-family: var(--e-global-typography-text-font-family), Sans-serif !important;
  font-size: var(--e-global-typography-text-font-size) !important;
  font-weight: var(--e-global-typography-text-font-weight) !important;
  color: var(--e-global-color-text) !important;   
  line-height: unset !important; 
}

.tele-sub-title {  
  font-family: var(--e-global-typography-h2-font-family);
  font-size: var(--e-global-typography-h2-font-size);
  font-weight: var(--e-global-typography-h2-font-weight);
  line-height: var(--e-global-typography-h2-line-height);
  color: var(--e-global-typography-h2-font-color);
}

.tele-section-items h1.tele-title {   
  font-family: var(--e-global-typography-h1-font-family);
  font-size: var(--e-global-typography-h1-font-size);
  font-weight: var(--e-global-typography-h1-font-weight);
  line-height: var(--e-global-typography-h1-line-height);
  color: var(--e-global-typography-h1-font-color);
  margin: 0 auto;        /* căn giữa trong container */
  white-space: normal;   /* đảm bảo text wrap */
  word-break: break-word;/* wrap khi có từ dài */ 
  padding-bottom: 15px !important;
  text-transform: uppercase !important;
  text-align: center;
}

.tele-section-items h2.tele-title,
.h1-tele-sub-title {   
  font-family: var(--e-global-typography-h2-font-family);
  font-size: var(--e-global-typography-h2-font-size);
  font-weight: var(--e-global-typography-h2-font-weight);
  line-height: var(--e-global-typography-h2-line-height);
  color: var(--e-global-typography-h2-font-color);
  margin: 0 auto;        /* căn giữa trong container */
  white-space: normal;   /* đảm bảo text wrap */
  word-break: break-word;/* wrap khi có từ dài */ 
  padding-bottom: 15px !important;
  text-transform: uppercase !important;
  text-align: center;
}

.h2-tele-sub-title {   
  font-family: var(--e-global-typography-h3-font-family);
  font-size: var(--e-global-typography-h3-font-size);
  font-weight: var(--e-global-typography-h3-font-weight);
  line-height: var(--e-global-typography-h3-line-height);
  color: var(--e-global-typography-h3-font-color);
  margin: 0 auto;        /* căn giữa trong container */
  white-space: normal;   /* đảm bảo text wrap */
  word-break: break-word;/* wrap khi có từ dài */ 
  padding-bottom: 15px !important;
  text-align: center;
}

.tele-section-items h1.tele-title::after,
.tele-section-items h2.tele-title::after {
  content: unset;
  display: none;
}

.tele-sub-title-center .tele-sub-title {
  text-align: center !important;
  margin-left: auto;
  margin-right: auto;
}


.tele-sub-title-left .tele-sub-title {
  text-align: left !important;
}

.tele-desc ul {
  margin: 0;
  padding-left: 0;
  list-style-position: inside;
}

.tele-desc.tele-desc-center,
.tele-desc-center .tele-desc {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.popup-title:empty,
.popup-desc:empty {
  display: block; /* Đảm bảo vẫn chiếm chỗ */
  visibility: hidden;
}

/* Link Style */
.elementor-widget .elementor-text-editor a {
  color: var(--e-global-color-secondary) !important;
  text-decoration:  none;
}

.elementor-widget a:hover {
  color: var(--e-global-color-accent);
}

/* Button Style */
.elementor-button,
.elementor-button-link {
  font-family: var(--e-global-typography-accent-font-family), Sans-serif;
  font-size: var(--e-global-typography-accent-font-size);
  font-weight: var(--e-global-typography-accent-font-weight);
  line-height: var(--e-global-typography-accent-line-height);
  background-color: var(--e-global-color-primary);
  color: var(--e-global-color-text);
  border-radius: 4px;
  padding: 0.75em 1.5em;
  text-transform: uppercase;
  transition: all 0.3s ease;
}

.common-background-2,
.common-background-1 {
  border-radius: 8px !important;
}

/* Section / Group Heading */
.tele-section-heading,
.elementor-widget-heading .section-heading,
.elementor-widget-heading .group-heading {
  font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
  font-size: var(--e-global-typography-secondary-font-size);
  font-weight: var(--e-global-typography-secondary-font-weight);
  line-height: var(--e-global-typography-secondary-line-height);
  color: var(--e-global-color-primary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
}

.tele-icon-item {
  display: flex !important;
}

#wpfront-scroll-top-container img {
  width: 48px !important;
  height: 48px !important;
}

/** tele-layout **/
.tele-layout-grid {
    display: grid;
    gap: 24px;
    max-width: 100%;       /* Giới hạn chiều rộng grid */
    overflow-x: auto;      /* Nếu tràn, thêm scroll nhưng tránh bể layout */
}

/* Desktop: có left, right */
.tele-layout-grid.has-left.has-right {
    grid-template-areas: 
        "left main right"
        "bottom bottom bottom";
    grid-template-columns: 1fr 2fr 1fr;
    grid-template-rows: auto auto;
}

/* Desktop: chỉ left */
.tele-layout-grid.has-left:not(.has-right) {
    grid-template-areas: 
        "left main"
        "bottom bottom";
    grid-template-columns: 1fr 2fr;
    grid-template-rows: auto auto;
}

/* Desktop: chỉ right */
.tele-layout-grid.has-right:not(.has-left) {
    grid-template-areas: 
        "main right"
        "bottom bottom";
    grid-template-columns: 2fr 1fr;
    grid-template-rows: auto auto;
}

/* Desktop: chỉ main */
.tele-layout-grid.only-main {
    grid-template-areas: 
        "main"
        "bottom";
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
}
.tele-layout-left,
.tele-layout-main,
.tele-layout-right,
.tele-layout-bottom {
    min-width: 0;          /* Tránh tràn lề do grid/flex */
    word-break: break-word; /* Nếu nội dung quá dài, xuống dòng */
}

.tele-layout-left   { grid-area: left; }
.tele-layout-main   { grid-area: main; }
.tele-layout-right  { grid-area: right; }
.tele-layout-bottom { grid-area: bottom; }

/* ---------- Grid Columns ---------- */
.tele-cols-1  { 
  grid-template-columns: 1fr !important; 
}
.tele-cols-2 { 
  grid-template-columns: 1fr 1fr !important; 
}
.tele-cols-3 { 
  grid-template-columns: 1fr 1fr 1fr !important; 
}
.tele-cols-4 { 
  grid-template-columns: 1fr 1fr 1fr 1fr !important; 
}
.tele-cols-5 { 
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr !important; 
}
.tele-cols-6 { 
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr !important; 
}
.tele-cols-1-2 { 
  grid-template-columns: 1fr 2fr !important; 
}
.tele-cols-200-1fr { 
  grid-template-columns: 200px 1fr !important; 
}
.tele-cols-1fr-300 { 
  grid-template-columns: 1fr 300px !important; 
}
.tele-cols-auto-fit-min200 { 
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important; 
}
.tele-cols-auto-fill-min180 { 
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important; 
}
.tele-cols-auto-auto { 
  grid-template-columns: auto auto !important; 
}
.tele-cols-auto-1fr  { 
  grid-template-columns: auto 1fr !important; 
}

.tele-cols-percent-10-90 { 
  grid-template-columns: 10% 90% !important; 
}
.tele-cols-percent-15-85 { 
  grid-template-columns: 15% 85% !important; 
}
.tele-cols-percent-20-80 { 
  grid-template-columns: 20% 80% !important; 
}
.tele-cols-percent-25-75 { 
  grid-template-columns: 25% 75% !important; 
}
.tele-cols-percent-30-70 { 
  grid-template-columns: 30% 70% !important; 
}
.tele-cols-percent-35-65 { 
  grid-template-columns: 35% 65% !important; 
}
.tele-cols-percent-40-60 { 
  grid-template-columns: 40% 60% !important; 
}
.tele-cols-percent-45-55 { 
  grid-template-columns: 45% 55% !important; 
}
.tele-cols-percent-80-20 { 
  grid-template-columns: 80% 20% !important; 
}
.tele-cols-percent-75-25 { 
  grid-template-columns: 75% 25% !important; 
}
.tele-cols-percent-70-30 { 
  grid-template-columns: 70% 30% !important; 
}
.tele-cols-percent-65-35 { 
  grid-template-columns: 65% 35% !important; 
}
.tele-cols-percent-60-40 { 
  grid-template-columns: 60% 40% !important; 
}
.tele-cols-percent-55-45 { 
  grid-template-columns: 55% 45% !important; 
}

/* ---------- Grid Rows ---------- */
.tele-rows-1 { 
  display: grid !important; 
  grid-template-rows: 1fr !important; 
}
.tele-rows-2 { 
  display: grid !important; 
  grid-template-rows: 1fr 1fr !important; 
}
.tele-rows-3 { 
  display: grid !important; 
  grid-template-rows: 1fr 1fr 1fr !important; 
}
.tele-rows-4 { 
  display: grid !important; 
  grid-template-rows: 1fr 1fr 1fr 1fr !important; 
}
.tele-rows-repeat2-150 { 
  display: grid !important; 
  grid-template-rows: 1fr 1fr 1fr 1fr 1fr !important; 
}
.tele-rows-header-main-footer { 
  display: grid !important; 
  grid-template-rows: 60px 1fr 60px !important; 
}
.tele-rows-repeat2-150 { 
  display: grid !important; 
  grid-template-rows: repeat(2, 150px) !important; 
}
.tele-rows-auto-1fr { 
  display: grid !important; 
  grid-template-rows: auto 1fr !important; 
}
.tele-rows-auto-1fr { 
  display: grid !important; 
  grid-template-rows: auto 1fr !important; 
}

.tele-rows-percent-10-90 { 
  display: grid !important;
  grid-template-rows: 10% 90% !important; 
}
.tele-rows-percent-15-85 { 
  display: grid !important;
  grid-template-rows: 15% 85% !important; 
}
.tele-rows-percent-20-80 { 
  display: grid !important;
  grid-template-rows: 20% 80% !important; 
}
.tele-rows-percent-25-75 { 
  display: grid !important;
  grid-template-rows: 25% 75% !important; 
}
.tele-rows-percent-30-70 { 
  display: grid !important;
  grid-template-rows: 30% 70% !important; 
}
.tele-rows-percent-35-65 { 
  display: grid !important;
  grid-template-rows: 35% 65% !important; 
}
.tele-rows-percent-40-60 { 
  display: grid !important;
  grid-template-rows: 40% 60% !important; 
}
.tele-rows-percent-45-55 { 
  display: grid !important;
  grid-template-rows: 45% 55% !important; 
}
.tele-rows-percent-90-10 { 
  display: grid !important;
  grid-template-rows: 90% 10% !important; 
}
.tele-rows-percent-85-15 { 
  display: grid !important;
  grid-template-rows: 85% 15% !important; 
}
.tele-rows-percent-80-20 { 
  display: grid !important;
  grid-template-rows: 80% 20% !important; 
}
.tele-rows-percent-75-25 { 
  display: grid !important;
  grid-template-rows: 75% 25% !important; 
}
.tele-rows-percent-70-30 { 
  display: grid !important;
  grid-template-rows: 70% 30% !important; 
}
.tele-rows-percent-65-35 { 
  display: grid !important;
  grid-template-rows: 65% 35% !important; 
}
.tele-rows-percent-60-40 { 
  display: grid !important;
  grid-template-rows: 60% 40% !important; 
}
.tele-rows-percent-55-45 { 
  display: grid !important;
  grid-template-rows: 55% 45% !important; 
}
/* ========== CUSTOM LAYOUT ========== */
/* Breadcrumb styles */
.breadcrumb-wrapper {
  margin: 0;
  font-size: 15px;
  color: var(--e-global-color-secondary);
}
.breadcrumb-wrapper p {
  margin: 0 !important;
}

.breadcrumb-wrapper a {
  color: var(--e-global-color-primary);
  text-decoration: none;
}
.breadcrumb-wrapper span.separator {
  margin: 0 6px;
}
.rank-math-breadcrumb .breadcrumb-item-fake {
    display: none !important;
}
.rank-math-breadcrumb .separator:last-of-type {
    display: none!important;
}

.wpcu_block_title {
  font-family: "Roboto", Sans-serif !important;
  line-height: 2.5rem !important;
  background: var(--e-global-color-primary);
  color: var(--e-global-color-white) !important;
  padding: 0.4rem 1rem !important;
  font-size: 0.85rem !important;
  border-radius: 4px !important;
  font-weight: 600 !important;
}

/* Swiper + Slide */

.tele-main-slide .swiper-slide,
.tele-main-slide .loop-item-background {
  min-height: 30vh !important;
}

/* Overlay popup styles */
.tele-map-popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.6);
  z-index: 9999;
  display: none;
  justify-content: center;
  align-items: center;
}

.tele-map-popup {
  display: flex;
  flex-direction: column;
  position: relative;
  background: var(--e-global-color-white);
  max-width: 90%;
  width: 1000px;
  height: 60vh;
  border-radius: 8px;
  box-shadow: 0 0 20px rgba(0,0,0,0.3);
  overflow: hidden;
  margin: auto;
}
.tele-map-frame-container {
  height: 100%;
}
.tele-map-popup iframe {
  flex: 1;
  border: 0;
  width: 100%;
  height: 100%;
}

.tele-map-popup-close {
  position: absolute;
  top: 0px;
  right: 0px;
  /* background: var(--e-global-color-5aaeb7c); */
  color: #000;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  line-height: 28px;
  text-align: center;
  font-size: 20px;
  cursor: pointer;
  box-shadow: 0 0 8px rgba(0,0,0,0.2);
  z-index: 10000;
}

.tele-map-popup-close:hover {
  background: var(--e-global-color-primary);
  color: var(--e-global-color-white);
  border-color: var(--e-global-color-primary);
}


.tele-footer-wrap .tele-map-toggle {
  cursor: pointer;
}

/* Các container con tự động giãn đều và chia đều width */
/* .tele-auto-balance-row {
    display: flex !important;
}
.tele-auto-balance-row > .tele-hide-if-blank {
    flex: 1 1 0 !important;
    min-width: 0;
}

.tele-auto-balance-row > .tele-hide-if-blank[style*="display: none"],
.tele-auto-balance-row > .tele-hide-if-blank[style*="display:none"] {
    display: none !important;
    flex: 0 0 0 !important;
} */
  
/* Section wrapper */
.tele-section-boxed {
  max-width: 100%;
  padding-left: 8px;
  padding-right: 8px;
  margin: 0 auto;
}


.tele-section-items--full-width,
.tele-gallery-items--full-width,
.tele-section-full-width {
  width: 100% !important; 
  margin: 0 auto;
}

.tele-post-content-wrap {
  padding-bottom: 1rem; 
}

.tele-section {  
  padding-left: 1rem; 
  padding-right: 1rem;
}

.top-slider-wrap {  
  padding-top: 0px !important;
}

.top-slider-wrap .tele-section-inner {  
  gap: 0 !important; 
}

.top-slider-wrap .tele-section {
  max-width: unset !important;
  padding-left: 0px !important; 
  padding-right: 0px !important;
}

.tele-section:not(:first-child) {  
  padding-top: 3rem; 
}
/* ===== Base flex layout ===== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* ===== Base Layout Wrapper ===== */
.tele-layout {
  display: flex;
  flex-direction: column;
  /* gap: 24px; */
}

/* Mỗi row là grid tối đa 4 cột */
.tele-layout-row {
     display: grid;
    /* Số column tự động theo dữ liệu/cột con */
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.tele-layout-row > div:has(.swiper) {
    overflow: visible;
    width: 100%;
    min-width: 0;
}
/* 
.tele-layout-section .tele-layout-row:not(:last-child) {
    margin-bottom: 3rem;
} */
.tele-layout-section > .tele-layout-row:not(:last-child) {
    margin-bottom: 2rem;
} 
.tele-layout-row {
    gap: 1rem;
}
.tele-layout-section > .tele-layout-row {
    column-gap: 1.5rem;
    row-gap: 1.5rem;
}

.tele-layout-child .tele-layout-row {
    margin-bottom: 5px;
}

.tele-gallery-small .tele-layout-gallery .tele-layout-row {
  gap: 0.5rem;
}
.tele-layout-gallery .tele-layout-row {
    margin-bottom: 5px;
}

.tele-justify-items-left {
  justify-items: left;
}
.tele-justify-items-center {
  justify-items: center;
}
.tele-align-items-left {
  align-items: center;
}
.tele-align-items-center {
  align-items: center;
}

.tele-section-items,
.tele-gallery-items {
  width: 100%;
}
.tele-section-items .tele-gallery-items {
  padding-top: 10px;
}

.tele-button-more-detail .elementor-button {
  background: white !important;
  border: 2px solid var(--e-global-color-accent) !important;
  color: var(--e-global-color-accent) !important;
}

.tele-button-more-detail .elementor-button .elementor-button-icon {
  fill: var(--e-global-color-accent) !important;
}


.tele-button-more-detail2 .elementor-button {
  background: none !important;
  border: none !important;
  color: var(--e-global-color-primary) !important;
}

.tele-button-more-detail2 .elementor-button .elementor-button-icon {
  fill: var(--e-global-color-primary) !important;
}

.tele-gallery-items-align-center .tele-gallery-item .item-layout {
  align-items: center;
}

.tele-section-items {
  gap: 3rem;
}

.tele-section-item-wrap {
  gap: 3rem;
}

.tele-gallery-items {
  column-gap: 1rem;
  row-gap: 1rem;
}

.tele-section-item-top2 {
  padding-top: 2rem;
}
.tele-gallery-item .item-layout {
  gap: 10px;
}


.tele-gallery-small .tele-gallery-items {
  gap: 1rem;
}

.tele-gallery-small .tele-image-box-img img {
  width: 48px;
  height: 48px;
  display: block;
  margin: auto; /* căn giữa nếu cần */
}

.tablepress {
  overflow-x: auto;
  display: block;
  width: 100%;
}

.tele-shortcode-tablepress .tablepress {
  padding-bottom: 0px;
  margin-bottom: 0px;
  border: 2px solid var(--e-global-color-accent2);
  border-collapse: collapse;
}

/* Border cho từng ô */
.tele-shortcode-tablepress .tablepress th,
.tele-shortcode-tablepress .tablepress td {
    border: 1px solid var(--e-global-color-accent2);
}
/* Đổi font cho header TablePress (thẻ th trong thead) của tất cả bảng */

.tablepress thead th {
  text-align: center;
  vertical-align: middle;
  color: #222; 
  font-family: 'Roboto', Arial, sans-serif !important;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
  padding: 10px 8px;
}

.table-price-home .tablepress th.column-3 {
  width: 210px !important;
}
.table-price-home .tablepress th.column-6,
.table-price-home .tablepress th.column-7,
.table-price-home .tablepress th.column-8 {
  width: 120px !important;
}
.table-price-home .tablepress th.column-1,
.table-price-home .tablepress th.column-2,
.table-price-home .tablepress th.column-3,
.table-price-home .tablepress th.column-4,
.table-price-home .tablepress th.column-5 {
  background: var(--e-global-color-accent) !important; /* màu xanh dương ví dụ */
}

.table-price-home .tablepress th.column-6,
.table-price-home .tablepress th.column-7,
.table-price-home .tablepress th.column-8,
.table-price-home .tablepress th.column-9,
.table-price-home .tablepress th.column-10,
.table-price-home .tablepress th.column-11,
.table-price-home .tablepress th.column-12,
.table-price-home .tablepress th.column-13,
.table-price-home .tablepress th.column-14,
.table-price-home .tablepress th.column-15,
.table-price-home .tablepress th.column-16,
.table-price-home .tablepress th.column-17,
.table-price-home .tablepress th.column-18,
.table-price-home .tablepress th.column-19  {
  background-color: #E5FFCE !important; /* màu xanh dương ví dụ */
}

/* ===== Định dạng danh sách trong cột ===== */
.tele-grid-columns-3-7 .tele-layout-row {
  grid-template-columns: 3fr 7fr !important;
  gap: 1rem !important;
}
.tele-grid-columns-2-8 .tele-layout-row {
  grid-template-columns: 2fr 8fr !important;
  gap: 1rem !important;
}
.tele-grid-columns-25-75 .tele-layout-row {
  grid-template-columns: 2.5fr 7.5fr !important;
  gap: 1rem !important;
}
.tele-grid-gap-0 .tele-layout-row {
  gap: 0 !important;
}

.tele-grid-column-gap-2rem {
  column-gap: 2rem !important;
}

.tele-grid-column-gap-3rem {
  column-gap: 3rem !important;
}

.tele-layout-col {
  position: relative;
}
/* .tele-layout-col {
  position: relative;  
  display: flex;
  flex-direction: column;
  gap: 1rem;
} */
/* 
.tele-layout-col .tele-desc-wrap {
  padding-top: 1rem;
} */

/* .tele-desc-wrap,
.tele-title-wrap {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
} */

/* .tele-layout-col ul li:not(:last-child) {
  margin-bottom: 10px;
} */

.tele-image-box-wrapper img { 
  border: none;
  /* border-radius: 8px; */
  box-shadow: none;
  height: auto;
  max-width: 100%;
}


.image-center .tele-image-box-wrapper {
  text-align: center;
  margin-left: auto;
  margin-right: auto;  
}

.align-left {
  text-align: left;
  margin-left: 0;
  margin-right: auto;
}

.align-center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.align-right {
  text-align: right;
  margin-left: auto;
  margin-right: 0;
}

.tele-highlight-post-wrap .tele-section-inner{
  gap: 0.1rem
}

.section-right-sidebar-content-map.section-highlight-post-group {
  padding-top: 0rem;
  gap: 0rem;
}

.section-right-sidebar-content-map.section-highlight-post-group .tele-title,
.section-right-sidebar-content-map.section-highlight-post-group .tele-title .elementor-heading-title,
.tele-highlight-post-wrap .tele-title {
    font-family: "Roboto", Sans-serif !important;
    font-size: 1.2rem !important;
    font-weight: 600 !important;
}

.loop-item-background {
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
}
/* Wrapper của form Đặt lịch tư vấn */
.gform_validation_errors {
  display: none !important;
}


.gfield_validation_message {
  color:#b16655 !important;
  font-size: 13px !important;
}
.form-consultant-home_wrapper .form-consultant-home { 
    max-width: 600px !important;
    background-image: url('../image/form_background.webp') !important;
    background-position: right 20px bottom 70px;
    background-size: 200px 200px;
    background-repeat: no-repeat;
    /* background: var(--e-global-color-white) !important; */
    border-radius: 16px !important;
    box-shadow: 0 4px 32px rgba(0,0,0,0.07) !important;
    padding: 32px 32px 24px 32px !important;
    position: relative !important;
}

/* Title */
.form-consultant-home_wrapper .form-consultant-home .gsection_title {
    font-size: 1.6rem !important;
    font-weight: 700 !important;
    margin-bottom: 0.2em !important;
    color: #222 !important;
}
.form-consultant-home_wrapper .form-consultant-home .gsection_description {
    font-size: 1rem !important;
    color: #444 !important;
    margin-bottom: 1.5em !important;
}

/* Fields group */
.form-consultant-home_wrapper .form-consultant-home .gform_fields {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

/* Label */
.form-consultant-home_wrapper .form-consultant-home .gfield_label {
    font-size: 1rem !important;
    font-weight: 600 !important;
    margin-bottom: 0.5em !important;
    color: #222 !important;
    display: block !important;
}

/* Input, Select, Textarea */
.form-consultant-home_wrapper .form-consultant-home input[type="text"],
.form-consultant-home_wrapper .form-consultant-home input[type="tel"],
.form-consultant-home_wrapper .form-consultant-home input[type="email"],
.form-consultant-home_wrapper .form-consultant-home textarea {
    width: 100% !important;
    border: 1.5px solid #d0d5dd !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    padding: 14px 18px !important;
    background: var(--e-global-color-background) !important;
    color: var(--e-global-color-text) !important;
    outline: none !important;
    transition: border 0.2s !important;
    margin-bottom: 0.2em !important;
}


.form-consultant-home_wrapper .form-consultant-home input[type="file"]:focus,
.form-consultant-home_wrapper .form-consultant-home input[type="text"]:focus,
.form-consultant-home_wrapper .form-consultant-home input[type="tel"]:focus,
.form-consultant-home_wrapper .form-consultant-home input[type="email"]:focus,
.form-consultant-home_wrapper .form-consultant-home textarea:focus {
    border-color: var(--e-global-color-primary) !important;
    background: var(--e-global-color-white) !important;
}

.form-consultant-home_wrapper .form-consultant-home input[type="file"] {
    border-radius: 8px !important;
    /* padding: 8px 12px !important; */
    font-size: 1rem !important;
    width: 100% !important;
    background: var(--e-global-color-background) !important;
    border: 1.5px solid var(--e-global-color-border) !important;
    /* Tùy chỉnh cao hơn nếu cần */
}

.form-consultant-home_wrapper .form-consultant-home select,
.form-consultant-home_wrapper .form-consultant-home select option {
    background: var(--e-global-color-background) !important;
    color: var(--e-global-color-text) !important;
    font-size: 1rem !important;
}

.form-consultant-home_wrapper .form-consultant-home select {
    width: 100% !important;
    border: 1.5px solid var(--e-global-color-border) !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    background: var(--e-global-color-background) !important;
    color: var(--e-global-color-text) !important;
    outline: none !important;
    transition: border 0.2s !important;
    margin-bottom: 0.2em !important;
    cursor: pointer !important;
    background: var(--e-global-color-background) url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 10L12 14L16 10" stroke="%23185db3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat right 1em center/1.5em !important;
}

.form-consultant-home_wrapper .form-consultant-home select:focus {
    border-color: var(--e-global-color-primary) !important;
    outline: none !important;
}

/* Textarea */
.form-consultant-home_wrapper .form-consultant-home textarea {
    min-height: 50px !important;
    height: 110px;
    max-height: 120px;  
    border-radius: 8px !important;
    resize: vertical !important;
}


/* Button submit */
.form-consultant-home_wrapper .form-consultant-home .gform_footer .gform_button {
    display: block !important;
    width: 100% !important;
    background: var(--e-global-color-primary) !important;
    color: var(--e-global-color-white) !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 16px 0 !important;
    margin-top: 24px !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}
#gravity-spinner-overlay {
  /* display: none; */
  position: absolute !important;
  top: 0; left: 0 !important;
  width: 100%; height: 100% !important;
  background: rgba(255,255,255,0.5) !important;
  z-index: 1000 !important;
  align-items: center !important;
  justify-content: center !important;
}

.gravity-spinner-icon {
  color: var(--e-global-color-primary);
  font-weight: 700;
  font-size: 2em;
}

.fa-spinner, .fas.fa-spinner {
  display: inline-block !important;
  visibility: visible !important;
  color: var(--e-global-color-primary) !important;
  font-size: 32px !important;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  font-style: normal !important;
  text-rendering: auto !important;
}

.fa-spin {
  animation: fa-spin 2s infinite linear !important;
}
.spinner-path {
  stroke-dasharray: 90, 150;
  stroke-dashoffset: 0;
}

.form-consultant-home_wrapper .form-consultant-home .gform_footer .gform_button:hover {
    background: #114a96;
}

/* Hide default validation message for empty */
.form-consultant-home_wrapper .form-consultant-home .validation_message--hidden-on-empty {
    display: none;
}

.recaptcha-error-message {
  color: #d00000 !important;
  font-size: 0.95em !important;
  margin-top: 8px !important;
  margin-bottom: 4px !important;  
}



/* Style cho mũi tên ngoài (outside) */
/* .teno-swiper-button1 .elementor-swiper-button {
  color: var(--e-global-color-accent) !important;
  fill: var(--e-global-color-accent) !important;
  font-size: 2.5rem;
}

.teno-swiper-button1 .elementor-swiper-button svg {
  color: var(--e-global-color-accent) !important;
  fill: var(--e-global-color-accent) !important;
} */

/* Reset style cho các slide khác */
.swiper-slide {
  transition: all 0.5s;
}

.slider-paging-dot-in-image .swiper-pagination {
  position: absolute !important;
  top: 90% !important;
  z-index: 10 !important;
  text-align: center !important;
}

/* Đoạn bên dưới giúp dot rõ và đẹp hơn */
.slider-paging-dot-in-image .swiper-pagination-bullet {
  background: #fff !important;           /* Dot màu trắng nổi bật */
  opacity: 1 !important;                 /* Luôn max opacity */
  width: 12px !important;
  height: 12px !important;
  margin: 0 6px !important;
  border: 1px solid var(--e-global-color-accent);                /* Thêm viền đen cho rõ trên hình sáng */
  box-shadow: 0 0 4px rgba(0,0,0,0.25); 
  transition: background 0.3s, border 0.3s;
}

.slider-paging-dot-in-image .swiper-pagination-bullet-active {
  background: var(--e-global-color-accent) !important; /* Màu xanh dương khi chọn */
  border: 2px solid var(--e-global-color-primary) !important;
  box-shadow: 0 0 0 4px rgba(30,136,229,0.15);
}

/*** Style cho event date month */
.tele-event-item-wrap {
  background-color: #F5F5F5;
}

.tele-event-item-wrap.tele-event-upcoming,
.tele-event-item-wrap.tele-event-ongoing {
  background-color: var(--e-global-color-background-accent) !important;
}
/* 
.tele-event-upcoming .tele-event-datemonth-wrap::after {
    background: #312f2f !important;
} */

.tele-event-item-wrap.tele-event-canceled {
  background-color: #d5d8dc !important;
}

.tele-event-finished .tele-event-datemonth-wrap {
    position: relative;
}

.tele-event-datemonth-wrap::after {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.1); /* Đen mờ, chỉnh độ mờ tại đây */
    border-radius: inherit;
    pointer-events: none;          /* Để không cản click */
    z-index: 2;
}

.tele-event-canceled .tele-event-datemonth-wrap::after {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.2); /* Đen mờ, chỉnh độ mờ tại đây */
    border-radius: inherit;
    pointer-events: none;          /* Để không cản click */
    z-index: 2;
}

.event-datemonth {
    display: inline-block;
    text-align: center;
}

.event-datemonth .event-day,
.event-datemonth .event-month,
.event-datemonth .event-year {
    display: block;
}

.event-datemonth .event-day {
    color: var(--e-global-color-primary);
    font-size: 60px;
    font-weight: 700;
    line-height: 60px;
    margin-bottom: 4px;
}

.event-datemonth .event-month {
    font-size: 20px;
    color: var(--e-global-color-text);
    margin-bottom: 10px;
}

.event-datemonth .event-year {
    font-size: 16px;
    color: var(--e-global-color-text-muted);
}

/*** Elementor Search Widget ***/
/* Bo góc, nền xám nhạt cho search box */
.e-search-form {
  /* background: #f6f6f6 !important; */
  border-radius: 22px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.e-search-input-wrapper {
   position: relative !important;
  display: flex !important;
  align-items: center !important;
  /* background: #f6f6f6 !important; */
  border-radius: 22px !important;
  padding: 6px 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Input search */
.e-search-input {
  border: none !important;
  outline: none !important;
  font-size: 18px !important;
  background-color: #efefef !important;
  color: #666 !important;
  flex: 1 !important;
  padding: 4px 10 4px 10px !important;
  border-radius: 22px !important;
}

/* Placeholder màu xám */
.e-search-input::placeholder {
  padding-left: 5px !important;
  color: #666 !important;
  opacity: 1 !important;
  font-size: 18px !important;
  font-weight: 400 !important;
}

/* Nút search: bo tròn, không nền, icon kính lúp sát phải */

/* Nút search nằm absolute trong input-wrapper, sát phải */
.e-search-submit {
  position: absolute !important;
  top: 50% !important;
  right: 20px !important; /* Căn chỉnh cho đẹp */
  transform: translateY(-50%) !important;
  border: none !important;
  background-color: transparent !important;
  background: transparent !important;
  border-radius: 50% !important;
  width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  color: #666 !important;
  z-index: 2 !important;
  padding: 0 !important;
}

.e-search-submit svg {
  width: 22px !important;
  height: 22px !important;
  stroke: #666 !important;
}

.e-search-submit:hover {
  /* background: #ededed !important; */
}

/* Ẩn nút clear nếu không cần */
.e-search-input-wrapper .e-fas-times {
  display: none !important;
}

/*** Sticky Icon List ***/
.tele-sticky-icons {
  position: fixed;
  z-index: 9999;
  width: auto;         /* Đừng để width: 100% */
  background: none;    /* Không cần màu nền cho block */
  pointer-events: auto;
}

.tele-sticky-icons .tele-widget-container {
  width: auto;
  padding: 0;
  margin: 0;
}

/* Sticky vị trí phải */
.tele-sticky-icons--right {
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}
/* Sticky vị trí trái */
.tele-sticky-icons--left {
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
}
/* Sticky vị trí dưới */
.tele-sticky-icons--bottom {
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
}
/* Sticky vị trí trên */
.tele-sticky-icons--top {
  left: 50%;
  top: 20px;
  transform: translateX(-50%);
}

/* Layout dọc */

.tele-icons-items-vertical .elementor-icon-list-items,
.tele-sticky-icons--vertical .tele-icon-list-items {
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: flex-start;
}

/* Layout ngang */
.tele-company-info-list .elementor-icon-list-items {
  display: flex;
  flex-direction: column;
  /* gap: 10px; */
  align-items: flex-start;
}
.tele-icons-items-horizontal .elementor-icon-list-items,
.tele-sticky-icons--horizontal .tele-icon-list-items {
  display: flex;
  flex-direction: row;
  gap: 15px;
  align-items: center;
  justify-content: center;
}

/* Size icon */
.tele-sticky-icons .tele-icon-list-icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--e-global-color-background);
  box-shadow: 0 2px 8px #ccc;
  transition: box-shadow 0.2s, background 0.2s;
}

.tele-sticky-icons .tele-icon-list-icon svg {
  width: 28px;
  height: 28px;
  fill: var(--e-global-color-accent);
}

.tele-icon-list-icon-zalo svg rect {
  fill: var(--e-global-color-accent);
}

.tele-sticky-icons .tele-icon-list-icon:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.18);
  background: var(--e-global-color-background-hover);
}

/* tele Image */
.tele-image-display-banner {
  width: 100%;
  max-height: 600px; /* Chiều cao tối đa banner */
  overflow: hidden;
  position: relative;
}

.tele-image-display-banner img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important; /* Giữ tỉ lệ hình, cắt nếu cần */
  display: block !important;
  border-radius: unset !important;
}

/** Zigzag Grid **/
/* Container grid 2 cột */
.tele-gallery-zigzag {
  display: grid !important;
  grid-template-columns: 1fr !important;
  /* gap: 40px 0 !important; */
}

/* Style cho title */
.tele-dancing-title .tele-title {
  font-family: 'Alex Brush', cursive !important;
  color: var(--e-global-color-text-dancing) !important;
  font-size: 3.5rem !important;
  letter-spacing: 8px !important;
  margin-bottom: 16px !important;
}
 

/** Style cho items style zigzag **/
/* Item lẻ - màu xanh nhạt */
.tele-items-zigzag1 .tele-layout-child {
  padding: 2rem !important;
  border-radius: 4px;
}
.tele-items-zigzag1 .tele-layout-child:nth-child(odd) {
    background-color: #f0f8ff; /* Alice Blue */
}

/* Item chẵn - màu hồng nhạt */
.tele-items-zigzag1 .tele-layout-child:nth-child(even) {
    background-color: #fff5f7; /* Lavender Blush */
}

/* Hoặc gradient nhẹ */
.tele-items-zigzag1 .tele-layout-child:nth-child(odd) {
    background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
}

.tele-items-zigzag1 .tele-layout-child:nth-child(even) {
    background: linear-gradient(135deg, #fdfbfb 0%, #ebedee 100%);
}

/** Style cho tele-gallery-accordion **/
/* Khung tổng thể nhẹ nhàng */
.tele-gallery-accordion .accordion-item {
    border: none;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(40,40,40, 0.08);
    margin-bottom: 16px;
    background: #fff;
}

/* Nút accordion (header) bo tròn trên, tối màu hơn */
.tele-gallery-accordion .accordion-button {
    font-size: 1rem;
    font-weight: 600;
    background: var(--e-global-color-background-accent);
    color: var(--e-global-color-text);
    border: none;
    border-radius: 10px 10px 0 0;
    box-shadow: none;
    transition: background 0.2s, color 0.2s;
    padding: 14px 20px;
    position: relative;
}

/* Khi active đổi màu nền và chữ - sang trọng nhẹ nhàng */
.tele-gallery-accordion .accordion-button:not(.collapsed) {
    background: var(--e-global-color-primary);
    color: var(--e-global-color-text);
    box-shadow: none;
}

/* Ẩn icon mặc định của Bootstrap (nếu có) */
.tele-gallery-accordion .accordion-button::after {
    display: none;
}

/* Thêm icon SVG custom nhỏ gọn (chevron) bên phải */
.tele-gallery-accordion .accordion-button {
    padding-right: 38px;
}
.tele-gallery-accordion .accordion-button::before {
    content: '';
    display: block;
    width: 18px;
    height: 18px;
    position: absolute;
    right: 16px;
    top: 50%;
    background: url('data:image/svg+xml;utf8,<svg fill="none" stroke="%23312F82" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"/></svg>') no-repeat center center / contain;
    transform: translateY(-50%) rotate(0deg);
    transition: transform 0.2s;
}
.tele-gallery-accordion .accordion-button:not(.collapsed)::before {
    transform: translateY(-50%) rotate(180deg);
}

/* Accordion body sang trọng, bo tròn dưới */
.tele-gallery-accordion .accordion-body {
    background: #fff;
    padding: 20px 24px 22px 24px;
    border-radius: 0 0 10px 10px;
    border-top: 1px solid #f3f3f6;
}

/* Optional: hover highlight header */
.tele-gallery-accordion .accordion-button:hover {
    background: var(--e-global-color-primary);
    color: #2741a6;
}

/* Optional: khi accordion disabled */
.tele-gallery-accordion .accordion-button:disabled {
    background: #f5f5f5;
    color: #aaa;
    cursor: not-allowed;
}
/* Hiệu ứng trượt mượt khi mở/đóng accordion */
.tele-gallery-accordion .accordion-collapse {
    transition: height 0.35s cubic-bezier(0.4,0,0.2,1), 
                opacity 0.36s cubic-bezier(0.39, 0.575, 0.565, 1);
    overflow: hidden;
}
.tele-gallery-accordion .accordion-collapse.collapsing {
    opacity: 0.5;
}
.tele-gallery-accordion .accordion-collapse.show {
    opacity: 1;
}
.tele-gallery-accordion .accordion-body {
    animation: fadeInUpAccordion 0.36s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.tele-gallery-accordion .accordion-button:not(.collapsed)::before {
    filter: drop-shadow(0 2px 2px #eaeaf6);
    transition: transform 0.2s, filter 0.24s;
}

/* Keyframes hiệu ứng mờ và slide lên */
@keyframes fadeInUpAccordion {
    0% {
        opacity: 0;
        transform: translateY(16px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/** Style cho gallery style 1 **/
.tele-gallery-style1 .tele-layout {
    overflow: hidden; /* Cắt phần thừa */
}

.tele-gallery-style1 {
  column-gap: 2rem !important;
}

.tele-gallery-style1 .tele-image-box-wrapper {
    margin: 0 0 0 -3px; /* Đẩy image vượt border 1px */
    overflow: hidden;
}

.tele-gallery-style1 .tele-image-box-img img {
    display: block;
    width: 100%;
    border-radius: 8px 8px 0 0 !important;
}

.tele-gallery-style1 .tele-desc-wrap,
.tele-gallery-style1 .tele-title-wrap {
  padding: 1em 1.5em 1em 1.5em !important;
}

.tele-gallery-style1 .tele-gallery-items .tele-desc-wrap,
.tele-gallery-style1 .tele-gallery-items .tele-title-wrap {    
  margin: 0 1em 1em 1em !important;
}

.tele-gallery-style1 .tele-title {    
  display: inline-block !important;
  padding: 0.3em 1.2em !important;
  background: var(--e-global-color-primary) !important;
  color: #fff !important;
  border-radius: 8px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  text-align: center !important;
}

.tele-gallery-style1 .tele-layout {
  border-radius: 8px !important;
  margin: 0 auto;
  border-color: #cee3ff !important;
  border-style: solid !important;
  border-width: 1px !important;
}

/** Style cho gallery style 2 **/
.tele-gallery-style2.tele-gallery-items {
  column-gap: 2rem !important;
  row-gap: 2rem !important;
}

.tele-gallery-style2 .tele-desc-wrap,
.tele-gallery-style2 .tele-title-wrap {
  padding: 3px !important;
  text-align: center !important;
  background-color: var(--e-global-color-primary) !important;
}
.tele-gallery-style2 .tele-title-wrap .tele-title {
  color: #ffff !important;
}

.tele-gallery-style2 .tele-image-box-wrapper img {
    border-radius: 30px 30px 0 0 !important;
}

/** Style cho gallery style 3 **/
/* Title + desc vào vùng overlay */

.tele-gallery-style3 .tele-desc-wrap,
.tele-gallery-style3 .tele-title-wrap {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  box-sizing: border-box !important;
  padding: 26px 18px 18px 18px !important;
  text-align: center !important;
}

.tele-gallery-style3 .tele-title-wrap {
  top: 12% !important;
}

.tele-gallery-style3 .tele-desc-wrap {
  top: 28% !important;
}

.tele-gallery-style3 .tele-title {
  color: var(--e-global-color-primary) !important;
  font-weight: 600 !important;
}

/** Style cho gallery style 4 **/
/* Toàn bộ hàng ngang */
.tele-gallery-style4 .tele-cols-1-2 {
  display: grid !important;
  grid-template-columns: 80px 1fr !important;
  align-items: center !important;
  background: var(--e-global-background-color-group) !important;
  border-radius: 14px !important;
  padding: 10px 24px 10px 10px !important;
  margin-bottom: 16px !important;
  box-shadow: 0 0 3px #eaf3f8 !important;
  min-height: 80px !important;
}

/* Cột hình tròn bên trái */
.tele-gallery-style4 .tele-layout-col-1 .tele-image-box-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  width: 64px !important;
  height: 64px !important;
  box-shadow: 0 1px 4px #dceded42 !important;
  position: relative !important;
  margin-left: 6px !important;
  margin-right: 12px !important;
}
.tele-gallery-style4 .tele-layout-col-1 .tele-image-box-img {
  width: 56px !important;
  height: 56px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.tele-gallery-style4 .tele-layout-col-1 .tele-image-box-img img {
  width: 48px !important;
  height: 48px !important;
  object-fit: contain !important;
  display: block !important;
}

/* Thêm vòng xanh lá */
.tele-gallery-style4 .tele-layout-col-1 .tele-image-box-wrapper::before {
  content:"";
  position: absolute;
  inset: 0;
  border: 6px solid #87cb1e;
  border-radius: 50%;
  pointer-events: none;
  box-sizing: border-box;
}

/* Vùng title + desc */
.tele-gallery-style4 .tele-layout-col-2 .tele-desc-wrap,
.tele-gallery-style4 .tele-layout-col-2 .tele-title-wrap {
  background: transparent;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
  position: static;
}

.tele-gallery-style4 .tele-desc-wrap h3.tele-title,
.tele-gallery-style4 .tele-title-wrap h3.tele-title {
  color: var(--e-global-color-primary) !important;
  font-weight: 600 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline !important;
}

/* In đậm chữ đầu của desc */
.tele-gallery-style4 .tele-desc {
  color: var(--e-global-color-primary) !important;
  margin: 2px 0 0 0 !important;
  padding: 0 !important;
  font-weight: 400 !important;
}


/** Style cho gallery style 5 **/
.tele-gallery-style5 .tele-title {
  font-size: var(--e-global-typography-h1-font-size) !important;
  color: var(--e-global-color-accent) !important;
  margin: 0 !important;
}

.tele-gallery-style5 .tele-desc,
.tele-gallery-style5 .tele-desc p {
  font-weight: 600 !important;
  font-size: 15px !important;
  margin: 0 !important;
}

.tele-gallery-style5 .tele-layout-gallery {
    background-color: var(--e-global-color-background) !important;
    border-radius: 30px !important;
}
.tele-gallery-style5 .tele-layout-gallery .tele-layout-row {
  padding: 10px !important;
}

/** Style cho gallery style 4 **/
.tele-child-title-style1 .tele-title-wrap-child .tele-title-wrap {
  background: var(--e-global-color-primary) !important;
  border-radius: 0 !important;
  padding: 14px 0 14px 0 !important;
  text-align: center !important;
}

.tele-child-title-style1 .tele-title-wrap-child .tele-title-wrap > .tele-title {
  color: #fff !important;
  font-size: var(--e-global-typography-h3-font-size) !important;
  font-weight: bold !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  font-family: inherit !important;
  letter-spacing: 1px !important;
}

/* Nút Scroll to Top: start */
.scroll-to-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    background-color: var(--e-global-color-primary);
    color: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
    z-index: 1000;
    font-size: 20px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
    
    /* Thêm 3 dòng này để canh giữa icon */
    display: flex;
    align-items: center;
    justify-content: center;
}

.scroll-to-top:hover {
    background-color: var(--e-global-color-primary-dark);
    transform: scale(1.1);
}

.scroll-to-top.show {
    opacity: 1;
    visibility: visible;
}
/* Nút Scroll to Top: end */

/** language switcher **/
/* Tạo thanh ngang cho switcher */
.tele-lang-switcher {
  display: flex;
  gap: 10px;        /* Khoảng cách giữa các cờ */
  list-style: none; /* Xoá dấu chấm UL nếu dùng UL */
  padding: 0 0 0 15px;
  margin: 0;
  align-items: center;
}

/* Style chung cho từng ngôn ngữ */
.tele-lang-switcher .lang-item {
  display: flex;
  align-items: center;
  padding: 3px 6px;
  border-radius: 6px;
  transition: background 0.2s, box-shadow 0.2s;
}

/* Làm nổi màu active (current-lang) */
.tele-lang-switcher .current-lang {
  background: #f2c740;                   /* màu vàng nổi bật */
  box-shadow: 0 2px 8px 0 #f2c74044;
  font-weight: bold;
}

/* Hover cho item chưa active */
.tele-lang-switcher .lang-item:not(.current-lang):hover {
  background: #ededed;
  cursor: pointer;
}

/* Bỏ viền, tối ưu icon flag */
.tele-lang-switcher img {
  margin: 0 !important;
  display: block;
  box-shadow: 0 1px 4px #bbb3;
  border-radius: 2px;
}

/* Option: cỡ cờ đồng nhất */
.tele-lang-switcher img {
  width: 18px !important;
  height: 12px !important;
}

/* Responsive: stack dọc trên mobile */
@media (max-width: 600px) {
  .tele-gallery-style4 .tele-cols-1-2 {
    grid-template-columns: 56px 1fr !important;
    padding: 8px 14px 8px 6px;
    min-height: 64px;
  }
  .tele-gallery-style4 .tele-layout-col-1 .tele-image-box-wrapper {
    width: 48px !important;
    height: 48px !important;
  }
  .tele-gallery-style4 .tele-layout-col-1 .tele-image-box-img { width: 38px; height: 38px; }
  .tele-gallery-style4 .tele-layout-col-1 .tele-image-box-img img { width: 32px; height: 32px; }
  .tele-gallery-style4 .tele-title-wrap h3.tele-title { font-size: 16px;}
  .tele-gallery-style4 .tele-desc { font-size: 14px; }
}

/** Style cho child style 1 **/

.tele-section-item-style1 .tele-layout-row .tele-layout-col {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.tele-section-item-style1 .tele-layout-row .tele-layout-col {
  display: flex;
  flex-direction: column;
  background: #eafbff;
  border-radius: 0 18px 18px 0;
  position: relative;
  margin: 18px 0;
  overflow: hidden;
  box-shadow: 0 0 3px #eaf3f8;
  padding-left: 0; /* sẽ dành chỗ cho stripe xanh lá */
}

/* Stripe xanh lá bên trái */
.tele-section-item-style1 .tele-layout-row .tele-layout-col::before {
  content: "";
  display: block;
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 12px;
  background: #87cb1e;
  border-radius: 0 0 0 18px;
}

/* Title wrapper nền xanh bo góc */
.tele-section-item-style1 .tele-layout-row .tele-layout-col .tele-title-wrap {
  background: var(--e-global-color-primary);
  border-radius: 0 15px 0 0;
  padding: 5px 20px 5px 20px;
}

.tele-section-item-style1 .tele-title {
  color: #fff !important;
  margin: 0 !important;
  font-weight: 600 !important;
}

/* Phần mô tả */
.tele-section-item-style1 .tele-desc {
  padding: 12px 20px 14px 24px;
  color: var(--e-global-color-primary) !important;
  background: #eafbff !important;
  border-radius: 0 0 18px 0 !important;
}

/* Bỏ margin của p trong tele-desc */
.tele-section-item-style1 .tele-desc p {
  margin: 0 !important;
}

.tele-gallery-zigzag .tele-layout-gallery:nth-child(even) .tele-layout-col-1,
.tele-gallery-zigzag .tele-layout-gallery:nth-child(odd) .tele-layout-col-1 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Ảnh full width */
.tele-gallery-zigzag .tele-image-box-img img {
  height: auto !important;
  display: block !important;
  border-radius: 12px; /* Bo góc nhẹ nếu muốn */
}

.tele-gallery-zigzag .tele-desc {
  font-size: 1.1rem !important;
  margin-top: 8px !important;
}

.tele-gallery-zigzag .tele-layout-gallery:nth-child(odd) .tele-layout-col-1 figure  {
  display: flex !important;
  justify-content: center !important;
}

/** Page Introduction - Team Section **/
/* .tele-section-introduce-care .tele-layout-row-2 {  
  background-color: var(--e-global-color-background) !important;
  padding-bottom: 20px;
} */

.tele-section-introduce-care .tele-layout-row .tele-layout-col-2 {
  align-items: center !important;
  display: flex !important;
  flex-direction: column !important;
}

.tele-section-team {
  background-color: var(--e-global-color-background) !important;
  padding: 2rem;
  gap: 1rem !important;
}
.tele-section-team .tele-section-team-row1 .tele-layout-col-2 {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
.tele-section-team .tele-section-team-row1 .tele-layout-col-2 .tele-desc-wrap,
.tele-section-team .tele-section-team-row1 .tele-layout-col-2 .tele-title-wrap {
  text-align: center !important;
}

.tele-section-team .tele-dancing-desc .tele-desc p {
  font-family: 'Alex Brush', cursive !important;
  color: var(--e-global-color-accent) !important;  
  font-size: 3rem !important;
  letter-spacing: 8px !important;
  margin: 0px !important;
  font-weight: 500 !important;
}

/** Page Introduction - Modern Technology Section **/
.tele-section-modern-technology .tele-desc-wrap,
.tele-section-modern-technology .tele-title-wrap,
.tele-section-modern-technology .tele-desc {
    text-align: center !important;
}

.tele-section-modern-technology .tele-image-box-wrapper {
  margin-bottom: 24px;  
  margin-right: 2rem;
}

/* Parent trực tiếp của .tele-blank-item */
.tele-section-modern-technology .tele-layout .tele-layout-row .tele-layout-col:has(> .tele-blank-item) {
    background-image: url(../image/Plasma_lanh_Hoa_Ky.webp) !important;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative !important;
    background-position: right 0% top 30%;
    min-height: 60vh;
}

/**Popup Đặt Lịch Tư Vấn**/
.banner-register-appointment .elementor-widget-icon {
  padding-top: 10px !important;
}

.tele-faq-wrap {
  padding-top: 1.5rem !important;
}

/** Handbook **/
.tele-handbook-group .tele-title {
  font-family: 'Alex Brush', cursive !important;
  font-size: 4em !important;
  font-weight: normal !important;
  letter-spacing: 5px !important;
  text-transform: unset !important;
  text-align: center !important;
  line-height: 1.2rem !important;
}
.tele-handbook-group .tele-title::after {
    content: none !important;
    display: none !important;
}

.tele-handbook-carousel .elementor-heading-title a {
  color: var(--e-global-color-accent) !important;
}


/* 1. Đảm bảo mỗi slide là 1 flexbox dọc, full height */
.tele-handbook-carousel .e-loop-item {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    overflow: hidden !important;
}

/* 2. Đảm bảo ảnh không kéo giãn, chỉ chiếm đúng kích thước */
.tele-handbook-carousel .elementor-widget-image {
    flex-shrink: 0 !important;
}

.tele-handbook-carousel .elementor-widget-image img {
  width: 100% !important;
  height: 200px !important; /* Cố định hoặc điều chỉnh phù hợp */
  object-fit: cover !important;
  display: block !important;
}

/* 3. Container text (title + excerpt) chiếm phần còn lại */
.tele-handbook-carousel .elementor-widget-heading {
    flex-shrink: 0 !important;
    min-height: 60px !important;
}

.tele-handbook-carousel .elementor-widget-theme-post-excerpt {
    min-height: 145px !important;
}

/* 4. Đảm bảo excerpt chiếm đều chiều cao giữa các item */
/* .tele-handbook-carousel .elementor-widget-theme-post-excerpt .elementor-widget-container {
    min-height: 60px !important; 
    display: flex !important;
    align-items: flex-start !important;
} */

/* 5. Nút luôn nằm dưới cùng */
.tele-handbook-carousel .elementor-widget-button {
    flex-shrink: 0 !important;
}

/* 6. Nếu tiêu đề dài/ngắn không đều, có thể set min-height hoặc height cố định */
.tele-handbook-carousel .elementor-widget-heading .elementor-heading-title {
    min-height: 48px !important; /* Điều chỉnh tuỳ giao diện */
    display: flex !important;
    align-items: center !important;
}

.tele-section-search h2.elementor-heading-title {
  position: relative !important;
  display: inline-block !important;
  font-size: 1.4em !important;
  color: var(--e-global-color-primary) !important;
  font-weight: bold !important;
  letter-spacing: 1px !important;
  margin-bottom: 0.5em !important;
  margin-top: 0.5em !important;
}

/* Áp dụng cho news */
/* Áp dụng cho container ngoài của mỗi item */
.tele-search-result-grid .e-loop-item,
.tele-before-after-grid .e-loop-item,
.tele-news-grid .e-loop-item {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important; /* Đảm bảo item luôn bằng nhau */
  border: 1px solid var(--e-global-color-border) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

/* Phần ảnh */
.tele-search-result-grid .elementor-widget-image img,
.tele-news-grid .elementor-widget-image img {
  width: 100% !important;
  /* height: 220px !important; */
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  display: block !important;
}

.tele-search-result-grid .tele-post-date,
.tele-news-grid .tele-post-date {
  display: inline-block;
  width: auto;
}

.tele-search-result-grid .elementor-widget-theme-post-title,
.tele-news-grid .elementor-widget-theme-post-title {
  min-height: 50px;
}
/* Đoạn mô tả */
.tele-search-result-grid .elementor-widget-theme-post-excerpt,
.tele-news-grid .elementor-widget-theme-post-excerpt {
  min-height: 175px;
  flex: 1; /* Đẩy nút xuống cuối */
  margin-bottom: 10px;
  color: var(--e-global-color-text-excerpt);
}

/* Áp dụng cho before-after */
.tele-before-after-carousel .elementor-widget-image img {
  width: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.tele-before-after-grid .elementor-widget-image img {
  width: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.tele-before-after-grid .tele-loop-item-title {
  min-height: 50px;
}

.before-after-slide img {
  border-radius: unset !important;
}

.before-after-slide .elementor-widget-heading .elementor-heading-title,
.tele-before-after-grid .tele-loop-item-title a {
  color: #f9f9f9 !important;
}
/* Đoạn mô tả */
.tele-before-after-grid .elementor-widget-theme-post-excerpt {
  min-height: 100px;
  flex: 1; /* Đẩy nút xuống cuối */
  margin-bottom: 10px;
  color: var(--e-global-color-text-excerpt);
}

/* tele-testimonial-carousel-item */
.tele-testimonial-carousel-item {
  padding: 40px !important;
  margin: 0 auto;
  max-width: 750px !important;
  border-radius: 0;
}

/* Style khung quote chính */
.tele-testimonial-carousel-item > .elementor-element {
  background: none !important;
  border-radius: 36px;
  /* border: 1px solid #0066d7; */
  padding: 32px 16px !important;
  position: relative;
  overflow: hidden;
  max-width: 700px !important;
  margin: 0 auto;
  box-shadow: 0 9px 25px 0 #0066d714 !important;
}

/* Flex layout hai cột (hình - nội dung) */
/* .tele-testimonial-carousel-item .elementor-element-68aa3e2 {
  display: flex;
  align-items: center;
  gap: 32px;
  position: relative;
} */

/* Style avatar */
.tele-testimonial-carousel-item .elementor-element img {
  border-radius: 12px;
  border: 4px solid #fff;
  box-shadow: 0 6px 16px 0 #0066d720;
  width: 220px;
  height: 220px;
  object-fit: cover;
}


/* Trang trí quote */
.tele-testimonial-carousel-item .tele-testimonial-item-customer-name {
  color: #fff !important;
}
.tele-testimonial-carousel-item > .elementor-element::before,
.tele-testimonial-carousel-item > .elementor-element::after {
  content: "";
  position: absolute;
  width: 52px;
  height: 52px;
  background: url('data:image/svg+xml;utf8,<svg width="52" height="52" xmlns="http://www.w3.org/2000/svg"><text x="0" y="36" font-size="48" fill="%23004AAD">“</text></svg>') no-repeat center center;
  opacity: 0.9;
}
.tele-testimonial-carousel-item > .elementor-element::before {
  top: 8px;
  left: 14px;
  content: "";
}
.tele-testimonial-carousel-item > .elementor-element::after {
  bottom: 8px;
  right: 14px;
  content: "";
  transform: rotateY(180deg);
}

/* tele-service-register-steps */
.tele-service-register-steps .tele-layout .tele-layout-row {
  grid-template-columns: 25% 75% !important;
}

.tele-service-register-steps .tele-layout-col-1 {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.tele-service-register-steps .tele-image-box-img {
  margin: 0 !important;
  display: block !important;
}

.tele-service-register-steps .tele-image-box-img img {
  display: block !important;
  width: 120px !important;
  height: auto !important;
}

.tele-service-register-steps .tele-layout-col-2 {
  display: flex !important;
  align-items: center !important;
}

/* Box text với background xanh nhạt */
.tele-service-register-steps .tele-title-wrap-gallery {
  background: #E2F5FC !important;
  padding: 15px 20px !important;
  border-radius: 8px !important;
  position: relative !important;
}

/* Mũi tên trỏ sang trái (speech bubble) */
.tele-service-register-steps .tele-title-wrap-gallery::before {
  content: '' !important;
  position: absolute !important;
  left: -10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 0 !important;
  height: 0 !important;
  border-top: 10px solid transparent !important;
  border-bottom: 10px solid transparent !important;
  border-right: 10px solid #e8f4f8 !important;
}
   
@media (max-width: 1000px) {   
  .tele-section-footer > .elementor-element {
    flex-direction: column !important;
  }
  .tele-section-footer > .elementor-element > .elementor-element {
    width: 100% !important;
  }
}

/* 1200px (Desktop lớn) */
@media (max-width: 1024px) {
  /* .tele-section {
    max-width: 900px;
    padding-left: 2rem;
    padding-right: 2rem;
  } */
   :root {
    --section-width: 100%;
    --section-inner-width: 960px;
    --section-inner-width-mobile: 768px;
    
    /* Giảm font size cho tablet */
    --e-global-typography-primary-font-size: 18px;
    --e-global-typography-secondary-font-size: 15px;
    --e-global-typography-text-font-size: 18px;
    --e-global-typography-accent-font-size: 12px;

    --e-global-typography-h1-font-size: 2rem;
    --e-global-typography-h2-font-size: 1.6rem;
    --e-global-typography-h3-font-size: 1.1rem;
    --e-global-typography-h4-font-size: 1rem;
  }
      
  .tele-header-menu-wrap {
    /* background-color: var(--e-global-color-background) !important; */
    background-color: transparent !important;
  }

  .tele-header-menu-wrap > .elementor-element  {
    justify-content: flex-start !important;
  }
/* 
  .tele-section {
      padding-left: 2rem;
      padding-right: 2rem;
  } */

  .tele-section-boxed {
    max-width: 900px;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  
  .tele-heading-divider-wrap .tele-heading-divider-left .elementor-divider-separator {
      width: 40% !important;
      margin: 0 auto !important;
      margin-right: 0 !important;
  }
  .tele-heading-divider-wrap .tele-heading-divider-right .elementor-divider-separator {
      width: 40% !important;
      margin: 0 auto !important;
      margin-left: 0 !important;
  }  

  .tele-footer-wrap .tele-footer-heading-min-width {
    min-width: 230px;
  }   
  
  .tele-gallery-zigzag .tele-layout-gallery:nth-child(even) .tele-layout-col-2 {
    order: 1 !important;
    padding-left: 0px !important;
  }

  .tele-gallery-zigzag .tele-image-box-img img {
    width: 100% !important;
  }

  .tele-section-team {
    padding: 0rem !important;
  }
    
  /* .tele-section-team .tele-dancing-desc .tele-desc {
    text-align: right !important;
    padding-right: 1rem !important;
    padding-top: 1rem !important;
  }  */
  
  .tele-section-home-healing .tele-section-inner > .tele-layout-section > .tele-layout-row-2 {
    grid-template-columns: 1fr !important;
  } 

  .tele-section-team .tele-section-team-row1.tele-cols-2 {
    grid-template-columns: 1fr !important;
  }

  .tele-section-team .tele-section-team-row2 .tele-cols-2 {
    grid-template-columns: 1fr !important;
  }

  .tele-introduce-mission-section .tele-dancing-desc {
    grid-template-columns: 1fr !important;
  }

  .tele-introduce-mission-section .tele-section-team-row2 .tele-cols-2 {
    grid-template-columns: 1fr 1fr !important;
  }

  .tele-introduce-mission-section .tele-dancing-desc .tele-desc {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center;
    gap: 0 !important; /* không cần khoảng cách giữa các p */
  }
  .tele-introduce-mission-section .tele-dancing-desc .tele-desc p {
    margin: 0 !important;
    white-space: nowrap !important;
    font-size: 2.5rem !important;
  }
  /* Thêm dấu phẩy sau mỗi p trừ cái cuối */
  .tele-introduce-mission-section .tele-dancing-desc .tele-desc p:not(:last-child)::after {
    content: ", ";
    margin: 0 0.5em 0 0;
  }

  .tele-introduce-mission-section-row1,
  .tele-introduce-mission-section-row2,
  .tele-introduce-mission-section-row3 {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
  }
  .tele-introduce-mission-section-row1 .tele-layout-col-1,
  .tele-introduce-mission-section-row3 .tele-layout-col-1 {
    grid-row: 2 !important;
  }
  .tele-introduce-mission-section-row1 .tele-layout-col-2,
  .tele-introduce-mission-section-row3 .tele-layout-col-2 {
    grid-row: 1 !important;
  }
  
  .tele-introduce-mission-section-row2 .tele-layout-col-1 {
    grid-row: 1 !important;
  }
  .tele-introduce-mission-section-row2 .tele-layout-col-2 {
    grid-row: 2 !important;
  }
  .tele-product-strong-point-items {
    grid-template-columns: 1fr 1fr !important;
  }
  .tele-product-strong-point-child-section {
    grid-template-columns: 1fr !important;
  }

  .tele-product-details-gallery-items {
    grid-template-columns: 1fr 1fr !important;
  }
  .tele-product-operation-child-section {
    grid-template-columns: 1fr !important;
  }

  .tele-grid-tablet-1col {
    grid-template-columns: 1fr !important;
  }
  .tele-grid-tablet-2col {
    grid-template-columns: 1fr 1fr !important;
  }
  
  .tele-organization-on-page .tele-organization-loop-grid {
    padding-top: unset !important;
  }

  .tele-organization-loop-grid .elementor-grid {
      grid-template-columns: 1fr !important;
      gap: 1rem !important;
  }

  .tele-organization-on-page > .tele-layout-row {
    grid-template-columns: 1fr !important;
  }
  
  .tele-organization-loop-grid .elementor-grid {
      grid-template-columns: repeat(2, 1fr) !important;
      gap: 1.5rem !important;
  }
  
  .tele-organization-loop-grid .e-loop-item:not(:last-child) {
      border-bottom: unset !important;
      padding-top: unset !important;
      padding-bottom: unset !important;
  }
  
  .tele-organization-on-page .tele-layout-row { 
    grid-template-columns: 1fr !important; 
  }
}

@media (min-width: 1200px) {
  .container { max-width: var(--section-inner-width); }

  /* Zigzag: đảo vị trí item chẵn */
  .tele-gallery-zigzag .tele-layout-gallery:nth-child(even) .tele-layout-col-1 {
    order: 2 !important;
  }

  .tele-section-items--boxed-inner3, .tele-gallery-items--boxed-inner3, .tele-section-boxed-inner3 {  
    max-width: 750px !important; 
    margin: 0 auto;
  }

  .tele-section-items--boxed-inner2, .tele-gallery-items--boxed-inner2, .tele-section-boxed-inner2 {  
    max-width: var(--section-inner-width-mobile) !important; 
    margin: 0 auto;
  }
  
  .tele-section-items--boxed-inner, .tele-gallery-items--boxed-inner, .tele-section-boxed-inner {  
    max-width: var(--section-inner-width) !important; 
    margin: 0 auto;
  }

  .tele-section-search, .tele-section-items--boxed, .tele-gallery-items--boxed, .tele-section-boxed {    
    max-width: var(--section-width) !important; 
    margin: 0 auto;
  }    

  /** Feedback Image Carousel**/
  /* Giả sử mỗi item có class là .swiper-slide hoặc .elementor-image-carousel-slide */
  /* Áp dụng cho Swiper Carousel trong Elementor hoặc Swiper.js */
  /* Slide ở giữa (đang active) */
  .teno-gallery-3out-2in .swiper-slide.visible-index-2,
  .teno-gallery-3out-2in .swiper-slide.visible-index-3,
  .teno-gallery-3out-2in .swiper-slide.visible-index-4 {
    transform: scale(1.2) !important;
    opacity: 1 !important;
    z-index: 3 !important;
    box-shadow: 0 0 12px #BEEAFE99;
    transition: all 0.8s;
  }

  /* Slide bên trái & phải */
  .teno-gallery-3out-2in .swiper-slide.visible-index-1,
  .teno-gallery-3out-2in .swiper-slide.visible-index-5 {
    transform: scale(0.8) !important;
    opacity: 0.5 !important;
    z-index: 2 !important;
    box-shadow: none !important;
    transition: all 0.8s;
  }

  .teno-gallery-center-zoom .swiper-slide {
    transform: scale(1) !important;
    opacity: 1 !important;
    z-index: 3 !important;
    box-shadow: 0 0 12px #BEEAFE99;
    transition: all 0.8s;
  }
  
  
  .teno-gallery-center-zoom .swiper-slide.swiper-slide-active {
    transform: scale(1) !important;
    opacity: 1 !important;
    z-index: 3 !important;
    box-shadow: 0 0 12px #BEEAFE99;
    transition: all 0.8s;
  }

  /* Slide bên trái & phải */
  .teno-gallery-center-zoom .swiper-slide.swiper-slide-next {
    transform: scale(0.9) !important;
    opacity: 0.6 !important;
    z-index: 2 !important;
    box-shadow: none !important;
    transition: all 0.8s;
  }
  
  
  .tele-heading-divider-wrap .tele-heading-divider-left .elementor-divider-separator {
      width: 40% !important;
      margin: 0 auto !important;
      margin-right: 0 !important;
  }
  .tele-heading-divider-wrap .tele-heading-divider-right .elementor-divider-separator {
      width: 40% !important;
      margin: 0 auto !important;
      margin-left: 0 !important;
  }

  .tele-footer-wrap .tele-footer-heading-min-width {
    min-width: 300px;
  }
  .tele-gallery-zigzag .tele-layout-gallery:nth-child(odd) .tele-layout-col-2 {
    width: 80% !important;
  }
  
  .tele-gallery-zigzag .tele-layout-col-2 {
    display: flex !important;
    flex-direction: column !important;
    padding-top: 32px !important;
    padding-right: 24px !important;
    padding-bottom: 32px !important;
    padding-left: 0px !important;
  }
  
  .tele-gallery-zigzag .tele-layout-gallery:nth-child(even) .tele-layout-col-2 {
    order: 1 !important;
    padding-left: 90px !important;
  }

  .tele-gallery-zigzag .tele-image-box-img img {
    width: 90% !important;
  }

  .tele-section-team {
    padding: 2rem;
  }  

  .tele-section-team .tele-dancing-desc .tele-desc {
    text-align: right !important;
    padding-right: 1rem !important;
    padding-top: 1rem !important;
  }  

  .tele-section-item-style1 .tele-title-wrap {
    align-items: center;
    display: flex;
    min-height: 70px !important;
  }
  
  .tele-section-item-style1 .tele-desc-wrap {
    display: flex;
    min-height: 175px !important;
  }

}

@media (max-width: 767px) {    
  
  :root {
    --section-width: 100%;
    --section-inner-width: 100%;
    --section-inner-width-mobile: 100%;
    
    /* Font size nhỏ hơn cho mobile */
    --e-global-typography-primary-font-size: 16px;
    --e-global-typography-secondary-font-size: 14px;
    --e-global-typography-text-font-size: 16px;
    --e-global-typography-accent-font-size: 11px;

    --e-global-typography-h1-font-size: 1.75rem;
    --e-global-typography-h2-font-size: 1.5rem;
    --e-global-typography-h3-font-size: 1.3rem;
    --e-global-typography-h4-font-size: 0.95rem;
  }

  .tele-section-footer .tele-organization-loop-grid .elementor-grid {
      grid-template-columns: 1fr !important;
      gap: 2rem !important;
  }

  .tele-header-menu-wrap > .elementor-element  {
    justify-content: flex-start !important;
  }

  .elementor-icon-list-text,
  .elementor-icon-list-item > a {
    font-size: 16px !important;
  }

  .tele-gallery-style4 .tele-layout-col-1 .tele-image-box-wrapper {
    width: 48px !important;
    height: 48px !important;
  }

  .tele-header-wrap .tele-company-info-list .elementor-icon-list-items {
    flex-direction: column !important;    
  }

  .tele-header-menu-wrap {
    /* background-color: var(--e-global-color-background) !important; */
    background-color: transparent !important;
  }

  .tele-footer-column1 {
    min-width: 100%;
  }

  /* Khi tele-footer-column1 chứa tele-footer-logo-vertical */
  .tele-footer-column1:has(.tele-footer-logo-vertical) {
    min-width: 100%;
  }

  .tele-footer-column2 {
    max-width: 100%;
  }

  .tele-cols-2,
  .tele-cols-3,
  .tele-cols-4,
  .tele-cols-5,
  .tele-cols-6,
  .tele-cols-1-2,
  .tele-cols-200-1fr,
  .tele-cols-1fr-300,
  .tele-cols-auto-fit-min200,
  .tele-cols-auto-fill-min180,
  .tele-cols-auto-auto,
  .tele-cols-auto-1fr,
  .tele-cols-percent-10-90,
  .tele-cols-percent-15-85,
  .tele-cols-percent-20-80,
  .tele-cols-percent-25-75,
  .tele-cols-percent-30-70,
  .tele-cols-percent-35-65,
  .tele-cols-percent-40-60,
  .tele-cols-percent-45-55,
  .tele-cols-percent-80-20,
  .tele-cols-percent-75-25,
  .tele-cols-percent-70-30,
  .tele-cols-percent-65-35,
  .tele-cols-percent-60-40,
  .tele-cols-percent-55-45 { 
    grid-template-columns: 1fr !important; 
  }
    
  .tele-layout-section > .tele-layout-row {
      column-gap: 1rem;
      row-gap: 1rem;
  }
  .tele-section:not(:first-child) {
    padding-top: 1rem !important;
  }
  h1.tele-title {
    font-size: 1.5em !important;
  }

  .tele-section-items h2.tele-title,
  .h1-tele-sub-title,
  .h2-tele-sub-title {
    font-size: 1.3em !important;
    text-transform: capitalize !important;
  }

  .tele-section-boxed {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .tele-handbook-group .tele-title {
    font-size: 3.5em !important;
    letter-spacing: 2px !important;
    line-height: 4.2rem !important;    
    margin-bottom: 0px !important;
    margin-top: 5px !important;
  }
  /* .tele-heading-divider-wrap .elementor-widget-divider {
    display: none !important;
  } */
  .custom-heading-style {
    font-size: 1.2rem !important;
  }
  
  .teno-gallery-3out-2in .swiper-slide {
    transform: scale(1.1) !important;
    opacity: 1 !important;
    z-index: 3 !important;
    box-shadow: 0 0 12px #BEEAFE99;
    transition: all 0.8s;
  }  

  .tele-gallery-zigzag .tele-image-box-img img {
    width: 100% !important;
  }

  .tele-section-team {
    padding: 0rem !important;
  }  

  .tele-grid-mobile-1col {
    grid-template-columns: 1fr !important;
  }
    
  .tele-introduce-mission-section .tele-dancing-desc .tele-desc {
    text-align: center !important;
    margin-left: 10px !important;
  }
  
  .tele-introduce-mission-section .tele-dancing-desc .tele-desc p {
    font-size: 2.5rem !important;
  }

  .tele-section-progress-register-service .tele-cols-2 {
    grid-template-columns: 1fr !important;
  }  
  
  .tele-section-home-healing .tele-section-inner .tele-gallery-items .tele-layout-gallery .tele-cols-auto-1fr {
    grid-template-columns: auto 1fr !important;
  }
  

  .tele-product-strong-point-items {
    grid-template-columns: 1fr !important;
  }
  .tele-product-details-gallery-items {
    grid-template-columns: 1fr !important;
  }
  
  /* Zigzag: đảo vị trí item chẵn */
  .tele-gallery-zigzag .tele-layout-gallery:nth-child(even) .tele-layout-col-1 {
    order: 1 !important;
  }

  .tele-icons-items-horizontal .elementor-icon-list-items {
    display: flex;
    flex-direction: row !important;
    gap: 0 !important;
  }
  
  .tele-organization-loop-grid .elementor-grid {
      grid-template-columns: 1fr !important;
      gap: 1rem !important;
  }

  .tele-event-datemonth-wrap::after {
      background: unset !important;
  }
}


/* ============================================
   SMALL MOBILE - (max 480px)
   ============================================ */
@media (max-width: 480px) {
  :root {
    --e-global-typography-primary-font-size: 15px;
    --e-global-typography-secondary-font-size: 13px;
    --e-global-typography-text-font-size: 15px;
    
    --e-global-typography-h1-font-size: 1.6rem;
    --e-global-typography-h2-font-size: 1.4rem;
    --e-global-typography-h3-font-size: 1.2rem;
    --e-global-typography-h4-font-size: 0.9rem;
  }
}