/* TuPhap landing theme — chỉ load cho site code tuphap_vn + tuphap_en */
:root {
  --brand: #0a2540;
  --brand-dark: #08304f;
  --brand-light: #efe3cf;
  --accent: #b8935e;
  --accent-dark: #9d7d4e;
  --text: #121417;
  --text-soft: #3a3f47;
  --text-muted: #6b7280;
  --bg: #f7f3ec;
  --bg-alt: #fbf8f1;
  --bg-card: #ffffff;
  --border: #e6e1d7;
  --border-soft: #efebe2;
  --radius-sm: 10px;
  --radius: 14px;
  --radius-lg: 20px;
  --shadow-sm: 0 1px 0 rgba(10,37,64,.04), 0 6px 16px rgba(10,37,64,.05);
  --shadow: 0 2px 0 rgba(10,37,64,.04), 0 22px 50px -18px rgba(10,37,64,.22);
  --shadow-lg: 0 4px 0 rgba(10,37,64,.04), 0 28px 60px -20px rgba(10,37,64,.28);
  --font-body: 'Be Vietnam Pro', system-ui, sans-serif;
  --font-heading: 'Be Vietnam Pro', system-ui, sans-serif; /* FONT_HE_v1 */
}

body { background: var(--bg); font-family: var(--font-body); color: var(--text); }
h1,h2,h3,h4 { font-family: var(--font-heading); font-weight: 500; color: var(--brand); letter-spacing: -.01em; }

/* TOPBAR */
.topbar { background: var(--bg-alt); border-bottom: 1px solid var(--border); }
.topbar .brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.topbar .brand .brand-logo {
  background: var(--brand) url("/assets/img/tuphap-logo.svg") center/22px no-repeat;
  width: 40px; height: 40px; border-radius: 10px;
  display: inline-block; font-size: 0; color: transparent;
  text-indent: -9999px; overflow: hidden; flex-shrink: 0;
}
.topbar .brand-name, .topbar .brand > span:last-child, .topbar .brand a {
  font-family: var(--font-heading); font-weight: 600;
  color: var(--brand); font-size: 17px;
}

