/* ===========================
   Loan Do Financial - styles.css
   Clean + consolidated + trust-friendly
   =========================== */

:root{
  --ink:#0f172a;
  --muted:#475569;
  --bg:#ffffff;
  --bg2:#f7f9fc;
  --navy:#1F3A5F;
  --gold:#C9A227;
  --card:#ffffff;
  --border:#e2e8f0;
}

*{box-sizing:border-box}
html,body{
  margin:0;
  padding:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink);
  background:var(--bg)
}
a{color:inherit;text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:0 18px}

/* ===== Topbar ===== */
.topbar{background:#0b1220;color:#e5e7eb;font-size:14px}
.topbar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 0;
  gap:12px;
  flex-wrap:wrap
}
.topbar a{color:#e5e7eb;text-decoration:underline}
.sep{opacity:.6;margin:0 10px}

/* ===== Header ===== */
.header{
  position:sticky;
  top:0;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
  z-index:20
}
.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 0
}

/* ===== BRAND (consolidated) ===== */
.brand{
  display:flex;
  align-items:center;
  gap:16px;
  text-decoration:none;
}

.brand__logo,
.brand img{
  height:140px;
  width:auto;
  display:block;
  object-fit:contain;
  max-width:100%;
}

.brand__text{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.brand__name{
  font-size:56px;
  font-weight:900;
  line-height:1.05;
  color:#1F3A5F;
  letter-spacing:-0.5px;
}

.brand__tag{
  font-size:18px;
  opacity:.85;
  margin-top:6px;
}

@media (max-width: 768px){
  .brand__logo,
  .brand img{ height:84px; }
  .brand__name{ font-size:32px; }
  .brand__tag{ font-size:14px; }
}

/* ===== Nav / Mobile Nav (if used) ===== */
.nav{display:flex;gap:16px;align-items:center}
.nav a{font-weight:600;color:#0f172a;opacity:.9}
.nav a:hover{color:var(--navy)}
.burger{display:none;border:1px solid var(--border);background:#fff;padding:8px 10px;border-radius:10px}

.mobileNav{border-top:1px solid var(--border);padding:10px 18px;background:#fff}
.mobileNav a{display:block;padding:10px 0;border-bottom:1px solid var(--border);font-weight:600}

/* ===== Buttons ===== */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 16px;
  border-radius:12px;
  background:var(--navy);
  color:#fff;
  font-weight:800;
  border:1px solid rgba(0,0,0,0)
}
.btn:hover{background:#16304f}
.btn--small{padding:10px 12px;border-radius:10px}

/* Ghost button – keep your animation style */
a.btn.btn--ghost{
  background-color:#8B0000;
  color:#ffffff;
  border:2px solid #0b5cff;
  padding:14px 34px;
  font-weight:600;
  border-radius:999px;
  position:relative;
  overflow:hidden;
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.25s ease;
}
a.btn.btn--ghost:hover{
  background-color:#083ea8;
  border-color:#083ea8;
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(11, 92, 255, 0.35);
}
a.btn.btn--ghost::after{
  content:"";
  position:absolute;
  top:0;
  left:-120%;
  width:120%;
  height:100%;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,0.35), transparent);
  transition:left 0.6s ease;
}
a.btn.btn--ghost:hover::after{ left:120%; }

/* ===== Hero ===== */
.hero{
  position:relative;
  min-height:520px;
  display:flex;
  align-items:center
}
.hero__bg{
  position:absolute;
  inset:0;
  background-image:url("/hero.jpg");
  background-size:cover;
  background-position:center;
}
.hero__overlay{position:absolute;inset:0;background:rgba(15,23,42,.45)}
.hero__content{position:relative;z-index:2;padding:24px 0;color:#fff}
.hero h1{font-size:44px;line-height:1.08;margin:0 0 12px;font-weight:900}
.hero p{
  max-width:720px;
  font-size:18px;
  line-height:1.6;
  margin:0 0 22px;
  color:rgba(255,255,255,.92)
}
.hero__cta{display:flex;gap:12px;flex-wrap:wrap}
.hero__badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.badge{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.08);
  font-weight:700;
  font-size:13px
}

/* Optional center hero logo (if used anywhere) */
.hero-logo{
  display:block;
  margin:0 auto 24px;
  width:min(92vw, 620px);
  height:auto;
}

/* ===== Sections ===== */
.section{padding:62px 0}
.section--alt{background:var(--bg2)}
.section__head h2{margin:0 0 8px;font-size:30px}
.section__head p{margin:0;color:var(--muted)}
/* Pricing toggle (Option B) */
.pricingHidden{ display:none; }
.pricingHidden.isOpen{ display:block; }

/* ===== Cards / Grids ===== */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}

.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  padding:18px;
  transition:transform .25s ease, box-shadow .3s ease;
  overflow:visible;
}
.card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 34px rgba(0,0,0,.12);
}
.card h3{margin:0 0 10px;font-size:18px}

.card__img{
  width:100%;
  height:160px;
  object-fit:cover;
  border-radius:14px;
  margin-bottom:14px;
  display:block;
}
.card:hover .card__img{ filter:brightness(1.05); }

