/* ====== Style (FULL) for cuuhoxemaynhanh247.click ====== */
:root{
  --bg:#0b0c10; --layer:#0f1116; --panel:#121521; --soft:#f5f7fb;
  --ink:#eef2ff; --muted:#99a2b1; --brand:#e11d2f; --brand-2:#ff475d; --line:#222633;
  --r:16px; --r2:22px; --max:1160px;
  --s1:6px; --s2:10px; --s3:14px; --s4:18px; --s5:24px; --s6:32px; --s7:40px; --s8:56px;
  --shadow-sm:0 8px 20px rgba(0,0,0,.25);
  --shadow-md:0 18px 44px rgba(0,0,0,.30);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}

/* Layout */
.container{max-width:var(--max);margin:0 auto;padding:0 20px}

/* Header */
.site-header{position:sticky;top:0;z-index:40;background:rgba(11,12,16,.75);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid rgba(255,255,255,.06)}
.header-row{display:flex;align-items:center;justify-content:space-between;min-height:64px}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink);font-weight:700}
.brand img{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}
.main-nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;align-items:center}
.main-nav a{color:var(--ink);text-decoration:none;opacity:.9}
.main-nav a:hover{opacity:1}
.btn{background:var(--brand);color:#fff;text-decoration:none;padding:10px 16px;border-radius:999px;display:inline-block;box-shadow:var(--shadow-sm)}
.btn:hover{transform:translateY(-1px)}
.btn-outline{border:1px solid rgba(255,255,255,.18);background:transparent}
.btn-sm{padding:8px 12px}
.btn-lg{padding:12px 18px;font-weight:700}
.nav-toggle{display:none;background:transparent;border:0;width:42px;height:42px;border-radius:10px;position:relative}
.nav-toggle span{position:absolute;left:10px;right:10px;height:2px;background:#fff;border-radius:2px;transform-origin:center}
.nav-toggle span:nth-child(1){top:12px}
.nav-toggle span:nth-child(2){top:20px}
.nav-toggle span:nth-child(3){top:28px}

/* Hero */
.hero{position:relative;min-height:72vh;display:flex;align-items:center}
.hero-bg{position:absolute;inset:0;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.06)}
.hero-bg video{width:100%;height:100%;object-fit:cover;filter:brightness(.6)}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(80% 60% at 50% 40%, rgba(225,29,47,.30), transparent 60%)}
.hero-inner{position:relative;z-index:2;text-align:center;padding:80px 0}
.hero h1{margin:0 0 12px;font-size:clamp(28px,4vw,44px);line-height:1.2}
.lead{max-width:800px;margin:0 auto 18px;color:var(--muted)}
.hero-actions{display:flex;gap:12px;justify-content:center;margin-top:10px}
.trust{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:14px 0 0;padding:0;list-style:none}
.trust li{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:8px 12px;border-radius:999px}

/* Sticky call */
.sticky-call{position:fixed;left:0;right:0;bottom:0;z-index:50;display:none;gap:8px;justify-content:center;padding:10px;background:rgba(11,12,16,.9);border-top:1px solid rgba(255,255,255,.08)}
.sticky-call a{flex:1;text-align:center}

