/* Suối Trong (locnuoc4) — trang chủ y hệt mockup (xanh ngọc #0ea2a5 / xanh đậm #0b4e57, nền xanh ngọc nhạt màu gốc #c8e6e5), cỡ đo theo mockup x2.0 (09-29) */
@import url("https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&family=Dancing+Script:wght@500&display=swap");
:root { --st-teal: #0EA2A5; --st-dark: #0B4E57; --st-mid: #137A82; --st-ink: #10333A; --st-text: #4B5D61; --st-muted: #7C8C90; --st-line: #DCEAEB; --st-pale: #E8F6F6; }
body, p, li, a, input, select, textarea, button, h1, h2, h3, h4, td, th, .nav > li > a { font-family: "Be Vietnam Pro", sans-serif !important; }
.st-script, .st-script * { font-family: "Dancing Script", cursive !important; }
#top-bar { background: #D6EFEF !important; } #top-bar li.html, #top-bar a, #top-bar span { color: var(--st-ink) !important; font-size: 13.5px !important; text-transform: none !important; letter-spacing: 0 !important; } .st-tbr b { font-size: 16px; font-weight: 700; }
#header .header-main { background: #fff !important; } #header #logo { width: 220px !important; margin: 0 !important; top: 0 !important; }
#header #logo a { top: 0 !important; margin: 0 !important; white-space: nowrap; display: flex; align-items: center; gap: 14px; font-size: 30px; font-weight: 700; color: var(--st-dark) !important; line-height: 1; text-transform: none; }
#header #logo a::before { content: ""; width: 54px; height: 64px; flex: 0 0 54px; background: url(icons/logo.png) center/contain no-repeat; }
#header .header-nav-main > li > a { background: transparent !important; padding: 0 4px !important; font-size: 15px !important; font-weight: 500 !important; color: var(--st-ink) !important; text-transform: none !important; letter-spacing: 0 !important; } #header .header-nav-main { flex-wrap: nowrap !important; } #header .header-nav-main > li { margin: 0 14px !important; white-space: nowrap; } #header .header-nav-main > li.active > a { color: var(--st-dark) !important; font-weight: 700 !important; box-shadow: inset 0 -3px 0 var(--st-teal); }
.st-hr { display: inline-flex; align-items: center; gap: 26px; } .st-hr img { width: 26px; height: 26px; } .st-hr a { display: inline-flex; align-items: center; gap: 10px; color: var(--st-ink) !important; font-size: 15px; font-weight: 600; } .st-hr .ph { margin-left: 30px; }
.mobile-nav i, .mobile-nav .icon-menu { color: var(--st-dark) !important; }
.st-sec p { margin-bottom: 0; }
.st-kicker { color: var(--st-ink) !important; font-size: 16px !important; font-weight: 500; text-transform: uppercase; margin: 0 0 8px !important; } .st-kicker-t { color: var(--st-teal) !important; font-size: 14px !important; font-weight: 600; }
.st-h2 { color: var(--st-dark) !important; font-size: 29px !important; font-weight: 700 !important; line-height: 1.25 !important; margin: 0 !important; } .st-h2-big { font-size: 33px !important; }
.st-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; border-radius: 30px; font-size: 16px; font-weight: 600; padding: 0 30px; min-height: 50px; text-decoration: none !important; } .st-btn img { width: 22px; height: 22px; } .st-btn-d { background: var(--st-dark); color: #fff !important; } .st-btn-w { background: #fff; border: 1.5px solid var(--st-teal); color: var(--st-dark) !important; } .st-btn-t { background: var(--st-mid); color: #fff !important; border-radius: 8px; } .st-btn-l { background: #E8F7F7; color: var(--st-dark) !important; border-radius: 8px; min-width: 220px; }
/* hero */
.st-hero .col { padding: 0 !important; } .st-hero-in { position: relative; height: 382px; background-size: cover; background-position: center; } .st-hero-in::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 60%; background: linear-gradient(90deg, rgba(255,255,255,.9) 0%, rgba(255,255,255,.72) 45%, rgba(255,255,255,0) 100%); }
.st-hero-t { position: relative; padding: 76px 0 0 max(115px, calc((100vw - 1300px) / 2 + 15px)); } .st-hero-title { color: var(--st-dark) !important; font-size: 46px !important; font-weight: 800 !important; line-height: 1.18 !important; margin: 0 0 10px !important; } .st-hero-lead { color: var(--st-text) !important; font-size: 19px !important; margin: 0 0 24px !important; }
.st-btns { display: flex; gap: 16px; margin: 0 !important; }
.st-partner { position: absolute; right: max(30px, calc((100vw - 1300px) / 2 - 50px)); top: 0; width: 350px; height: 382px; background: var(--st-dark); border-radius: 10px; padding: 26px 36px; color: #fff; } .st-partner h2 { color: #fff !important; font-size: 26px !important; font-weight: 600 !important; line-height: 1.25 !important; margin: 0 0 12px !important; } .st-partner > p { color: rgba(255,255,255,.88); font-size: 13.5px; margin: 0 0 16px !important; }
.st-pi { display: flex; align-items: center; gap: 12px; font-size: 14.5px; font-weight: 600; margin: 0 0 12px !important; } .st-pi span { width: 32px; height: 32px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; } .st-pi img { width: 20px; height: 20px; }
.st-partner form { display: grid; gap: 12px; margin: 18px 0 0; } .st-partner input { margin: 0 !important; border: 0 !important; border-radius: 6px !important; height: 46px !important; font-size: 14px !important; } .st-partner button { background: #9EDFE0; color: var(--st-dark); border: 0; border-radius: 6px; margin: 0; min-height: 46px; font-size: 15px; font-weight: 600; text-transform: none; letter-spacing: 0; }
/* video + lắp đặt */
.st-duo-in { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; } .st-video, .st-inst { height: 258px; border-radius: 10px; background-size: cover; background-position: center; position: relative; overflow: hidden; }
.st-video { display: flex; align-items: flex-end; gap: 26px; padding: 30px; color: #fff !important; text-decoration: none !important; } .st-video::before { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,40,45,.6), rgba(8,40,45,0) 60%); } .st-video > * { position: relative; }
.st-video i { width: 76px; height: 76px; border-radius: 50%; background: rgba(160,230,230,.85); color: var(--st-dark); font-style: normal; font-size: 26px; display: flex; align-items: center; justify-content: center; } .st-video span { font-size: 13px; } .st-video b { display: block; font-size: 22px; font-weight: 600; line-height: 1.25; margin-bottom: 4px; }
.st-inst { padding: 30px 40px 20px; } .st-inst::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(232,246,246,.85) 0%, rgba(232,246,246,0) 55%); } .st-inst > * { position: relative; } .st-inst h3 { color: var(--st-dark) !important; font-size: 24px !important; font-weight: 600 !important; line-height: 1.3 !important; margin: 20px 0 0 !important; }
.st-inst p { position: absolute; left: 0; right: 0; bottom: 16px; display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 !important; } .st-inst p span { display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--st-ink); font-size: 13.5px; font-weight: 600; border-right: 1px solid var(--st-line); } .st-inst p span:last-child { border: 0; } .st-inst p img { width: 38px; height: 38px; background: #fff; border: 1.5px solid var(--st-teal); border-radius: 50%; padding: 5px; }
/* blog */
.st-head { display: flex; align-items: baseline; gap: 26px; margin-bottom: 14px; } .st-more { margin-left: auto; color: var(--st-dark) !important; font-size: 14px; font-weight: 600; white-space: nowrap; } .st-hsub { color: var(--st-text) !important; font-size: 15px !important; margin: 0 !important; }
.st-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px 32px; } .st-card { display: flex; flex-direction: column; background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 3px 14px rgba(11,78,87,.08); color: var(--st-text) !important; text-decoration: none !important; font-size: 14px; line-height: 1.45; padding-bottom: 14px; }
.st-card img { width: 100%; height: 132px; object-fit: cover; margin-bottom: 12px; } .st-card b { color: var(--st-ink); font-size: 17px; font-weight: 700; margin: 0 18px 4px; } .st-card span { margin: 0 18px 8px; } .st-card em { color: var(--st-mid); font-style: normal; font-size: 14px; font-weight: 600; margin: 0 18px; }
.st-alt { background: var(--st-pale) !important; }
/* sản phẩm */
.st-prods-sec .st-head { position: relative; } .st-arr { display: flex; gap: 14px; margin: 0 0 0 auto !important; } .st-arr a { width: 42px; height: 42px; border-radius: 50%; background: #fff; color: var(--st-dark) !important; font-size: 26px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.st-prods { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; } .st-prod { background: #fff; border-radius: 10px; overflow: hidden; padding-bottom: 18px; } .st-pimg { display: block; height: 184px; background: linear-gradient(180deg, #F2FAFA, #E5F4F4); } .st-pimg img { width: 100%; height: 100%; object-fit: contain; }
.st-prod b { display: block; color: var(--st-ink); font-size: 18px; font-weight: 700; margin: 12px 18px 2px; } .st-prod small { display: block; color: var(--st-muted); font-size: 13.5px; margin: 0 18px 8px; } .st-prod strong { display: block; color: var(--st-dark); font-size: 26px; font-weight: 800; margin: 0 18px 10px; }
.st-tags { display: flex; gap: 6px; margin: 0 18px 12px !important; flex-wrap: wrap; } .st-tags span { background: #F0F6F6; border: 1px solid var(--st-line); border-radius: 30px; padding: 3px 10px; color: var(--st-text); font-size: 12px; }
.st-pbtn { display: flex; align-items: center; justify-content: center; gap: 12px; background: var(--st-mid); color: #fff !important; border-radius: 8px; margin: 0 18px; min-height: 44px; font-size: 15px; font-weight: 600; } .st-pbtn img { width: 22px; height: 22px; filter: brightness(0) invert(1); }
/* đánh giá */
.st-head-l { align-items: center; } .st-rvs { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; } .st-rv { border: 1px solid var(--st-line); border-radius: 8px; padding: 6px 6px 14px; } .st-rv img { width: 100%; height: 112px; object-fit: cover; border-radius: 6px; margin-bottom: 10px; }
.st-rv p { color: var(--st-text); font-size: 13px; line-height: 1.5; font-style: italic; margin: 0 10px 8px !important; } .st-rv .st-stars { color: #F5B301; font-style: normal; font-size: 14px; letter-spacing: 2px; margin-bottom: 6px !important; } .st-rv b { display: block; color: var(--st-ink); font-size: 15px; margin: 0 10px; } .st-rv small { display: block; color: var(--st-muted); font-size: 12.5px; margin: 0 10px; }
.st-share { text-align: center; padding: 28px 0 20px; } .st-share h3 { color: var(--st-dark) !important; font-size: 25px !important; font-weight: 700 !important; margin: 0 0 4px !important; } .st-share p { color: var(--st-text); font-size: 16px; margin: 0 0 14px !important; } .st-share .st-btn { min-height: 42px; }
/* lắng nghe */
.st-cta .col { padding-bottom: 0 !important; } .st-cta .section-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,62,70,.85) 0%, rgba(8,62,70,.4) 45%, rgba(8,62,70,0) 65%); }
.st-cta-in { position: relative; min-height: 376px / 2; height: 188px; display: flex; flex-direction: column; justify-content: center; } .st-cta h2 { color: #fff !important; font-size: 30px !important; font-weight: 600 !important; margin: 0 0 4px !important; } .st-cta-in > p { color: #fff !important; font-size: 17px; margin: 0 0 18px !important; }
.st-script { position: absolute; right: 0; top: 40px; color: #fff !important; font-size: 28px !important; line-height: 1.2; transform: rotate(-12deg); margin: 0 !important; }
/* tin tức */
.st-nws { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px 30px; } .st-nw { display: flex; justify-content: space-between; gap: 10px; border: 1px solid var(--st-line); border-radius: 8px; padding: 12px 18px; background: linear-gradient(135deg, #fff, #EEF8F8); color: var(--st-text) !important; font-size: 13px; line-height: 1.45; text-decoration: none !important; }
.st-nw small { display: block; color: var(--st-teal); font-size: 12px; margin-bottom: 2px; } .st-nw b { display: block; color: var(--st-ink); font-size: 16px; font-weight: 700; line-height: 1.3; margin-bottom: 4px; } .st-nw img { width: 70px; height: 70px; flex: 0 0 70px; align-self: center; }
/* footer */
.st-footer { background: var(--st-dark) !important; } .st-footer, .st-footer p, .st-footer li, .st-footer a { color: rgba(255,255,255,.88) !important; } .st-footer h4 { color: #fff !important; font-size: 16px !important; font-weight: 600 !important; margin: 0 0 16px !important; }
.st-footer p.st-ft-logo { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; margin: 0 0 10px !important; } .st-ft-logo img { width: 90px; height: 90px; margin-left: 20px; } .st-ft-logo b { color: #fff; font-size: 36px; font-weight: 600; } .st-ft-slogan { font-size: 19px !important; line-height: 1.5 !important; }
.st-footer ul { list-style: none; margin: 0 !important; } .st-ft-links li { font-size: 14.5px; margin: 0 0 10px !important; } .st-ft-info li { display: flex; gap: 18px; font-size: 15px; margin: 0 0 10px !important; } .st-ft-info img { width: 20px; height: 20px; margin-top: 2px; } .st-ft-info b { color: #fff; font-size: 17px; }
.st-social { display: flex; gap: 18px; margin-top: 12px !important; } .st-social img { width: 26px; height: 26px; }
.st-ft-bottom { border-top: 1px solid rgba(255,255,255,.2); margin-top: 16px !important; } .st-ft-bottom .col { padding-bottom: 0 !important; } .st-ft-copy { display: flex; justify-content: space-between; font-size: 14px !important; padding: 18px 0; margin: 0 !important; }
.absolute-footer { display: none !important; }
@media (max-width: 849px) {
  .st-hero-in { height: auto; } .st-hero-in::before { width: 100%; } .st-hero-t { padding: 36px 20px; } .st-hero-title { font-size: 30px !important; } .st-btns { flex-direction: column; } .st-partner { position: static; width: auto; height: auto; border-radius: 0; }
  .st-duo-in, .st-cards, .st-prods, .st-rvs, .st-nws { grid-template-columns: 1fr 1fr; gap: 12px; } .st-duo-in { grid-template-columns: 1fr; } .st-h2, .st-h2-big { font-size: 23px !important; } .st-head { flex-wrap: wrap; } .st-hsub { width: 100%; order: 3; }
  .st-cta-in { height: auto; padding: 30px 0; } .st-script { display: none; } .st-nws { grid-template-columns: 1fr; } .st-ft-copy { flex-direction: column; gap: 6px; }
}
/* mid-fix */ @media (min-width: 1200px) { .st-ft-info a[href^="mailto"] { white-space: nowrap; font-size: 13.5px; } } /* /mid-fix */
/* mob-hero */ @media (max-width: 849px) { .st-hero-in { height: auto !important; padding-top: 230px !important; background-size: auto 230px !important; background-position: 85% 0 !important; background-repeat: no-repeat !important; background-color: #fff !important; } .st-hero-in::before { display: none !important; } .st-hero-t { padding: 20px 16px 24px !important; } .st-partner { position: static !important; width: auto !important; height: auto !important; margin: 0 16px 20px !important; } } @media (max-width: 849px) { .section.sti-hero { padding-top: 230px !important; background-color: #F2F9FA !important; min-height: 0 !important; } .sti-hero .section-bg { top: 0 !important; bottom: auto !important; height: 230px !important; background-size: cover !important; background-position: 62% 50% !important; } .sti-hero .section-bg::after, .sti-hero .section-bg::before, .sti-hero .section-bg-overlay { display: none !important; } .sti-hero [class*="hero-in"] { height: auto !important; min-height: 0 !important; padding: 20px 0 26px !important; justify-content: flex-start !important; } } @media (max-width: 849px) { .sti-ct3 .big { font-size: 24px !important; white-space: nowrap; overflow-wrap: normal !important; } } /* /mob-hero */
/* _midwidth: header Flatsome ở 850-1399px (laptop nhỏ/tablet ngang) — menu dựng theo mockup 1440 tràn phải; dùng chung mọi site */
@media (min-width: 850px) and (max-width: 1399px) {
  #header .header-nav-main > li, #header .header-bottom-nav > li { margin-left: 6px !important; margin-right: 6px !important; }
  #header .header-nav-main > li > a, #header .header-bottom-nav > li > a { font-size: 14px !important; }
  #header .header-search-form { max-width: 300px !important; width: 300px !important; margin-left: 20px !important; }
}
@media (min-width: 850px) and (max-width: 1199px) {
  #logo { width: auto !important; max-width: 210px !important; } #logo a { font-size: 21px !important; }
  #header .header-main .flex-right .header-button-1, #header .header-main .flex-right li.html, #header .header-search-form, #top-bar .flex-right { display: none !important; }
  #header .header-nav-main > li, #header .header-bottom-nav > li { margin-left: 3px !important; margin-right: 3px !important; }
  #header .header-nav-main > li > a, #header .header-bottom-nav > li > a { font-size: 13px !important; }
  #header .flex-col { min-width: 0; } #header .header-inner, #header .header-bottom .container { overflow: hidden; }
}
.col-inner a[href^="mailto"], .col-inner a[href^="tel"] { overflow-wrap: anywhere; }
