:root{
  --bg:#fff; --fg:#1a1a1a; --card:#fff;
  --muted:#ede8e3; --border:#e6e1db;
  --primary:#203e6a; --radius:10px;
  --btn-primary:#0071e3;
    --font-base: 'Inter', -apple-system, BlinkMacSystemFont,
               'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}
html{ scroll-behavior:smooth;  font-family: var(--font-base);
  font-weight: 500;
  line-height: 1.6;  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;}
  button,
input,
textarea,
select{
  font-family: inherit;
}
h1, h2, h3, h4, h5, h6{
  font-family: var(--font-base);
  font-weight: 600;
  letter-spacing: -0.015em;
}
.uvv-footer,
.uvv-footer *{
  font-family: var(--font-base);
}

.uvv{ background:var(--bg); color:var(--fg); }
.uvv-container{ max-width:1280px; margin:0 auto; padding:0 1.5rem; }

.uvv-section{ padding:5rem 0; border-radius:8px ;background: #f5f5f7; margin: 20px 1rem; }
.uvv-h1{ font-size:clamp(2.3rem,8vw,3.75rem); line-height:1.15; margin:0 0 1rem; letter-spacing:-0.02em; }
.uvv-h2{ font-size:clamp(2rem,5vw,2.25rem); margin:0 0 1.5rem; letter-spacing:-0.01em; text-transform: capitalize;}
.uvv-h3{ font-size:1.125rem; margin:0 0 .5rem; }
.uvv-richtext p{ color:rgba(26,26,26,.7); line-height:1.85; margin:0 0 1rem; }

.uvv-card{ background:var(--card);margin-bottom:1rem; border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,.05); transition: box-shadow .25s ease, transform .25s ease; }
.uvv-card:hover{ box-shadow:0 12px 22px rgba(0,0,0,.10); transform: translateY(-2px); }
.uvv-img{ width:100%; height:auto; object-fit:cover; display:block; }
.uvv-placeholder{ background:linear-gradient(135deg,#f0ebe6,#ede8e3); }
.uvv-aspect-square{ aspect-ratio:1/1; }
.uvv-aspect-video{ aspect-ratio:16/9; }
/* Video embed */
/* ===== Video PRO (thumbnail -> play) ===== */
.uvv-video-grid{ gap: 2rem; }

.uvv-video{
  border-radius: 18px;
  overflow: hidden;
  height: 100%;
}

.uvv-video__frame{ padding: 0; }

.uvv-video__thumb{
  width: 100%;
  display: block;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.uvv-video__img,
.uvv-video__placeholder{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.uvv-video__img{
  object-fit: cover;
  transform: scale(1);
  transition: transform .35s ease;
}

.uvv-video__placeholder{
  background:
    radial-gradient(1200px 420px at 15% 0%, rgba(255,255,255,.65), transparent 55%),
    linear-gradient(135deg, #f0ebe6, #ede8e3);
}

.uvv-video__thumb::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(to bottom, rgba(0,0,0,0) 35%, rgba(0,0,0,.28) 100%);
  opacity:.9;
  transition: opacity .35s ease;
}

.uvv-video__play{
  position:absolute;
  left: 16px;
  bottom: 16px;
  width: 54px;
  height: 54px;
  border-radius: 999px;
  background: #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
  z-index: 2;
}

.uvv-video__play-ico{
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  transform: translateX(1px);
}

.uvv-video:hover .uvv-video__img{ transform: scale(1.04); }
.uvv-video:hover .uvv-video__thumb::after{ opacity: 1; }

.uvv-video__player{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
}

.uvv-video__player iframe{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.uvv-video__body{
  padding: 1rem 1.25rem 1.25rem;
}

.uvv-video__title{
  margin: 0;
  line-height: 1.4;
  letter-spacing: -0.01em;
  text-transform:uppercase
}



.uvv-grid-2{ display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:2rem;}
.uvv-grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.uvv-grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; }
.uvv-grid-3{ align-items:start; }

.uvv-header{ position:sticky; top:0; z-index:50; background:rgba(250,248,246,.92); backdrop-filter: blur(10px); border-bottom:1px solid var(--border); }
.uvv-header__container{ max-width:1440px; margin:0 auto; padding:1rem 1.5rem; }
.uvv-header__content{ display:flex; align-items:center; justify-content:space-between; gap:1rem; }

.uvv-logo{ display:flex; align-items:center; gap:.65rem; }
.uvv-logo__circle{ width:40px; height:40px; border-radius:999px; background:var(--primary); color:#faf8f6; display:flex; align-items:center; justify-content:center; font-weight:900; }
.uvv-logo__text{ font-weight:800; }

.uvv-nav{ display:flex; gap:2rem; align-items:center; }
.uvv-nav a{ font-size:1.2rem; color:rgba(26,26,26,.72); text-decoration:none; font-weight: 600; }
.uvv-nav a:hover{ color:var(--fg); }

.uvv-cta{ background:var(--btn-primary); color:#fff !important; text-decoration:none; padding:.6rem 1rem; border-radius:var(--radius); font-size:.9rem; font-weight:800; display:inline-flex; align-items:center; gap:.5rem; }
.uvv-cta:hover{ opacity:.92; }

.uvv-menu-toggle{ display:none; background:none; border:0; cursor:pointer; padding:.5rem; font-size:1.25rem; }

.uvv-hero__subtitle{ font-size:1.25rem; color:rgba(26,26,26,.72); margin:0 0 .5rem; }
.uvv-hero__desc{ font-size:1.1rem; color:rgba(26,26,26,.62); line-height:1.85; margin:0 0 2rem; max-width:56ch; }

.uvv-buttons{ display:flex; gap:1rem; flex-wrap:wrap; }
.uvv-btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:1rem 2rem; border-radius:var(--radius); text-decoration:none; font-weight:700; }
.uvv-btn--primary{ background:var(--btn-primary); color:#faf8f6; }
.uvv-btn--primary:hover{ opacity:.93; }
.uvv-btn--outline{ border:1px solid var(--btn-primary); color:var(--fg); background:transparent; }
.uvv-btn--outline:hover{ background:var(--muted); }

.uvv-quote{ margin-top:2rem; padding:2rem; border-radius:var(--radius); background:#f0ebe6; border:1px solid var(--border); }
.uvv-quote blockquote{ margin:0 0 .75rem; color:rgba(26,26,26,.85); font-style:italic; line-height:1.75; }
.uvv-quote figcaption{ font-weight:900; }

.uvv-tag{ display:inline-block; background:var(--muted); padding:.25rem .75rem; border-radius:999px; font-size:.75rem; font-weight:900; width:fit-content; }
/* ===== Section title ===== */
#knowledge .uvv-h2{
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 1.5rem;
  color: #0f172a; /* xanh đậm y khoa */
}

/* ===== Video card ===== */
.uvv-medvid{
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
  transition: transform .3s ease, box-shadow .3s ease;
}

.uvv-medvid:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
}

/* khung video / poster */
.uvv-medvid__frame{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
}

/* poster */
.uvv-medvid__poster{
  position: absolute;
  inset: 0;
}

.uvv-medvid__poster-img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* overlay nhẹ */
.uvv-medvid__poster-overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0) 45%,
    rgba(0,0,0,.35) 100%
  );
}

/* title dưới card */
.uvv-medvid__body{
  padding: 1rem 1.25rem 1.3rem;
}

.uvv-medvid__title{
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -0.01em;
  color: #0f172a;
  text-transform:uppercase;
}
/* play icon */
.uvv-medvid__frame::after{
  content: "▶";
  position: absolute;
  left: 16px;
  bottom: 16px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255,255,255,.95);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  color: #0f172a;
  box-shadow: 0 8px 20px rgba(0,0,0,.25);
}
/* ===== Swiper nav ===== */
.uvv-swiper-nav{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-top: 1.25rem;
}

.uvv-swiper-btn{
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.1);
  background: #fff;
  color: #0f172a;
  font-size: 18px;
  cursor: pointer;
  transition: all .25s ease;
}

.uvv-swiper-btn:hover{
  background: #0f172a;
  color: #fff;
  border-color: #0f172a;
}

/* pagination dots */
.uvv-swiper-pagination{
  display: flex;
  gap: 6px;
}

.uvv-swiper-pagination .swiper-pagination-bullet{
  width: 6px;
  height: 6px;
  background: #cbd5e1;
  opacity: 1;
}

.uvv-swiper-pagination .swiper-pagination-bullet-active{
  background: #0f172a;
}



.uvv-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; margin:0 0 3rem; }
.uvv-stat{ padding:2rem 1rem; text-align:center; }
.uvv-stat__num{ font-size:2.5rem; font-weight:950; color:var(--primary); letter-spacing:-0.02em; }
.uvv-stat__label{ color:rgba(26,26,26,.72); margin-top:.35rem; }