.list{margin:0;padding-left:18px;color:var(--muted);line-height:1.7}
.link{color:var(--gold);font-weight:800}
.link:hover{text-decoration:underline}

/* ===== Two-column / About ===== */
.twoCol{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;align-items:start}
.miniGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.miniCard{border:1px solid var(--border);border-radius:14px;padding:12px;background:#fff}
.k{font-size:12px;color:var(--muted);font-weight:700}
.v{font-weight:900}

/* ===== Photo Box ===== */
.photoBox{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff;min-height:260px}
.photoBox img{width:100%;height:260px;object-fit:cover;display:block}
.photoBox__fallback{padding:18px}
.photoBox__title{font-weight:900;margin-bottom:6px}
.photoBox__text{color:var(--muted)}
.photoBox__img{max-width:220px;height:auto;display:block;margin:0 auto}

/* ===== Steps (if used) ===== */
.step{
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  padding:18px
}
.step__num{
  width:36px;height:36px;border-radius:999px;
  background:rgba(201,162,39,.18);
  display:flex;align-items:center;justify-content:center;
  font-weight:900;color:#6b4e00;margin-bottom:10px
}
.step h3{margin:0 0 6px}
.step p{margin:0;color:var(--muted);line-height:1.6}

/* ===== FAQ ===== */
.faq details{
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  padding:14px;
  margin-bottom:10px
}
.faq summary{cursor:pointer;font-weight:900}
.faq p{margin:10px 0 0;color:var(--muted);line-height:1.6}

/* ===== Forms (if used) ===== */
.form{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px}
.form label{display:block;font-weight:800;margin-bottom:10px}
.form input,.form select,.form textarea{
  width:100%;
  margin-top:6px;
  padding:12px;
  border-radius:12px;
  border:1px solid var(--border);
  font-size:15px
}
.formMsg{margin-top:10px;color:var(--muted);font-weight:700}

/* ===== Contact Box ===== */
.contactBox{
  border:1px solid var(--border);
  border-radius:16px;
  background:#fff;
  padding:14px;
  margin:12px 0
}
.small{font-size:13px;color:var(--muted);line-height:1.5}

/* Highlight contact box (centered + compact) */
.highlight-box{
  background:#eef6ff;
  border:2px solid #2b5dab;
  border-radius:16px;
  max-width:820px;
  margin:32px auto;
  padding:16px 22px;
  box-shadow:0 8px 18px rgba(43,93,171,0.08);
  text-align:left;
}
.highlight-box strong{color:#1f3a5f}
.highlight-box a{
  color:#1f3a5f;
  font-weight:600;
  text-decoration:none;
}
.highlight-box a:hover{text-decoration:underline}

/* ===== Footer ===== */
.footer{border-top:1px solid var(--border);padding:22px 0;background:#fff}
.footer__inner{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  color:var(--muted)
}
.footer__links a{color:var(--muted)}
.footer__links a:hover{color:var(--navy);text-decoration:underline}

/* ===== Responsive ===== */
@media (max-width: 900px){
  .grid3{grid-template-columns:1fr}
  .twoCol{grid-template-columns:1fr}
  .miniGrid{grid-template-columns:1fr}
  .nav{display:none}
  .burger{display:inline-flex}
  .hero h1{font-size:34px}
}
@media (max-width: 768px){
  .highlight-box{max-width:94%;padding:14px 16px}
}
/* Language badge under brand name */
.lang-badge{
  display:inline-block;
  margin-top:6px;
  padding:6px 14px;
  font-size:16px;
  font-weight:700;
  color:#fff;
  background:#c1121f;
  border-radius:999px;
  text-align:center;
  line-height:1.2;
}
@media (max-width: 768px){
  .lang-badge{ font-size:14px; padding:6px 12px; }
}

/* ===== MOBILE HEADER FIX ===== */
@media (max-width: 768px){

  .header{
    padding-top: 4px;
    padding-bottom: 4px;
  }

  .header__inner{
    padding: 6px 0;     /* giảm chiều cao header */
  }

  .brand{
    align-items: center;
    gap: 10px;
  }

  .brand__logo{
    height: 64px !important;   /* LOGO nhỏ lại trên mobile */
  }

  .brand__name{
    font-size: 26px !important;
    line-height: 1.1 !important;
  }

  .lang-badge{
    font-size: 11px;
    padding: 4px 10px;
    margin-top: 4px;
  }
}
/* ===== MOBILE HERO CTA FIX ===== */
@media (max-width: 768px){

  .hero__cta{
    flex-direction: column;
    gap: 10px;
  }

  .hero__cta .btn{
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
    font-size: 15px;
  }
}
/* === About – Trust Text (subtle, readable) === */
.about-trust{
  margin-top: 18px;
  font-size: 14px;          /* nhỏ lại */
  line-height: 1.6;
  color: #475569;           /* muted */
  max-width: 720px;
}

/* Mobile: nhỏ hơn chút nữa */
@media (max-width: 768px){
  .about-trust{
    font-size: 13px;
    line-height: 1.55;
  }
}

