/* VitalWave Home — Framer (public/Home) */
html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  overflow-x: hidden;
  background: #fff;
}

body[data-vw-framer-home] #float-contact,
body[data-vw-framer-home] .vw-float,
body[data-vw-framer-home] .gate-float {
  display: none !important;
}

#vw-framer-viewport {
  width: 100vw;
  overflow-x: hidden;
  position: relative;
}

#vw-framer-stage {
  width: 1440px;
  max-width: 1440px;
  transform-origin: top left;
  will-change: transform;
}

[data-framer-root] {
  width: 1440px !important;
  max-width: 1440px !important;
}

@media (min-width: 768px) {
  #vw-framer-viewport,
  #vw-framer-stage,
  #main,
  [data-framer-root] {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  #vw-framer-stage .framer-ttz080 {
    top: 0 !important;
    bottom: auto !important;
    overflow: hidden;
  }
}

a[href*="framer.com"],
[data-framer-badge],
.framer-1ymqv22 {
  display: none !important;
}

#vw-framer-stage .vw-clickable,
#vw-framer-stage .vw-nav-item,
#vw-framer-stage .vw-pillar-part {
  cursor: pointer;
}

#vw-framer-stage .vw-nav-item,
#vw-framer-stage .vw-pillar-hit,
#vw-framer-stage .vw-pillar-cta {
  pointer-events: auto !important;
}

/* Khung/line chỉ trang trí — không chặn click CTA */
#vw-framer-stage .vw-pillar-border,
#vw-framer-stage .vw-pillar-line {
  pointer-events: none !important;
}

#vw-framer-stage .vw-social-hit {
  opacity: 0 !important;
  pointer-events: none !important;
}

#vw-social-fixed {
  position: fixed !important;
  right: 20px;
  bottom: 20px;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: none;
}

#vw-social-fixed a {
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #fff;
  color: #5c3d2e;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(40, 28, 22, .22);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 800;
  transition: transform .2s ease, background-color .2s ease, color .2s ease;
}

#vw-social-fixed a:hover {
  transform: translateY(-3px);
  background: #556740;
  color: #fff;
}

#vw-social-fixed svg {
  display: block;
  width: 22px;
  height: 22px;
}

/* Menu — chỉ mục đang hover (class is-nav-hover), không đụng mục khác */
#vw-framer-stage .vw-nav-item {
  transition: transform .22s ease !important;
}

#vw-framer-stage .vw-nav-item .framer-text {
  transition: color .22s ease;
}

#vw-framer-stage .vw-nav-item.is-nav-hover:not(.vw-nav-login) {
  transform: translateY(-7px) !important;
}

#vw-framer-stage .vw-nav-item.vw-nav-login.is-nav-hover {
  transform: none !important;
}

#vw-framer-stage .vw-nav-item.is-nav-hover > .framer-text,
#vw-framer-stage .vw-nav-item.vw-nav-login.is-nav-hover > .framer-text,
#vw-framer-stage .vw-nav-item.is-nav-hover > p.framer-text,
#vw-framer-stage .vw-nav-item.is-nav-hover .framer-text {
  color: rgb(61, 79, 58) !important;
}

/* CTA luôn trên khung */
#vw-framer-stage .vw-pillar-cta {
  z-index: 8 !important;
  position: absolute !important;
}

#vw-framer-stage .vw-pillar-part {
  transition: transform .28s ease, filter .28s ease !important;
}

#vw-framer-stage .vw-pillar-part .framer-text {
  transition: color .28s ease;
}

#vw-framer-stage .vw-pillar-part.is-hover {
  transform: translateY(-10px) !important;
}

#vw-framer-stage .vw-pillar-part.vw-pillar-border.is-hover {
  filter: drop-shadow(0 18px 32px rgba(92, 61, 46, .2));
}

#vw-framer-stage .vw-pillar-part.is-hover .framer-text {
  color: rgb(74, 52, 40) !important;
}

#vw-framer-stage .vw-pillar-part.is-hover img {
  filter: brightness(1.04) saturate(1.06);
}

