:root{
  --red-deep:#6B0F1A;
  --red-darker:#3D0810;
  --red-darkest:#260509;
  --gold:#D4AF37;
  --gold-light:#F0D98C;
  --gold-soft:#E8C878;
  --ivory:#F3E9D8;
  --black:#140505;
  --shadow-gold: 0 0 0 1px rgba(212,175,55,0.35);
  --font-sf: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text",
    "Helvetica Neue", "Segoe UI", Roboto, "Inter", Arial, sans-serif;
}

*{box-sizing:border-box; margin:0; padding:0;}

body{
  font-family:var(--font-sf);
  font-weight:300;
  background:var(--red-darkest);
  color:var(--ivory);
  line-height:1.6;
  letter-spacing:-0.011em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

h1,h2,h3,.brand-name{
  font-family:var(--font-sf);
  color:var(--gold-light);
  font-weight:400;
  letter-spacing:-0.02em;
}

a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer;}

.coin{
  display:inline-block;
  width:8px; height:8px;
  border-radius:50%;
  border:1.5px solid var(--gold);
  position:relative;
  flex-shrink:0;
}
.coin::after{
  content:"";
  position:absolute; inset:2px;
  border:1px solid var(--gold);
  border-radius:50%;
}

/* ---------- Layout shell ---------- */
.shell{
  display:grid;
  grid-template-columns: 260px 1fr 340px;
  min-height:100vh;
}

/* ---------- Sidebar ---------- */
.sidebar{
  background:var(--red-darker);
  border-right:1px solid rgba(212,175,55,0.25);
  padding:36px 0 24px;
  position:sticky;
  top:0;
  height:100vh;
  display:flex;
  flex-direction:column;
}

.brand{
  display:flex;
  align-items:center;
  gap:14px;
  padding:0 28px 32px;
  border-bottom:1px solid rgba(212,175,55,0.2);
  margin-bottom:8px;
}

.logo-badge{
  width:56px; height:56px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%, var(--gold-light), var(--gold) 55%, #8a6d1f 100%);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-sf);
  font-weight:500;
  letter-spacing:-0.01em;
  font-size:19px;
  color:var(--red-darkest);
  box-shadow:0 0 0 3px var(--red-darkest), 0 0 0 4px rgba(212,175,55,0.5);
  flex-shrink:0;
}

.brand-name{font-size:22px; line-height:1.15;}
.brand-sub{font-size:11px; font-weight:400; color:var(--gold-soft); letter-spacing:0.12em; text-transform:uppercase; margin-top:2px;}

.nav{
  display:flex;
  flex-direction:column;
  padding:8px 16px;
  gap:6px;
  flex:1;
}

.nav-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 18px;
  border-radius:2px;
  border:1px solid transparent;
  font-size:15px;
  font-weight:400;
  letter-spacing:-0.006em;
  color:var(--ivory);
  transition:background .2s ease, border-color .2s ease, color .2s ease;
  position:relative;
}
.nav-item:hover, .nav-item.active{
  background:rgba(212,175,55,0.08);
  border-color:rgba(212,175,55,0.4);
  color:var(--gold-light);
}
.nav-item.active::before{
  content:"";
  position:absolute; left:-16px; top:0; bottom:0;
  width:3px;
  background:var(--gold);
}

.sidebar-foot{
  padding:20px 28px 0;
  border-top:1px solid rgba(212,175,55,0.2);
  margin-top:12px;
  font-size:12px;
  color:var(--gold-soft);
}
.sidebar-foot .hotline{color:var(--gold-light); font-weight:400; letter-spacing:-0.01em; font-size:15px; margin-top:6px; display:block;}

.topbar{display:none;}

main{padding:0; min-width:0;}

