/*
 * SANITEC — top-bar, header, footer, modal chọn đối tượng dùng chung mọi trang.
 * SINH TỰ ĐỘNG từ _design-reference/Sanitec-homepage-demo-dev.light.html: các rule của khối #snt-ui, giữ nguyên thứ tự
 * cascade, bỏ tiền tố #snt-ui → .snt-ui (đặt class .snt-ui lên khối bọc top-bar+header / footer / modal).
 * Rule [data-view="mobile"] của thiết kế (khung giả lập) được chuyển thành @media(max-width:760px).
 * Chỗ KHÁC thiết kế (bắt buộc kỹ thuật): modal dùng position:fixed (thiết kế dùng absolute trong khung demo);
 * rule submenu bên dưới chỉ để menu nhiều cấp do admin quản lý vẫn dùng được (thiết kế chỉ có 6 mục phẳng).
 */
.snt-ui{
  --snt-green:#006b2f;--snt-green-2:#0a8842;--snt-lime:#b5d334;--snt-ink:#132920;--snt-muted:#53685d;
  --snt-cream:#f4f8f4;--snt-soft:#e7f2ea;--snt-line:#d5e3d9;--snt-white:#ffffff;--snt-dark:#10392a;
  width:100%;color:var(--snt-ink);font-family:'Be Vietnam Pro',Arial,sans-serif;
}
.snt-ui *{box-sizing:border-box}
.snt-ui a{text-decoration:none;color:inherit}
.snt-ui button,.snt-ui input,.snt-ui select,.snt-ui textarea{font:inherit}
.snt-ui .snt-container{width:min(1120px,90%);margin:0 auto}
.snt-ui .snt-top-audience{height:42px;background:#29434d;color:#fff}
.snt-ui .snt-top-audience-inner{height:100%;display:flex;align-items:center;justify-content:space-between;width:min(1120px,90%);margin:0 auto}
.snt-ui .snt-top-contact{font-size:11px;font-weight:500;opacity:.9}
.snt-ui .snt-audience-tabs{height:100%;display:flex;margin-left:auto}
.snt-ui .snt-audience-tab{min-width:132px;height:100%;border:0;background:transparent;color:#fff;padding:0 22px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.snt-ui .snt-audience-tab.is-active{background:var(--snt-green-2)}
.snt-ui .snt-header{height:76px;display:flex;align-items:center;gap:28px;background:#fff;border-bottom:1px solid var(--snt-line);padding:0 5%}
.snt-ui .snt-brand{font-size:26px;font-weight:700;color:var(--snt-green);letter-spacing:-1.3px;white-space:nowrap}
.snt-ui .snt-brand small{font-size:9px;letter-spacing:0;margin-left:2px;vertical-align:top}
.snt-ui .snt-nav{display:flex;justify-content:flex-end;gap:27px;flex:1;font-size:12px;font-weight:500;color:#34483e}
.snt-ui h1,.snt-ui h2,.snt-ui h3,.snt-ui p{margin-top:0}
.snt-ui h1{font-size:43px;line-height:1.14;letter-spacing:-1.6px;max-width:690px;margin-bottom:18px;font-weight:700}
.snt-ui h2{font-size:29px;line-height:1.25;letter-spacing:-.7px;margin-bottom:12px;font-weight:700}
.snt-ui h3{font-size:15px;line-height:1.4;margin-bottom:8px;font-weight:600}
.snt-ui p{font-size:13px;line-height:1.72;color:var(--snt-muted)}
.snt-ui .snt-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eaf4ed;color:var(--snt-green);margin-bottom:16px}
.snt-ui .snt-icon svg{width:20px;height:20px}
.snt-ui .snt-footer{padding:42px 0;background:#071d14;color:#fff}
.snt-ui .snt-footer-grid{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:30px}
.snt-ui .snt-footer p{font-size:10px;color:rgba(255,255,255,.58)}
.snt-ui .snt-footer-title{font-size:11px;font-weight:700;margin-bottom:11px}
.snt-ui{position:relative}
.snt-ui .snt-audience-modal{position:absolute;inset:0;z-index:80;display:none;align-items:flex-start;justify-content:center;padding:92px 20px;background:rgba(5,24,16,.72);backdrop-filter:blur(6px)}
.snt-ui .snt-audience-modal.is-open{display:flex}
.snt-ui .snt-audience-dialog{position:relative;width:min(650px,90%);background:#fff;border-radius:20px;padding:25px 26px 20px;box-shadow:0 30px 90px rgba(0,0,0,.28);text-align:center}
.snt-ui .snt-modal-close{position:absolute;right:15px;top:15px;width:34px;height:34px;border:0;background:#edf4ef;color:#254638;border-radius:50%;display:grid;place-items:center}
.snt-ui .snt-modal-brand{font-size:20px;font-weight:700;color:var(--snt-green);letter-spacing:-1px;margin-bottom:9px}
.snt-ui .snt-modal-brand small{font-size:7px;letter-spacing:0;vertical-align:top;margin-left:2px}
.snt-ui .snt-audience-dialog h2{font-size:25px;max-width:none;margin-bottom:6px;font-weight:600}
.snt-ui .snt-audience-dialog>p{max-width:none;font-size:11px;margin-bottom:0}
.snt-ui .snt-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;text-align:left}
.snt-ui .snt-choice{position:relative;text-align:left;border:1px solid #dbe6de;background:#fff;border-radius:15px;padding:20px;min-height:210px;color:var(--snt-ink);transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.snt-ui .snt-choice:hover{transform:translateY(-4px);border-color:var(--snt-green)}
.snt-ui .snt-choice.business{background:linear-gradient(135deg,#087238,#035426);color:#fff;border-color:transparent}
.snt-ui .snt-choice .snt-icon{width:38px;height:38px;margin-bottom:12px}
.snt-ui .snt-choice.business .snt-icon{background:rgba(255,255,255,.15);color:#fff}
.snt-ui .snt-choice h3{font-size:15px;margin-bottom:5px}
.snt-ui .snt-choice p{font-size:10px;line-height:1.5;margin:0;color:#617268}
.snt-ui .snt-choice.business p{color:rgba(255,255,255,.74)}
.snt-ui .snt-choice-link{position:absolute;left:20px;bottom:17px;display:inline-flex;align-items:center;min-height:32px;padding:7px 11px;border-radius:8px;background:var(--snt-green);color:#fff;font-size:12px;font-weight:700;box-shadow:0 6px 16px rgba(0,107,47,.16)}
.snt-ui .snt-choice.business .snt-choice-link{background:#fff;color:var(--snt-green);box-shadow:none}
.snt-ui .snt-choice-arrow{position:absolute;right:18px;bottom:17px}
.snt-ui .snt-modal-hint{margin:15px 0 0;color:#77877f;font-size:10px;text-align:center}
@media(max-width:760px){.snt-ui .snt-choice-grid{grid-template-columns:1fr}.snt-ui .snt-audience-dialog{padding:22px 18px 18px}.snt-ui .snt-audience-modal{padding:58px 12px}.snt-ui .snt-choice{min-height:184px;padding:18px}.snt-ui .snt-choice-link{left:18px}.snt-ui .snt-audience-dialog h2{font-size:22px}}
.snt-ui .snt-container{width:min(1440px,calc(100% - 96px))}
.snt-ui .snt-top-audience-inner{width:min(1440px,calc(100% - 96px))}
.snt-ui h1{font-size:56px;line-height:1.08;letter-spacing:-2.2px;max-width:820px;margin-bottom:24px}
.snt-ui h2{font-size:40px;line-height:1.16;letter-spacing:-1.15px;margin-bottom:16px}
.snt-ui h3{font-size:19px;line-height:1.35;margin-bottom:10px}
.snt-ui p{font-size:16px;line-height:1.7}
.snt-ui .snt-container,.snt-ui .snt-top-audience-inner{width:calc(100% - clamp(40px,8vw,144px));max-width:1560px;margin-left:auto;margin-right:auto}
.snt-ui .snt-header{padding-left:clamp(20px,4vw,72px);padding-right:clamp(20px,4vw,72px);height:88px}
.snt-ui .snt-brand{font-size:30px}
.snt-ui .snt-nav{gap:clamp(18px,2.2vw,38px);font-size:15px}
.snt-ui .snt-top-audience{height:48px}
.snt-ui .snt-top-contact,.snt-ui .snt-audience-tab{font-size:13px}
.snt-ui h1{font-size:clamp(48px,4vw,64px);line-height:1.08;max-width:920px}
.snt-ui h2{font-size:clamp(36px,2.7vw,44px);line-height:1.16}
.snt-ui h3{font-size:21px}
.snt-ui p{font-size:16px;line-height:1.65}
.snt-ui .snt-audience-modal{padding:28px}
.snt-ui .snt-audience-dialog{width:min(900px,94%);padding:36px 38px 30px;border-radius:26px}
.snt-ui .snt-modal-brand{font-size:24px}
.snt-ui .snt-audience-dialog h2{font-size:32px;margin-bottom:9px}
.snt-ui .snt-audience-dialog>p{font-size:14px}
.snt-ui .snt-choice-grid{gap:18px;margin-top:28px}
.snt-ui .snt-choice{min-height:285px;padding:26px;display:flex;flex-direction:column;align-items:flex-start}
.snt-ui .snt-choice .snt-icon{width:46px;height:46px;margin-bottom:18px}
.snt-ui .snt-choice h3{font-size:20px;line-height:1.35;margin-bottom:9px}
.snt-ui .snt-choice p{font-size:14px;line-height:1.55;margin-bottom:20px}
.snt-ui .snt-choice-link{position:static;margin-top:auto;min-height:44px;padding:10px 14px;font-size:14px}
.snt-ui .snt-choice-arrow{right:26px;bottom:29px}
.snt-ui .snt-modal-hint{font-size:12px;margin-top:20px}
@media(max-width:760px){.snt-ui .snt-container,.snt-ui .snt-top-audience-inner{width:calc(100% - 32px)}.snt-ui .snt-audience-dialog{width:100%}.snt-ui .snt-choice{min-height:232px}}
.snt-ui .snt-container,.snt-ui .snt-top-audience-inner{width:calc(100% - clamp(40px,7vw,128px));max-width:1280px}
.snt-ui .snt-header{padding-left:max(32px,calc((100% - 1280px)/2));padding-right:max(32px,calc((100% - 1280px)/2))}
.snt-ui h2{font-size:clamp(34px,2.4vw,40px)}
.snt-ui .snt-audience-dialog{width:min(760px,92%);padding:28px 30px 24px;border-radius:22px}
.snt-ui .snt-modal-brand{font-size:21px;margin-bottom:6px}
.snt-ui .snt-audience-dialog h2{font-size:28px;margin-bottom:6px}
.snt-ui .snt-audience-dialog>p{font-size:13px}
.snt-ui .snt-choice-grid{gap:14px;margin-top:22px}
.snt-ui .snt-choice{min-height:230px;padding:21px}
.snt-ui .snt-choice .snt-icon{width:40px;height:40px;margin-bottom:12px}
.snt-ui .snt-choice h3{font-size:18px;margin-bottom:6px}
.snt-ui .snt-choice p{font-size:13px;line-height:1.5;margin-bottom:14px}
.snt-ui .snt-choice-link{min-height:40px;padding:8px 12px;font-size:13px}
.snt-ui .snt-choice-arrow{right:21px;bottom:24px}
.snt-ui .snt-modal-hint{font-size:11px;margin-top:15px}
.snt-ui{--snt-green:#006d32;--snt-green-2:#07883f;--snt-muted:#445e52;--snt-lime:#b7d72e}

/* Khác thiết kế (kỹ thuật): modal phủ toàn màn hình thật thay vì khung demo */
.snt-ui .snt-audience-modal{position:fixed;overflow:auto}
/* Khác thiết kế (kỹ thuật): menu con cho menu nhiều cấp do admin quản lý */
.snt-ui .snt-nav{align-items:center}
.snt-ui .snt-nav .nav-item{position:relative;display:flex;align-items:center;gap:4px}
.snt-ui .snt-nav .sub-toggle{border:0;background:transparent;color:inherit;cursor:pointer;padding:4px}
.snt-ui .snt-nav .submenu{display:none;position:absolute;top:100%;left:0;min-width:200px;margin:0;padding:8px;list-style:none;background:#fff;border:1px solid var(--snt-line);border-radius:10px;box-shadow:0 16px 36px rgba(16,37,28,.12);z-index:30;flex-direction:column}
.snt-ui .snt-nav .nav-item.is-open .submenu{display:flex}
.snt-ui .snt-nav .submenu a{display:block;padding:8px 10px;border-radius:6px}
.snt-ui .snt-nav .submenu a:hover{background:var(--snt-cream)}
.snt-ui .snt-nav a.is-active,.snt-ui .snt-nav .nav-label.is-active{color:var(--snt-green)}

@media(max-width:760px){
.snt-ui .snt-header{height:66px;padding:0 18px}
.snt-ui .snt-nav{display:none}
.snt-ui .snt-top-audience{height:auto}
.snt-ui .snt-top-audience-inner{width:100%;display:block}
.snt-ui .snt-top-contact{display:none}
.snt-ui .snt-audience-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%;height:40px}
.snt-ui .snt-audience-tab{min-width:0;padding:0 10px}
.snt-ui .snt-container{width:calc(100% - 36px)}
.snt-ui h1{font-size:32px}
.snt-ui h2{font-size:24px}
.snt-ui .snt-footer-grid{grid-template-columns:1fr}
.snt-ui .snt-audience-dialog{width:100%;padding:22px 18px 18px;border-radius:18px}
.snt-ui .snt-audience-dialog h2{font-size:22px;padding:0 22px}
.snt-ui .snt-audience-dialog>p{padding:0 10px}
.snt-ui .snt-choice-grid{grid-template-columns:1fr;gap:10px;margin-top:17px}
.snt-ui .snt-choice{min-height:204px;padding:17px}
.snt-ui .snt-choice .snt-icon{margin-bottom:11px}
.snt-ui .snt-choice h3{font-size:15px}
.snt-ui .snt-choice p{font-size:10px;line-height:1.55;max-width:290px}
.snt-ui .snt-choice-link{left:17px;bottom:16px}
.snt-ui .snt-choice-arrow{right:17px;bottom:15px}
.snt-ui .snt-modal-hint{line-height:1.5;padding:0 16px}
.snt-ui .snt-container,.snt-ui .snt-top-audience-inner{width:calc(100% - 32px)}
.snt-ui h1{font-size:39px}
.snt-ui h2{font-size:31px}
.snt-ui p{font-size:15px}
.snt-ui .snt-container,.snt-ui .snt-top-audience-inner{width:calc(100% - 32px)}
.snt-ui .snt-top-audience{height:42px}
.snt-ui .snt-top-contact{font-size:11px}
.snt-ui .snt-audience-tab{min-width:auto;padding:0 12px;font-size:10px}
.snt-ui .snt-header{height:72px;padding:0 16px}
.snt-ui .snt-brand{font-size:25px}
.snt-ui h1{font-size:39px;line-height:1.12;letter-spacing:-1.4px}
.snt-ui h2{font-size:31px;line-height:1.2}
.snt-ui h3{font-size:20px}
.snt-ui p{font-size:16px;line-height:1.6}
.snt-ui .snt-audience-modal{padding:14px;align-items:flex-start;overflow:auto}
.snt-ui .snt-audience-dialog{width:100%;padding:24px 18px 20px;border-radius:20px;margin:10px 0}
.snt-ui .snt-audience-dialog h2{font-size:27px;padding:0 22px}
.snt-ui .snt-audience-dialog>p{font-size:14px}
.snt-ui .snt-choice-grid{grid-template-columns:1fr;gap:12px;margin-top:20px}
.snt-ui .snt-choice{min-height:232px;padding:20px}
.snt-ui .snt-choice h3{font-size:19px}
.snt-ui .snt-choice p{font-size:14px}
.snt-ui .snt-choice-link{font-size:14px;min-height:42px}
.snt-ui .snt-choice-arrow{right:21px;bottom:27px}
.snt-ui .snt-container,.snt-ui .snt-top-audience-inner{width:calc(100% - 32px)}
.snt-ui .snt-audience-dialog{width:100%;padding:22px 17px 18px}
.snt-ui .snt-audience-dialog h2{font-size:25px}
.snt-ui .snt-choice{min-height:210px;padding:18px}
.snt-ui .snt-choice h3{font-size:18px}
.snt-ui .snt-choice p{font-size:13px}
}

/* ===== THAY ĐỔI SO VỚI THIẾT KẾ (chủ dự án duyệt): thanh liên hệ nhanh mobile dùng chung toàn site =====
   Lấy kiểu từ .mobile-bar của thiết kế trang Gia đình (lưới 2 nút, nền trắng, đổ bóng; nút 1 xanh #08743b, nút 2 #0a9d50),
   nhưng dính đáy màn hình (fixed) trên MỌI trang. Nằm DƯỚI modal chọn đối tượng (z-index 70 < 80). */
.snt-ui .snt-mobile-bar{display:none}
.snt-ui a.snt-audience-tab{display:inline-flex;align-items:center;justify-content:center}
@media(max-width:760px){
  .snt-ui .snt-mobile-bar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:70;background:#fff;padding:8px;box-shadow:0 -8px 25px rgba(5,48,34,.16)}
  .snt-ui .snt-mobile-bar a{display:block;padding:13px;text-align:center;background:#08743b;color:#fff;font-size:12px;font-weight:500;text-decoration:none}
  .snt-ui .snt-mobile-bar a:last-child:not(:first-child){background:#0a9d50}
  body.has-mobile-bar{padding-bottom:64px}
}