/* Hero CTA: Đăng ký tư vấn / Đặt lịch chăm sóc — Source Serif 4 Bold 16px */
#vw-framer-stage .framer-ons9x .framer-text,
#vw-framer-stage .framer-ons9x.framer-text,
#vw-framer-stage .framer-ons9x p,
#vw-framer-stage .framer-1pw2i52 .framer-text,
#vw-framer-stage .framer-1pw2i52.framer-text,
#vw-framer-stage .framer-1pw2i52 p {
  font-family: "Source Serif 4", "Source Serif 4 Placeholder", serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  line-height: 1.5em !important;
  color: rgb(129, 97, 74) !important;
}

/* Nút CTA: hover đổi nền, không đổi màu chữ */
#vw-framer-stage .vw-btn-surface {
  transition: background-color .22s ease, background-image .22s ease !important;
  border-radius: 10px;
}

#vw-framer-stage .vw-btn-surface.is-btn-hover {
  background-color: #0d909e !important;
  background-image: none !important;
}

#vw-framer-stage .vw-btn-label.is-btn-hover .framer-text,
#vw-framer-stage .vw-btn-label.is-btn-hover.framer-text,
#vw-framer-stage .vw-btn-label.is-btn-hover p {
  /* giữ màu chữ gốc — không đổi khi hover */
  color: inherit;
}

/* Ẩn thẻ audience tĩnh Framer — dùng carousel JS */
#vw-framer-stage .framer-kfxlqq,
#vw-framer-stage .framer-1r4lqld,
#vw-framer-stage .framer-b20cw8,
#vw-framer-stage .framer-1yhut33,
#vw-framer-stage .framer-1e0eiif,
#vw-framer-stage .framer-11o7hta,
#vw-framer-stage .framer-11qqc73,
#vw-framer-stage .framer-1v30i5,
#vw-framer-stage .framer-f115ae,
#vw-framer-stage .framer-1x63an6,
#vw-framer-stage .framer-1umw7m1,
#vw-framer-stage .framer-6zvchh,
#vw-framer-stage .framer-2ik1l3,
#vw-framer-stage .framer-cp9w5q,
#vw-framer-stage .framer-ia4lou {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Carousel — Dành cho ai? (5 mục, hiện 3) */
#vw-audience-carousel {
  position: absolute;
  top: 2830px;
  left: 0;
  width: 1440px;
  height: 480px;
  z-index: 12;
  pointer-events: none;
}

#vw-audience-carousel .vw-aud-arrow,
#vw-audience-carousel .vw-aud-slot {
  pointer-events: auto;
}

#vw-audience-carousel .vw-aud-arrow {
  position: absolute;
  top: 144px;
  width: 39px;
  height: 54px;
  padding: 0;
  border: 0;
  background: transparent url("/VitalWave/Home/assets/framer/audience-arrow.png") center / contain no-repeat;
  cursor: pointer;
  transition: transform .2s ease, opacity .2s ease;
  z-index: 3;
}

#vw-audience-carousel .vw-aud-arrow:hover {
  opacity: .85;
}

/* Mũi tên hướng ra ngoài — trái: gốc, phải: xoay 180° (như Framer) */
#vw-audience-carousel .vw-aud-prev {
  left: 144px;
}

#vw-audience-carousel .vw-aud-prev:hover {
  transform: scale(1.08);
}

#vw-audience-carousel .vw-aud-next {
  left: 1258px;
  transform: rotate(180deg);
}

#vw-audience-carousel .vw-aud-next:hover {
  transform: rotate(180deg) scale(1.08);
}

#vw-audience-carousel .vw-aud-slot {
  position: absolute;
  top: 0;
  text-align: center;
  transition: opacity .28s ease, transform .28s ease;
}

#vw-audience-carousel .vw-aud-slot-left {
  left: 230px;
  width: 280px;
  top: 43px;
}

#vw-audience-carousel .vw-aud-slot-center {
  left: 530px;
  width: 380px;
  top: 0;
}

#vw-audience-carousel .vw-aud-slot-right {
  left: 931px;
  width: 280px;
  top: 43px;
}

/* Khung viền bọc icon + title + gạch + mô tả */
#vw-audience-carousel .vw-aud-card {
  box-sizing: border-box;
  border: 1px solid rgb(129, 97, 74);
  border-radius: 15px;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  padding: 0 0 14px;
}

#vw-audience-carousel .vw-aud-slot-center .vw-aud-card {
  border-radius: 20px;
  min-height: 333px;
  padding-bottom: 24px;
}

