/* ================================================================
   THỢ ĐÂY — main.css (shared by sub-pages)
   Reuses tokens from style.css
   ================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Be+Vietnam+Pro:wght@400;500;600;700;800;900&display=swap');

:root {
  --primary: #059669;
  --primary-600: #059669;
  --primary-700: #047857;
  --primary-800: #065f46;
  --primary-500: #10b981;
  --primary-400: #34d399;
  --primary-50:  #ecfdf5;
  --primary-100: #d1fae5;
  --primary-200: #a7f3d0;
  --primary-dark: #064e3b;
  --primary-darker: #022c22;
  --accent: #f59e0b;
  --accent-500: #f59e0b;
  --accent-600: #d97706;
  --accent-700: #b45309;
  --accent-50: #fffbeb;
  --accent-100: #fef3c7;
  --hot: #ef4444;
  --ink-900: #0c1828;
  --ink-800: #1e293b;
  --ink-700: #334155;
  --ink-600: #475569;
  --ink-500: #64748b;
  --ink-400: #94a3b8;
  --ink-300: #cbd5e1;
  --ink-200: #e5e9ef;
  --ink-100: #f1f5f9;
  --ink-50:  #f8fafc;
  --bg: #fafbf9;
  --white: #ffffff;
  --cream: #fefdfb;
  --font-display: 'Plus Jakarta Sans', 'Be Vietnam Pro', system-ui, sans-serif;
  --font-body: 'Be Vietnam Pro', 'Plus Jakarta Sans', system-ui, sans-serif;
  --r-xs: 8px; --r-sm: 12px; --r-md: 16px; --r-lg: 20px; --r-xl: 28px; --r-2xl: 36px; --r-3xl: 48px; --r-pill: 999px;
  --shadow-xs: 0 1px 2px rgba(12,24,40,.04);
  --shadow-sm: 0 2px 8px rgba(12,24,40,.06), 0 1px 2px rgba(12,24,40,.04);
  --shadow-md: 0 10px 30px -10px rgba(12,24,40,.14), 0 2px 6px rgba(12,24,40,.05);
  --shadow-lg: 0 28px 56px -20px rgba(12,24,40,.22), 0 6px 16px rgba(12,24,40,.07);
  --shadow-xl: 0 40px 80px -28px rgba(12,24,40,.3), 0 8px 20px rgba(12,24,40,.08);
  --shadow-emerald: 0 14px 32px -8px rgba(5,150,105,.4);
  --shadow-emerald-lg: 0 24px 48px -12px rgba(5,150,105,.5);
  --shadow-amber: 0 14px 32px -8px rgba(245,158,11,.4);
  --t-fast: .15s cubic-bezier(.4,0,.2,1);
  --t: .25s cubic-bezier(.4,0,.2,1);
  --t-slow: .4s cubic-bezier(.4,0,.2,1);
}

* { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  color: var(--ink-900);
  background: var(--bg);
  line-height: 1.6;
  font-size: 15px;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: 'cv11', 'ss01', 'ss03';
  overflow-x: hidden;
  letter-spacing: -0.005em;
}
h1, h2, h3, h4, h5 {
  font-family: var(--font-display);
  letter-spacing: -0.02em;
  font-feature-settings: 'cv11', 'ss01', 'ss03';
}
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; }
.container { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.text-center { text-align: center; }

/* ===== HEADER (shared) ===== */
.header {
  position: sticky; top: 0; z-index: 1000;
  background: rgba(255,255,255,.85);
  backdrop-filter: saturate(160%) blur(14px);
  -webkit-backdrop-filter: saturate(160%) blur(14px);
  border-bottom: 1px solid rgba(15,23,42,.06);
}
.header::before {
  content: ''; position: absolute; inset: 0 0 auto 0; height: 3px;
  background: linear-gradient(90deg, var(--primary-500), var(--primary), var(--accent));
}
.header-inner {
  display: flex !important; align-items: center; justify-content: space-between;
  padding: 14px 0 !important;
}
.header .logo {
  display: flex !important; align-items: center; gap: 10px !important; text-decoration: none;
  flex: 1;
}
.header .logo img {
  height: 42px !important; width: 42px;
  object-fit: cover;
  border-radius: 12px !important;
  box-shadow: var(--shadow-sm);
}
.header .logo > div {
  font-family: var(--font-display);
  font-size: 22px !important; font-weight: 800 !important;
  color: var(--ink-900) !important;
  letter-spacing: -.5px; line-height: 1;
}
.header .logo strong { color: var(--primary) !important; font-weight: 800 !important; }
.main-nav {
  flex: none;
}
.main-nav ul {
  display: flex !important; gap: 6px !important;
  list-style: none; margin: 0 !important; padding: 4px !important;
  background: rgba(241,245,249,.6);
  border-radius: var(--r-pill);
  border: 1px solid rgba(15,23,42,.04);
}
.main-nav a {
  display: block;
  padding: 9px 16px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--ink-700) !important;
  border-radius: var(--r-pill);
  transition: var(--t-fast);
  text-decoration: none !important;
}
.main-nav a:hover { color: var(--primary) !important; background: rgba(255,255,255,.9); }
.main-nav a.active {
  color: var(--white) !important;
  background: var(--primary) !important;
  box-shadow: var(--shadow-sm);
}
.header-actions {
  display: flex !important; align-items: center; justify-content: flex-end; gap: 12px !important;
  flex: 1;
}
.hotline-btn {
  display: flex !important; align-items: center; gap: 8px !important;
  padding: 8px 14px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--ink-800) !important;
  border-radius: var(--r-pill);
  transition: var(--t-fast);
  text-decoration: none;
}
.hotline-btn:hover { background: var(--primary-50); color: var(--primary) !important; }
.hotline-btn i { color: var(--primary) !important; font-size: 15px; }
.cta-btn.primary {
  background: var(--primary) !important;
  color: var(--white) !important;
  border: none !important;
  padding: 11px 20px !important;
  border-radius: var(--r-pill) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center; gap: 8px !important;
  font-family: inherit;
  box-shadow: var(--shadow-emerald);
  transition: var(--t);
}
.cta-btn.primary:hover {
  background: var(--primary-700) !important;
  transform: translateY(-1px);
  box-shadow: var(--shadow-emerald-lg);
}

