/* KHUNG DÙNG CHUNG cả web kimlybrows.com (tách khỏi tc.css 29/09/2026 để trang Thử màu dùng chung):
   kính · nút · thanh trên · nút nổi Liên hệ + bảng liên hệ · popup Đặt lịch/Phác hoạ.
   Trang nào dùng: nạp tệp này + /trang-chu/lien-he.js (tự gắn nút Liên hệ + popup vào trang). */
/* phông dự phòng ĐO KHỚP bề rộng Playfair / Be Vietnam Pro (đo 29/09) — phông thật tới muộn trên mạng chậm thì chữ
   không đổi dòng, không đẩy trang xê dịch. Georgia/Arial có sẵn trên iPhone, Mac, Windows. */
@font-face{font-family:"KL Serif";src:local("Georgia");size-adjust:101.1%;ascent-override:106.8%;descent-override:24.7%;line-gap-override:0%}
@font-face{font-family:"KL Sans";src:local("Arial"),local("Helvetica");size-adjust:107.3%;ascent-override:93.2%;descent-override:24.2%;line-gap-override:0%}
:root{
  --nen:#FDF7F4;--nau:#8A5D4E;--nau-dam:#7A4F41;--nau-sang:#A67564;--de:#4A2F27;--chu:#382E29;--phu:#6F5F58;
  --serif:"Playfair Display","KL Serif",Georgia,serif;--sans:"Be Vietnam Pro","KL Sans",system-ui,-apple-system,sans-serif;
}
/* đặt lại tối thiểu cho các khối dùng chung (trang không nạp tc.css vẫn đúng) — :where() để không lấn quy tắc riêng của khối */
:where(.thanh,.noi,.bang,.bang-lich) a{color:inherit;text-decoration:none}
:where(.thanh,.noi,.bang,.bang-lich) button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
:where(.thanh,.noi,.bang,.bang-lich) :is(p,img,svg){margin:0}
.thanh .logo{display:block;height:auto}.thanh .logo img{display:block}
.noi,.bang,.bang-lich{font-family:var(--sans)}

body.khoa{overflow:hidden}
.nhan-nho{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--nau);margin-bottom:14px}

/* ---------- kính ---------- */
.kinh-mong{background:linear-gradient(135deg,rgba(255,255,255,.58),rgba(255,255,255,.3));-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border:1px solid rgba(255,255,255,.75);box-shadow:0 8px 28px rgba(74,47,39,.12),inset 0 1px 0 rgba(255,255,255,.9)}
.kinh-day{position:relative;overflow:hidden;background:linear-gradient(140deg,rgba(255,255,255,.86),rgba(255,255,255,.66));-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);border:1px solid rgba(255,255,255,.9);box-shadow:0 14px 40px rgba(74,47,39,.12),inset 0 1px 0 #fff}
/* vệt phản chiếu chéo (bài học từ 8 ví dụ kính) */
.kinh-day::before{content:"";position:absolute;inset:-40% -60%;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.55) 49%,transparent 56%);pointer-events:none;transform:translateX(-30%)}