/* Sections */
.section{padding:72px 0;background:var(--layer)}
.section-alt{background:var(--panel)}
.section-contrast{background:linear-gradient(180deg,#0d1016,#0b0c10 60%)}
.section .section-head{text-align:center;margin-bottom:24px}
.section h2{margin:0 0 8px;font-size:clamp(22px,3.2vw,32px)}
.section p{margin:0;color:var(--muted)}
.grid{display:grid;gap:16px}
.cards-4{grid-template-columns:repeat(4,1fr)}
.cards-3{grid-template-columns:repeat(3,1fr)}
.card{background:#0f121c;border:1px solid var(--line);border-radius:var(--r2);padding:18px;box-shadow:var(--shadow-sm)}
.card h3{margin:0 0 6px}
.card p{margin:0;color:#c3cada}
.cta-inline{margin-top:18px;display:flex;gap:12px;justify-content:center}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;list-style:none;margin:0;padding:0}
.steps li{background:#0f121c;border:1px solid var(--line);border-radius:var(--r2);padding:16px;position:relative}
.steps span{display:inline-flex;width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--brand),var(--brand-2));font-weight:700;margin-bottom:6px}
.steps b{display:block;margin-bottom:2px}
.steps em{color:#aab4c3;font-style:normal}

/* Pricing */
.price{border:1px solid var(--line);background:#0f121c}
.price-number{font-size:24px;font-weight:800;margin:4px 0 8px;background:linear-gradient(90deg,var(--brand),var(--brand-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.bullets{margin:0;padding-left:18px;color:#c3cada}
.note{margin-top:12px;color:#9aa3b2;text-align:center}

/* Reviews */
.review p{margin:0}
.review cite{display:block;margin-top:8px;color:#aab4c3}

/* Coverage */
.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.chips span{border:1px solid var(--line);background:#101423;border-radius:999px;padding:8px 12px}

/* Blog (giữ link cũ) */
.posts{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.post{
  background:#0f121c; border:1px solid var(--line); border-radius:var(--r2);
  overflow:hidden; display:grid; grid-template-columns:120px 1fr; gap:0;
}
.post img{ width:120px; height:100%; object-fit:cover; display:block; }
.post .p{ padding:14px; }
.post h3{ margin:0 0 6px; font-size:18px; line-height:1.3; }
.post p{ margin:0; color:#c3cada; }
.post a{ color:#fff; text-decoration:none; }
.post a:hover{ text-decoration:underline; }

/* FAQ */
.faq details{background:#0f121c;border:1px solid var(--line);border-radius:var(--r2);padding:12px 14px;margin:10px 0}
.faq summary{cursor:pointer;font-weight:700}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.form label{display:block;margin-bottom:10px}
.form input,.form textarea{width:100%;padding:12px;border-radius:12px;border:1px solid var(--line);background:#0d1018;color:var(--ink);outline:none}
.form input:focus,.form textarea:focus{border-color:#2a3144;box-shadow:0 0 0 3px rgba(225,29,47,.15)}
.form-actions{display:flex;gap:12px;margin-top:6px}
.panel{background:#0f121c;border:1px solid var(--line);border-radius:var(--r2);padding:16px}

/* Footer */
.site-footer{background:#0b0c10;border-top:1px solid rgba(255,255,255,.06);padding:28px 0}
.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.site-footer h4{margin:0 0 6px}

/* FAB bottom-right */
.fab-wrap{
  position:fixed; right:16px; bottom:16px; z-index:60;
  display:flex; flex-direction:column; gap:10px;
}
.fab{
  width:56px; height:56px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  text-decoration:none; font-size:22px; color:#fff;
  box-shadow:0 12px 28px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.12);
  transition:transform .15s ease, filter .15s ease;
}
.fab:hover{ transform:translateY(-2px); filter:brightness(1.05); }
.fab-call{ background:linear-gradient(180deg,#16a34a,#22c55e); }
.fab-zalo{ background:linear-gradient(180deg,#2563eb,#3b82f6); }

/* Responsive */
@media (max-width: 980px){
  .cards-4{grid-template-columns:repeat(2,1fr)}
  .cards-3{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .sticky-call{display:flex}
  .main-nav ul{position:fixed;inset:64px 0 auto 0;background:rgba(11,12,16,.98);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08);transform:translateY(-120%);transition:.25s ease;display:flex;flex-direction:column;padding:16px}
  .main-nav ul.open{transform:translateY(0)}
  .nav-toggle{display:inline-block}
}
@media (max-width:560px){
  .posts{ grid-template-columns:1fr; }
  .post{ grid-template-columns:1fr; }
  .post img{ width:100%; height:180px; }
  .cards-4,.cards-3{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
}
/* =========== BLOG — Mobile-first carousel with snap =========== */
#blog .posts{
  display:flex;
  gap:14px;
  overflow-x:auto;
  padding:2px 4px 8px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}

#blog .post{
  position:relative;
  flex:0 0 78%;            /* thẻ to, đọc dễ trên mobile */
  max-width:78%;
  background:#0f121c;
  border:1px solid var(--line);
  border-radius:var(--r2);
  overflow:hidden;
  scroll-snap-align:start;
  box-shadow:var(--shadow-sm);
  display:block;           /* bỏ grid 2 cột cũ trên mobile */
}

#blog .post img{
  width:100%;
  height:240px;
  object-fit:cover;
  display:block;
}

#blog .post .p{
  position:absolute;
  left:0; right:0; bottom:0;
  padding:12px 14px;
  background:linear-gradient(0deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,.22) 70%, rgba(0,0,0,0) 100%);
  color:#fff;
}

#blog .post h3{
  margin:0 0 6px;
  font-size:clamp(16px,4.2vw,18px);
  line-height:1.28;
  display:-webkit-box;
  -webkit-line-clamp:3;      /* tối đa 3 dòng, tránh tràn */
  -webkit-box-orient:vertical;
  overflow:hidden;
}

#blog .post .meta{
  font-size:.9rem;
  color:#e5e7eb;
  opacity:.9;
}

/* thanh cuộn gọn gàng */
#blog .posts::-webkit-scrollbar{height:6px}
#blog .posts::-webkit-scrollbar-thumb{background:#2a3144;border-radius:999px}

/* ====== Tablet/Desktop: trả về layout lưới như cũ ====== */
@media (min-width: 560px){
  #blog .posts{ display:grid; grid-template-columns:repeat(2,1fr); overflow:visible; padding:0 }
  #blog .post{ max-width:100%; flex:unset; position:relative; display:grid; grid-template-columns:120px 1fr }
  #blog .post img{ width:120px; height:100% }
  #blog .post .p{ position:static; background:none; color:#c3cada; padding:14px }
  #blog .post h3{ -webkit-line-clamp:2 }
}
@media (min-width: 980px){
  #blog .posts{ grid-template-columns:repeat(3,1fr) }
}