/* ===== FLOATING ACTION BUTTONS (shared, polished) ===== */
#floating-regs { font-family: var(--font-body) !important; }
#floating-regs a {
  border-radius: var(--r-pill) !important;
  font-weight: 700 !important;
  letter-spacing: .2px;
  border: none !important;
  backdrop-filter: blur(8px);
}
#floating-regs a:first-of-type {
  background: linear-gradient(135deg, var(--primary-500), var(--primary-700)) !important;
  box-shadow: 0 10px 25px -8px rgba(5,150,105,.5) !important;
}
#floating-regs a:last-of-type {
  background: linear-gradient(135deg, var(--accent), var(--accent-600)) !important;
  box-shadow: 0 10px 25px -8px rgba(245,158,11,.5) !important;
}
#fr-collapsed {
  background: linear-gradient(135deg, var(--primary-500), var(--primary-700)) !important;
  border: 3px solid var(--white) !important;
  box-shadow: 0 10px 30px -8px rgba(5,150,105,.6) !important;
  width: 56px !important; height: 56px !important;
  font-size: 22px !important;
}
#floating-regs > #fr-expanded > div:first-child {
  border-radius: var(--r-pill) !important;
  background: var(--white) !important;
  box-shadow: var(--shadow-md) !important;
  font-weight: 700 !important;
  border: 1px solid var(--ink-100) !important;
}

@media (max-width: 1024px) {
  .main-nav { display: none; }
}
@media (max-width: 640px) {
  .header-actions .cta-btn.primary { padding: 10px 14px !important; font-size: 12px !important; }
  .hotline-btn span { display: none; }
}