/* ---------- nút ---------- */
.nut{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 24px;border-radius:999px;background:var(--nau);color:#fff;font-weight:500;font-size:15.5px;transition:background .2s,transform .1s}
.nut:active{transform:scale(.97)}
@media (hover:hover){.nut:hover{background:var(--nau-dam)}.nut-kinh:hover{background:rgba(255,255,255,.75)}}
.nut-kinh{background:rgba(255,255,255,.5);color:var(--de);border:1px solid rgba(255,255,255,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 #fff,0 4px 16px rgba(74,47,39,.08)}
.nut-nho{min-height:40px;padding:0 18px;font-size:14px}
.hang-nut{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}

/* ---------- thanh trên: trong suốt → viên thuốc kính khi cuộn ---------- */
.thanh{position:fixed;z-index:20;top:0;left:0;right:0;height:64px;padding:0 max(16px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:16px;transition:top .35s,left .35s,right .35s,height .35s,border-radius .35s,background .35s,box-shadow .35s,padding .35s;padding-top:env(safe-area-inset-top)}
.thanh .logo img{height:26px;width:auto}
.thanh.co{top:max(10px,env(safe-area-inset-top));left:12px;right:12px;height:54px;border-radius:999px;padding:0 8px 0 18px;background:linear-gradient(135deg,rgba(255,255,255,.62),rgba(255,255,255,.34));-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);box-shadow:0 8px 28px rgba(74,47,39,.12),inset 0 1px 0 rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.7)}
/* MỘT menu cho mọi trang (Sếp 30/09 "đồng bộ ngoài lẫn trong"): điện thoại hiện nhãn ngắn (Mày · Môi · Mí · Cẩm nang…),
   máy tính hiện nhãn dài; mục "Đội ngũ" (data-doi-ngu) máy chủ tự ẩn khi web < 3 KTV; gạch chân mục đang ở */
.menu{display:flex;gap:13px;font-size:13px;font-weight:500;color:var(--de);white-space:nowrap}
.menu a{opacity:.85;padding:3px 0;border-bottom:1.5px solid transparent;transition:opacity .2s,border-color .2s}
.menu a:hover{opacity:1}.menu a[aria-current]{opacity:1;border-color:var(--nau)}
.menu .dai,.menu .chi-rong{display:none}
/* điện thoại (Sếp 30/09): thanh trên = logo + Đặt lịch; menu = NÚT MENU tròn đáy trái → ngăn kéo (lien-he.js dựng từ .menu) */
@media (max-width:899px){
  .menu{display:none}
  .thanh > .nut{display:inline-flex}
  .nut-menu{width:50px;height:50px;padding:0;justify-content:center;bottom:max(16px,env(safe-area-inset-bottom))}
  .co-nut-menu .noi,.co-nut-menu .bang{display:none}   /* Sếp 30/09: liên hệ nằm trong bảng menu — nút nổi + bảng riêng chỉ còn trên máy tính */
  .nut-menu{position:fixed;z-index:25;right:16px;display:flex;align-items:center;border-radius:999px;color:var(--de);cursor:pointer;transition:transform .2s}
  .co-nut-menu .noi{right:auto;left:16px}   /* Sếp 30/09: Menu bên PHẢI, Liên hệ bên TRÁI */
  .nut-menu:active,.co-nut-menu .noi:active{transform:scale(.94)}
  .nut-menu .noi-chu,.co-nut-menu .noi .noi-chu{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .co-nut-menu .bang .bang-ruot{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 62px);right:auto;left:16px;transform-origin:34px calc(100% + 36px)}
}
@media (min-width:900px){.nut-menu,.ngan-keo{display:none}}
/* ngăn kéo menu (Sếp 30/09 "cho nhỏ lại, kính trong hơn"): bảng nhỏ vừa nội dung, bung từ nút Menu ở góc phải đáy, kính trong */
.ngan-keo{position:fixed;inset:0;z-index:46}
.ngan-keo .man-toi{position:absolute;inset:0;background:rgba(36,25,21,.18);opacity:0;transition:opacity .25s}
.ngan-keo.mo .man-toi{opacity:1}
.ngan-ruot{position:absolute;right:16px;bottom:calc(max(16px,env(safe-area-inset-bottom)) + 62px);width:min(264px,calc(100vw - 32px));max-height:calc(100vh - 120px);overflow:auto;border-radius:24px;padding:10px 8px 8px;display:flex;flex-direction:column;gap:2px;
  background:linear-gradient(140deg,rgba(255,255,255,.5),rgba(255,255,255,.26));-webkit-backdrop-filter:blur(26px) saturate(170%);backdrop-filter:blur(26px) saturate(170%);border:1px solid rgba(255,255,255,.75);box-shadow:0 14px 40px rgba(74,47,39,.16),inset 0 1px 0 rgba(255,255,255,.9);
  transform-origin:calc(100% - 34px) calc(100% + 36px);transform:translateY(14px) scale(.4);opacity:0;transition:transform .4s cubic-bezier(.2,1.15,.35,1),opacity .18s ease-out}
.ngan-ruot::before{display:none}
.ngan-keo.mo .ngan-ruot{transform:none;opacity:1}
.ngan-keo.dang-dong .ngan-ruot{transition:transform .2s ease-in,opacity .16s ease-in .03s}
.ngan-dau{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 8px 8px;border-bottom:1px solid rgba(138,93,78,.14);margin-bottom:4px}
.ngan-dau img{display:block;height:20px;width:auto}
.ngan-dau .lich-dong{width:30px;height:30px}
.ngan-ruot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.ngan-ruot li a{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:14px;font-size:15px;font-weight:600;color:var(--de);text-decoration:none}
.ngan-ruot li a .o-icon{width:34px;height:34px;border-radius:10px}
.ngan-ruot li a[aria-current]{background:var(--nau);color:#fff}
.ngan-ruot li a[aria-current] .o-icon{background:rgba(255,255,255,.18);border-color:transparent;color:#fff}
.ngan-ruot li a:active{background:rgba(138,93,78,.12)}
.ngan-lh{margin:8px 0 2px;padding:6px 8px 0;border-top:1px solid rgba(138,93,78,.14);font-size:10.5px;letter-spacing:.14em}
.ngan-lh-chu{display:flex;flex-direction:column;min-width:0}.ngan-lh-ds li a small{display:block;font-size:11.5px;font-weight:400;color:var(--phu);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ngan-lh-ds li a{padding:5px 8px;line-height:1.25}
.ngan-dat{margin-top:6px;min-height:44px;font-size:15px}
@media (prefers-reduced-motion:reduce){.ngan-ruot,.ngan-keo .man-toi{transition:none}}

@media (min-width:900px){.thanh.co{left:50%;right:auto;width:min(1040px,calc(100% - 24px));transform:translateX(-50%)}.menu{gap:26px;font-size:14.5px}.menu .dai,.menu .chi-rong{display:inline}.menu .ngan{display:none}}

/* ---------- nút nổi Liên hệ + bảng liên hệ bung ra từ chính nút (Sếp 29/09) ---------- */
.noi{position:fixed;z-index:25;right:16px;bottom:max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:8px;height:50px;padding:0 20px 0 16px;border-radius:999px;color:var(--de);font-weight:600;font-size:15px;transition:transform .2s,box-shadow .2s}
.noi:active{transform:scale(.96)}
.noi-icon{position:relative;width:20px;height:20px}
.noi-icon svg{position:absolute;inset:0;transition:transform .35s cubic-bezier(.2,1,.3,1),opacity .2s}
.noi .i-x{opacity:0;transform:rotate(-90deg) scale(.5)}
.noi.mo{z-index:45}
.noi.mo .i-chat{opacity:0;transform:rotate(90deg) scale(.5)}
.noi.mo .i-x{opacity:1;transform:none}
.bang{position:fixed;inset:0;z-index:40}
.man-toi{position:absolute;inset:0;background:rgba(36,25,21,.2);opacity:0;transition:opacity .25s}
.bang.mo .man-toi{opacity:1}
.bang .bang-ruot{position:absolute;right:16px;bottom:calc(max(16px,env(safe-area-inset-bottom)) + 62px);width:min(340px,calc(100vw - 32px));border-radius:26px;padding:16px 10px 10px;display:flex;flex-direction:column;gap:4px;
  transform-origin:calc(100% - 50px) calc(100% + 36px);transform:translateY(18px) scale(.35);opacity:0;
  transition:transform .42s cubic-bezier(.2,1.15,.35,1),opacity .18s ease-out}
.bang.mo .bang-ruot{transform:none;opacity:1}
.bang.dang-dong .bang-ruot{transition:transform .22s ease-in,opacity .18s ease-in .04s}
.bang-ruot .nhan-nho{padding:0 10px;margin-bottom:4px}
.lua-chon{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:18px;background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.9);
  opacity:0;transform:translateY(8px);transition:opacity .25s,transform .35s cubic-bezier(.2,1,.3,1),background .15s}
.bang.mo .lua-chon{opacity:1;transform:none;transition-delay:calc(.06s + var(--i) * .045s),calc(.06s + var(--i) * .045s),0s}
.bang.dang-dong .lua-chon{transition-delay:0s}
.o-icon{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:var(--nau);background:rgba(138,93,78,.1);border:1px solid rgba(138,93,78,.12)}
.o-icon svg{display:block}
.chu-chon{flex:1;display:flex;flex-direction:column;min-width:0}
.chu-chon b{color:var(--de);font-size:15.5px;font-weight:600}
.chu-chon span{font-size:13px;color:var(--phu)}
.lua-chon .mui{flex:none;color:var(--nau-sang);opacity:.7}
.lua-chon:active{background:#fff}
@media (hover:hover){.lua-chon:hover{background:rgba(255,255,255,.95)}}
@media (prefers-reduced-motion:reduce){.bang .bang-ruot,.lua-chon,.man-toi{transition:none}}

/* ---------- popup Đặt lịch: bung ra từ nút vừa bấm (gốc bung đặt bằng JS) ---------- */
.bang-lich{position:fixed;inset:0;z-index:50}
.bang-lich.mo .man-toi{opacity:1}
.lich-ruot{position:absolute;top:calc(max(10px,env(safe-area-inset-top)) + 62px);left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));
  border-radius:26px;display:flex;flex-direction:column;overflow:hidden;
  transform:scale(.2);opacity:0;transition:transform .45s cubic-bezier(.2,1.1,.35,1),opacity .2s ease-out}
.bang-lich .lich-ruot{position:absolute}
.bang-lich.mo .lich-ruot{transform:none;opacity:1}
.bang-lich.dang-dong .lich-ruot{transition:transform .24s ease-in,opacity .2s ease-in .04s}
@media (min-width:700px){.lich-ruot{left:50%;right:auto;width:560px;margin-left:-280px;bottom:auto;height:min(700px,calc(100svh - 96px))}}
.lich-dau{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 8px 20px;border-bottom:1px solid rgba(138,93,78,.12)}
.lich-dau .nhan-nho{margin:0}
.lich-dong{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--de);background:rgba(138,93,78,.08)}
.lich-khung{position:relative;flex:1;min-height:0;background:var(--nen)}
.lich-khung iframe{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;transition:opacity .25s}
.lich-khung iframe.xong-tai{opacity:1}
.lich-cho{position:absolute;inset:0;display:grid;place-items:center;font-size:14px;color:var(--phu)}
@media (prefers-reduced-motion:reduce){.lich-ruot{transition:none}}

/* ---------- Ảnh cho web (chèn từ máy chủ, functions/_lib/anh-web.js) ---------- */
.anh-web-luoi{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:14px;margin-top:18px}
.anh-web{margin:0;border-radius:20px;overflow:hidden;background:#fff;border:1px solid rgba(138,93,78,.14);box-shadow:0 8px 24px rgba(74,47,39,.08)}
.anh-web img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#F2E4DC}
.anh-web figcaption{padding:10px 14px 12px;font-family:var(--sans);font-size:13.5px;line-height:1.45;color:var(--phu)}
.anh-web figcaption b{display:block;color:var(--de);font-weight:600;font-size:14px}