/* ---------- Article hero ---------- */
.article-hero{
  padding:72px 56px 48px;
  background:
    radial-gradient(circle at 85% 15%, rgba(212,175,55,0.12), transparent 45%),
    linear-gradient(180deg, var(--red-deep), var(--red-darker));
  border-bottom:1px solid rgba(212,175,55,0.2);
  position:relative;
  overflow:hidden;
}
.article-hero::before{
  content:"";
  position:absolute;
  right:-60px; top:-60px;
  width:280px; height:280px;
  border-radius:50%;
  border:1px solid rgba(212,175,55,0.18);
}
.breadcrumb{
  font-size:12.5px;
  color:rgba(243,233,216,0.6);
  margin-bottom:22px;
}
.breadcrumb a:hover{color:var(--gold-light);}
.eyebrow{
  display:flex; align-items:center; gap:10px;
  font-size:12px; font-weight:400; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--gold-soft); margin-bottom:18px;
}
.article-hero h1{
  font-size:38px;
  font-weight:300;
  letter-spacing:-0.025em;
  max-width:680px;
  margin-bottom:18px;
}
.article-hero p.lead{
  max-width:600px;
  color:rgba(243,233,216,0.85);
  font-size:16px;
  font-weight:300;
  letter-spacing:-0.006em;
}
.article-meta{
  display:flex; flex-wrap:wrap; gap:18px;
  margin-top:24px;
  font-size:12.5px;
  color:rgba(243,233,216,0.6);
}
.article-meta span{display:flex; align-items:center; gap:8px;}

/* ---------- Article body ---------- */
.article-body{
  padding:56px 56px 24px;
  max-width:760px;
}
.article-body h2{
  font-size:26px;
  font-weight:300;
  letter-spacing:-0.02em;
  margin:40px 0 16px;
  display:flex; align-items:center; gap:12px;
}
.article-body h2:first-child{margin-top:0;}
.article-body h3{
  font-size:19px;
  font-weight:400;
  margin:28px 0 12px;
}
.article-body p{
  font-size:15px;
  font-weight:300;
  letter-spacing:-0.006em;
  color:rgba(243,233,216,0.85);
  margin-bottom:16px;
}
.article-body ul, .article-body ol{
  margin:0 0 20px 0;
  padding-left:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.article-body ul li, .article-body ol li{
  font-size:14.5px;
  font-weight:300;
  color:rgba(243,233,216,0.85);
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding-left:2px;
}
.article-body ul li .coin, .article-body ol li .num{
  margin-top:6px;
}
.article-body ol{counter-reset:step;}
.article-body ol li .num{
  flex-shrink:0;
  width:20px; height:20px;
  border:1px solid var(--gold);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:11px;
  color:var(--gold-light);
  margin-top:1px;
}
.article-body strong{color:var(--gold-light); font-weight:500;}
.article-body blockquote{
  border-left:2px solid var(--gold);
  padding:6px 0 6px 20px;
  margin:24px 0;
  font-size:15px;
  color:var(--gold-light);
  font-weight:300;
}

.info-box{
  background:var(--red-darker);
  border:1px solid rgba(212,175,55,0.3);
  padding:22px 24px;
  margin:28px 0;
}
.info-box .label{
  font-size:11px; font-weight:400; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--gold-soft); margin-bottom:10px;
  display:flex; align-items:center; gap:8px;
}