.uvv-features{ display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.uvv-feature{ padding:2rem; background:#f0ebe6; border:1px solid var(--border); border-radius:var(--radius); }
.uvv-feature p{ margin:0; color:rgba(26,26,26,.72); line-height:1.75; }

.uvv-video__link{ display:block; color:inherit; text-decoration:none; }
.uvv-video__thumb{ position:relative; overflow:hidden; }
.uvv-play{ position:absolute; left:1rem; bottom:1rem; width:44px; height:44px; border-radius:999px; background:#fff; display:flex; align-items:center; justify-content:center; font-weight:950; box-shadow:0 10px 20px rgba(0,0,0,.12); }
.uvv-video__title{  font-weight:600; }

.uvv-checklist{ display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.uvv-check{ padding:1.5rem; display:flex; gap:1rem; align-items:flex-start; }
.uvv-check__icon{ width:24px; height:24px; border-radius:999px; background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center; flex:0 0 24px; font-weight:950; }
.uvv-check__text{ color:rgba(26,26,26,.75); line-height:1.6; }

#faq{
  background: var(--primary);
}
#faq .uvv-h2{
 color: #FFF;
}
.uvv-faq{ display:grid; gap:1rem; }
.uvv-acc{ border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; background:#fff; }
.uvv-acc summary{ cursor:pointer; padding:1.25rem 1.5rem; font-weight:700; list-style:none; }
.uvv-acc__body{ padding:0 1.5rem 1.5rem; color:rgba(26,26,26,.78); line-height:1.85; }

/* ===== Footer like business card ===== */
.uvv-footer{
  /* padding: 2.5rem 1.5rem 3.5rem; */
  background: #e9eef5; /* nền xám nhạt */
  border-radius: 22px;
}

.uvv-footer__card{
  max-width: 100%;
  margin: 0 auto;
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 22px 50px rgba(15, 23, 42, .12);
  position: relative;
}

.uvv-footer__top{
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 1.25rem;
  padding: 1.75rem 1.75rem 1.25rem;
  align-items: center;
}

.uvv-footer__logo{
  width: 140px;
  height: 140px;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

.uvv-footer__logo-fallback{
  width: 140px;
  height: 140px;
  border-radius: 16px;
  background: linear-gradient(135deg, #f0ebe6, #ede8e3);
  margin: 0 auto;
}

.uvv-footer__heading{
  font-size: 1.45rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #1f3b6e; /* xanh navy */
  margin-bottom: .35rem;
  text-transform: uppercase;
}

.uvv-footer__bullets{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: .35rem;
  color: #1f3b6e;
  font-weight: 600;
}

.uvv-footer__bullets li{
  position: relative;
  padding-left: 1rem;
  color: rgba(31, 59, 110, .95);
}

.uvv-footer__bullets li::before{
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: #d2a34a; /* vàng */
  font-weight: 900;
}

/* divider line */
.uvv-footer__mid{
  display: grid;
  grid-template-columns: 1fr 1fr 1.4fr;
  gap: .75rem;
  align-items: center;
  padding: 16px 20px;
  border-top: 1px solid rgba(15, 23, 42, .08);
}

.uvv-footer__contact{
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  text-decoration: none;
  color: rgba(15, 23, 42, .86);
  font-weight: 600;
  min-height: 44px;
}

.uvv-footer__contact--no-link{
  cursor: default;
}

.uvv-footer__ico{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(210, 163, 74, .12);
  border: 1px solid rgba(210, 163, 74, .35);
  color: #b9872f;
  font-size: 16px;
  flex: 0 0 34px;
}

.uvv-footer__text{
  font-size: .98rem;
  line-height: 1.35;
}

/* bottom shape */
.uvv-footer__shape{
  width: 100%;
  display: block;
  line-height: 0;
}

.uvv-footer__shape img{
  width: 100%;
  height: auto;
  display: block;
}
.uvv-footer__mid{
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
}

/* Mặc định: mỗi item full width (mobile-safe) */
.uvv-footer__contact{
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}
/* responsive */
@media (max-width: 860px){
  .uvv-footer__top{
    grid-template-columns: 100px 1fr;
    padding: 1.25rem 1.25rem 1rem;
  }
  .uvv-footer__logo,
  .uvv-footer__logo-fallback{
    width: 110px;
    height: 110px;
  }
  .uvv-footer__contact:nth-child(1),
  .uvv-footer__contact:nth-child(2){
    width: calc(50% - 8px);
  }

  /* item cuối: 100% */
  .uvv-footer__contact:nth-child(3){
    width: 100%;
  }
}


.uvv-nav--mobile{ display:none; flex-direction:column; gap:.75rem; margin-top:1rem; padding-top:1rem; border-top:1px solid var(--border); }
.uvv-nav--mobile.is-open{ display:flex; }
.uvv-hide-mobile{ display:block; }
.uvv-ico{ width:1em; height:1em; display:inline-flex; vertical-align:-0.15em; }
.uvv-ico svg{ width:100%; height:100%; fill:currentColor; }
.uvv-ico--circle{
  width:40px; height:40px; border-radius:999px;
  display:flex; align-items:center; justify-content:center;
  background:var(--primary); color:#faf8f6;
}
.uvv-ico--pill{
  width:24px; height:24px; border-radius:999px;
  display:flex; align-items:center; justify-content:center;
  background:var(--primary); color:#fff; flex:0 0 24px;
  display: inline-block;
  padding: 8px;
}
.uvv-ico--pill svg{
  fill: #FFF;
}
.uvv-btn .uvv-ico{ margin-right:.35rem; }
.uvv-logo__link{
  display:flex;
  align-items:center;
  gap:.75rem;
  text-decoration:none;
  color:inherit;
}

.uvv-logo__img{
  height:auto;     /* chỉnh theo ý */
  width:100%;
  max-width:220px;
  display:block;
}
/* Swiper controls */
.uvv-swiper-nav{
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top: .9rem;
}

.uvv-swiper-btn{
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid var(--border);
  background:#fff;
  cursor:pointer;
  font-size: 22px;
  line-height: 1;
  display:flex;
  align-items:center;
  justify-content:center;
}

.uvv-swiper-btn:hover{
  background: var(--muted);
  color: #000 !important
}

.uvv-swiper-pagination{
  flex:1;
  display:flex;
  justify-content:center;
}
.uvv-footer__intro{
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.6;
  color: #2b2b2b;
}

.uvv-footer__intro ul{
  padding-left: 18px;
  margin: 6px 0 0;
}

.uvv-footer__intro li{
  margin-bottom: 4px;
}

.uvv-footer__intro strong{
  font-weight: 700;
}




/* Chỉ hiện nav trên mobile */
@media (max-width:768px){
  .uvv-swiper-nav{ display:flex; }
}

@media (max-width:768px){
  /* .uvv-logo__img{ height:24px; max-width:180px; } */
}

@media (max-width: 900px){
  .uvv-grid-2{ grid-template-columns:1fr; gap: 0 }
}
@media (max-width:768px){
  .uvv-section{ padding:3rem 0; }
  .uvv-grid-3,.uvv-grid-4{ grid-template-columns:1fr; }
  .uvv-stats{ grid-template-columns:repeat(2,1fr); gap : 1rem }
  .uvv-features{ grid-template-columns:1fr; }
  .uvv-checklist{ grid-template-columns:repeat(1,1fr); }
  .uvv-nav--desktop,.uvv-cta--desktop{ display:none; }
  .uvv-menu-toggle{ display:block; }
  .uvv-hide-mobile{ display:none; }
  .uvv-buttons{ flex-direction:column; }
  .uvv-container{
    padding: 0 1rem;
  }

  
}