#vw-audience-carousel .vw-aud-slot-left .vw-aud-card,
#vw-audience-carousel .vw-aud-slot-right .vw-aud-card {
  min-height: 247px;
}

#vw-audience-carousel .vw-aud-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-top: 14px;
  height: 142px;
  flex-shrink: 0;
}

#vw-audience-carousel .vw-aud-slot-center .vw-aud-icon-wrap {
  padding-top: 37px;
  height: 194px;
}

#vw-audience-carousel .vw-aud-icon {
  display: block;
  object-fit: contain;
  object-position: center;
}

#vw-audience-carousel .vw-aud-slot-left .vw-aud-icon,
#vw-audience-carousel .vw-aud-slot-right .vw-aud-icon {
  width: 128px;
  height: 128px;
}

#vw-audience-carousel .vw-aud-slot-center .vw-aud-icon {
  width: 157px;
  height: 157px;
}

#vw-audience-carousel .vw-aud-title {
  margin: 6px 0 0;
  width: 100%;
  max-width: 280px;
  padding: 0 16px;
  color: rgb(129, 97, 74);
  font-family: "Source Serif 4", "Source Serif 4 Placeholder", serif;
  font-size: 13px;
  font-style: italic;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}

#vw-audience-carousel .vw-aud-slot-center .vw-aud-title {
  max-width: 380px;
  padding: 0 20px;
}

#vw-audience-carousel .vw-aud-line {
  width: 200px;
  height: 1px;
  margin: 13px 0 0;
  border: 0;
  background: #aaa;
  flex-shrink: 0;
}

#vw-audience-carousel .vw-aud-slot-center .vw-aud-line {
  width: 261px;
  margin-top: 15px;
}

#vw-audience-carousel .vw-aud-desc {
  margin: 17px 0 0;
  max-width: 200px;
  padding: 0 10px;
  color: rgb(129, 97, 74);
  font-family: "Source Serif 4", "Source Serif 4 Placeholder", serif;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
}

#vw-audience-carousel .vw-aud-slot-center .vw-aud-desc {
  max-width: 261px;
  padding: 0 12px;
}

#vw-audience-carousel.is-animating .vw-aud-slot {
  opacity: .72;
}

/* Quy trình — hover translate cả nhóm icon + title + mô tả */
#vw-framer-stage .vw-proc-part {
  transition: transform .28s ease !important;
}

#vw-framer-stage .vw-proc-part.is-proc-hover {
  transform: translateY(-10px) !important;
}

/* Câu chuyện phục hồi — hover translate khung + sao + nội dung */
#vw-framer-stage .vw-story-part {
  transition: transform .28s ease, filter .28s ease !important;
}

#vw-framer-stage .vw-story-part.is-story-hover {
  transform: translateY(-10px) !important;
}

#vw-framer-stage .vw-story-part.is-story-hover img {
  filter: brightness(1.04) saturate(1.06);
}

/* Footer links — gạch chân khi hover */
#vw-framer-stage .vw-footer-link .framer-text,
#vw-framer-stage .vw-footer-link.framer-text,
#vw-framer-stage .vw-footer-link p {
  transition: text-decoration-color .2s ease, color .2s ease;
  text-decoration: none;
  text-underline-offset: 4px;
}

#vw-framer-stage .vw-footer-link.is-footer-hover .framer-text,
#vw-framer-stage .vw-footer-link.is-footer-hover.framer-text,
#vw-framer-stage .vw-footer-link.is-footer-hover p {
  text-decoration: underline !important;
  text-decoration-color: rgba(255, 255, 255, .92) !important;
  text-underline-offset: 4px;
}

/* Nút Đặt lịch tư vấn (dưới) */
#vw-framer-stage .vw-booking-cta {
  cursor: pointer !important;
}

/* Icon địa chỉ footer (Cs1 / Cs2) */
#vw-framer-stage .vw-addr-pin {
  position: absolute;
  left: 530px;
  width: 25px;
  height: 25px;
  object-fit: contain;
  z-index: 6;
  pointer-events: none;
}

#vw-framer-stage .vw-addr-pin-1 {
  top: 5056px;
}

#vw-framer-stage .vw-addr-pin-2 {
  top: 5082px;
}

@media (max-width: 900px) {
  #vw-social-fixed {
    right: 12px;
    bottom: 12px;
  }
  #vw-social-fixed a {
    width: 44px;
    height: 44px;
  }
}