.cta-box{
  background:linear-gradient(135deg, rgba(212,175,55,0.14), rgba(212,175,55,0.04));
  border:1px solid var(--gold);
  padding:30px 28px;
  margin:40px 0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.cta-box h3{font-size:19px; margin:0 0 6px;}
.cta-box p{font-size:13.5px; color:rgba(243,233,216,0.75); margin:0; max-width:380px;}
.btn-primary{
  background:linear-gradient(135deg, var(--gold-light), var(--gold));
  color:var(--red-darkest);
  padding:14px 28px;
  font-weight:500;
  font-size:14px;
  border:none;
  letter-spacing:-0.006em;
  white-space:nowrap;
}
.btn-ghost{
  background:transparent;
  border:1px solid var(--gold);
  color:var(--gold-light);
  padding:14px 28px;
  font-weight:500;
  font-size:14px;
  letter-spacing:-0.006em;
  white-space:nowrap;
}

/* ---------- FAQ within article ---------- */
.faq-list{display:flex; flex-direction:column; gap:16px; margin:20px 0 32px;}
.faq-item{background:var(--red-darker); border:1px solid rgba(212,175,55,0.25); padding:22px;}
.faq-item h3{font-size:16px; margin-bottom:8px;}
.faq-item p{font-size:13.5px; color:rgba(243,233,216,0.75); margin:0;}

/* ---------- Related posts ---------- */
.related{padding:16px 56px 64px; border-top:1px solid rgba(212,175,55,0.14); margin-top:24px;}
.related h2{font-size:22px; font-weight:300; margin-bottom:24px;}
.related-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.related-card{
  background:var(--red-darker);
  border:1px solid rgba(212,175,55,0.25);
  padding:24px 20px;
  transition:border-color .2s ease, transform .2s ease;
  display:block;
}
.related-card:hover{border-color:var(--gold); transform:translateY(-3px);}
.related-card .tag{font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-soft); margin-bottom:10px; display:block;}
.related-card h3{font-size:16px; margin-bottom:8px; font-weight:400;}
.related-card p{font-size:13px; color:rgba(243,233,216,0.7); margin:0;}

/* ---------- Right form panel (giữ nguyên từ trang chủ) ---------- */
.form-panel{
  background:var(--red-darker);
  border-left:1px solid rgba(212,175,55,0.25);
  padding:40px 30px;
  position:sticky;
  top:0;
  height:100vh;
  overflow-y:auto;
}
.form-panel h2{font-size:24px; margin-bottom:6px;}
.form-panel .sub{font-size:13px; color:rgba(243,233,216,0.7); margin-bottom:28px;}
.form-note{font-size:11.5px; color:rgba(243,233,216,0.55); margin-top:14px; line-height:1.5;}

footer{grid-column:1/-1;}

/* ================= RESPONSIVE ================= */
@media (max-width: 1180px){
  .shell{grid-template-columns:220px 1fr 300px;}
  .article-hero h1{font-size:32px;}
  .article-hero{padding:60px 36px 40px;}
  .article-body{padding:44px 36px 24px;}
  .related{padding:16px 36px 52px;}
}

@media (max-width: 980px){
  .shell{grid-template-columns:1fr;}
  .sidebar{
    position:fixed; left:0; top:0; bottom:0;
    width:260px; height:100vh;
    transform:translateX(-100%);
    transition:transform .25s ease;
    z-index:50;
  }
  .sidebar.open{transform:translateX(0);}
  .topbar{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 20px; background:var(--red-darker);
    border-bottom:1px solid rgba(212,175,55,0.25);
    position:sticky; top:0; z-index:40;
  }
  .topbar .brand{border:none; padding:0; margin:0;}
  .topbar .brand .logo-badge{width:40px; height:40px; font-size:14px;}
  .topbar .brand-name{font-size:18px;}
  .menu-btn{
    background:none; border:1px solid var(--gold); color:var(--gold-light);
    width:40px; height:40px; font-size:18px;
  }
  .overlay{display:none; position:fixed; inset:0; background:rgba(0,0,0,0.55); z-index:45;}
  .overlay.show{display:block;}
  .form-panel{position:static; height:auto; border-left:none; border-top:1px solid rgba(212,175,55,0.25);}
  .related-grid{grid-template-columns:1fr;}
}

@media (max-width: 620px){
  .article-hero{padding:44px 20px 32px;}
  .article-hero h1{font-size:26px;}
  .article-body{padding:36px 20px 16px;}
  .related{padding:16px 20px 40px;}
  .cta-box{flex-direction:column; align-items:stretch; text-align:center;}
}