/* HERO */
.hero { background: linear-gradient(135deg, #efe3cf 0%, #fbf8f1 100%); padding: 36px 0 28px; }
.hero-title { font-family: var(--font-heading); font-weight: 500; color: var(--brand); font-size: clamp(1.8rem, 5vw, 2.8rem); }
.hero-title::before {
  content: "HỒ SƠ CHUẨN XÁC · THỦ TỤC NHANH GỌN";
  display: block; font-family: var(--font-body); font-size: 11px;
  letter-spacing: .25em; color: var(--accent); font-weight: 600;
  margin-bottom: 16px; text-transform: uppercase;
}
.hero-slogan { font-family: var(--font-heading); font-weight: 500; color: var(--brand); }
.hero-desc { color: var(--text-soft); }

/* HERO FEATURE CARD */
.hero-feature { position: relative; background: var(--bg-alt); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.hero-feature:hover { box-shadow: var(--shadow-lg); }
.hero-feature-thumb { position: relative; aspect-ratio: 16/9; max-height: 220px; background-size: cover; background-position: center; }
.hero-feature-thumb img { display: none; }
.hero-feature-thumb::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(247,243,236,0) 45%, rgba(247,243,236,.55) 100%); pointer-events: none; }
.hero-feature-tag { position: absolute; top: 14px; left: 14px; z-index: 3; background: var(--accent); color: #fff; font-weight: 600; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; box-shadow: 0 4px 12px rgba(184,147,94,.35); }
.hero-feature-body h2 { font-family: var(--font-heading); font-weight: 500; color: var(--brand); font-size: 18px; line-height: 1.35; }
.hero-feature-body p { color: var(--text-soft); font-size: 14.5px; }
.hero-feature-meta { color: var(--text-muted); font-size: 12px; letter-spacing: .03em; text-trans

/* BUTTONS — pill như landing */
.btn { border-radius: 999px; padding: 12px 20px; font-weight: 600; font-size: 14px; }
.btn-primary { background: var(--brand); color: #fff; box-shadow: 0 14px 30px -10px rgba(10,37,64,.45); }
.btn-primary:hover { background: var(--brand-dark); transform: translateY(-1px); color: #fff; }
.btn-accent { background: linear-gradient(180deg, #d4b57a, var(--accent)); color: #1a1206; box-shadow: 0
.btn-accent:hover { transform: translateY(-1px); color: #1a1206; }
.btn-ghost { bac
.btn-ghost:hover { background: var(--brand); color: #fff; }

/* CARDS */
.card, .post-card, .article-card, .category-card { background: var(--bg-alt); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.card:hover, .post-card:hover, .article-card:hover { box-shadow: var(--shadow); }

/* LINKS */
a:not(.btn):not(.brand):hover { color: var(--accent); }

/* BOTTOM-NAV mobile */
.bottom-nav, .mobile-bottom-nav { background: var(--bg-alt); border-top: 1px solid var(--border); }
.bottom-nav .nav-item.active, .mobile-bottom-nav .nav-item.active { color: var(--accent); }

/* FORM */
input, textarea, select { border: 1px solid var(--border); border-radius: var(--radius-sm); font-family: inherit; background: #fff; color: var(--text); }
input:focus, textarea:focus, select:focus { border-color: var(--accent); outline: none; box-shadow: 0 0 0 3px rgba(184,147,94,.15); }

/* FOOTER */
footer, .site-footer { background: var(--bg-alt); border-top: 1px solid var(--border); color: var(--text-soft); }
footer h3, footer h4, .site-footer h3, .site-footer h4 { color: var(--brand); font-family: var(--font-heading); }
footer a, .site-footer a { color: var(--text-soft); }
footer a:hover, .site-footer a:hover { color: var(--accent); }

/* ===== PATCH-2 (logo size fix + bài viết cream) ===== */

/* Logo: tăng size SVG để thấy cả cân */
.topbar .brand .brand-logo {
  background-size: 26px !important;
  background-position: center !important;
}

/* Bài viết single post — đổi nền trắng → cream */
.post-content, .article-content, .single-post, .post-body,
.content-wrap, main, .article-wrap, .post-detail,
.container.post, article.post, article {
  background: #f7f3ec !important;
}
.post-content > *, .article-content > * { background: transparent; }

/* Article body container - nền cream warm */
article.post-detail, .post-detail-content, .single-content {
  background: #fbf8f1 !important;
  border: 1px solid #e6e1d7 !important;
  border-radius: 14px !important;
  padding: 20px !important;
}

/* Inline blockquote, code, callout trong bài → giữ tone cream */
.post-content blockquote, .article-content blockquote {
  background: #efe3cf;
  border-left: 4px solid #b8935e;
  color: #3a3f47;
}

/* Section background trắng → cream */
section, .section, .content-section { background: transparent !important; }
section.bg-white, section[style*="background:#fff"], section[style*="background: #fff"] {
  background: #fbf8f1 !important;
}

/* ===== PATCH-3 (đúng class hiện tại) ===== */
/* Logo: size lớn hơn cho thấy cả cân */
.topbar .brand .brand-logo {
  background-size: 28px !important;
}

/* Wrapper bài viết — class đúng từ HTML actual */
.post-article, .post-featured, .post-body, .post-card,
.post-card-body, .post-card-thumb, .post-card-link {
  background: transparent !important;
}

/* Container chính của single post */
.content-layout > article, .content-layout > main,
main.post-article, article.post-article {
  background: #fbf8f1 !important;
  border: 1px solid #e6e1d7 !important;
  border-radius: 14px !important;
  padding: 24px 20px !important;
  margin: 16px 0 !important;
}

/* Related post cards "MỚI NHẤT" — cream warm, không dark */
.post-card.post-card--small {
  background: #fbf8f1 !important;
  border: 1px solid #e6e1d7 !important;
  border-radius: 16px !important;
  overflow: hidden;
}
.post-card.post-card--small .post-card-thumb {
  background: #f7f3ec !important;
  position: relative;
  aspect-ratio: 16/9;
  max-height: 200px;
}
.post-card.post-card--small .post-card-thumb img { display: none !important; }
.post-card.post-card--small .post-card-thumb::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(247,243,236,0) 50%, rgba(247,243,236,.7) 100%);
  pointer-events: none;
}
.post-card.post-card--small .post-card-title,
.post-card.post-card--small .post-card-title a {
  font-family: 'Be Vietnam Pro', system-ui, sans-serif !important; /* FONT_HE_v1 */
  font-weight: 700 !important;
  color: #0a2540 !important;
}
.post-card.post-card--small .post-card-cat,
.post-card.post-card--small .post-card-meta {
  color: #b8935e !important;
}
.post-card.post-card--small .post-card-excerpt {
  color: #3a3f47 !important;
}

/* ===== PATCH-4 (override CSS vars từ app.css :root) ===== */
/* app.css define --bg: #ffffff → body kế thừa trắng. Re-define ở body với specificity cao */
body.site-tuphap_vn,
body.site-tuphap_en {
  --bg: #f7f3ec !important;
  --bg-alt: #fbf8f1 !important;
  --bg-card: #fbf8f1 !important;
  background-color: #f7f3ec !important;
}

/* Article wrapper trong content-layout — cream warm */
body.site-tuphap_vn .content-layout,
body.site-tuphap_en .content-layout,
body.site-tuphap_vn .post-article,
body.site-tuphap_en .post-article {
  background: transparent !important;
}

body.site-tuphap_vn article.post-article > .post-body,
body.site-tuphap_en article.post-article > .post-body {
  background: #fbf8f1 !important;
  padding: 24px 20px !important;
  border-radius: 14px !important;
  border: 1px solid #e6e1d7 !important;
  margin-top: 20px !important;
}

/* Featured image full-width edge-to-edge, không box trắng quanh */
body.site-tuphap_vn .post-featured,
body.site-tuphap_en .post-featured {
  background: transparent !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  margin: 16px 0 !important;
}
body.site-tuphap_vn .post-featured img,
body.site-tuphap_en .post-featured img {
  border-radius: 14px !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

/* Logo 30px để cân chắc chắn không bị cắt */
body.site-tuphap_vn .topbar .brand .brand-logo,
body.site-tuphap_en .topbar .brand .brand-logo {
  background-size: 30px !important;
}

/* ===== PATCH-5 (override exact selectors từ app.css) ===== */

/* OVERRIDE .post-article #fff → cream (selector identical specificity, load sau) */
body.site-tuphap_vn .post-article,
body.site-tuphap_en .post-article {
  background: #f7f3ec !important;
}

/* Khối post-body cream warm có border, padding để nổi như card */
body.site-tuphap_vn .post-body,
body.site-tuphap_en .post-body {
  background: #fbf8f1 !important;
  padding: 24px 20px !important;
  border-radius: 14px !important;
  border: 1px solid #e6e1d7 !important;
  margin-top: 24px !important;
}

/* Featured image full width, không box trắng */
body.site-tuphap_vn .post-featured,
body.site-tuphap_en .post-featured {
  background: transparent !important;
}

/* Logo: clear mọi child trong span.brand-logo, hiển thị qua background-image span */
body.site-tuphap_vn .topbar .brand .brand-logo,
body.site-tuphap_en .topbar .brand .brand-logo {
  background-size: 28px !important;
  position: relative !important;
}
body.site-tuphap_vn .topbar .brand .brand-logo > *,
body.site-tuphap_en .topbar .brand .brand-logo > * {
  display: none !important;
}

/* Post header và meta tone cream */
body.site-tuphap_vn .post-header,
body.site-tuphap_en .post-header {
  background: transparent !important;
}
body.site-tuphap_vn .post-meta,
body.site-tuphap_en .post-meta {
  border-color: #e6e1d7 !important;
}
body.site-tuphap_vn .post-cat-link,
body.site-tuphap_en .post-cat-link {
  background: #efe3cf !important;
  color: #0a2540 !important;
}

/* HLV-LANG-OVERRIDE: hero eyebrow text by language */
html[lang="en"] .hero-title::before {
  content: "ACCURATE FILINGS · EFFICIENT PROCEDURES · COMPREHENSIVE SOLUTIONS" !important;
}
html[lang="zh"] .hero-title::before { content: "文件准确 · 手续高效 · 解决方案全面" !important; }
html[lang="ja"] .hero-title::before { content: "正確な書類 · 迅速な手続き · 総合的なソリューション" !important; }
html[lang="ko"] .hero-title::before { content: "정확한 서류 · 신속한 절차 · 종합 솔루션" !important; }
