/* Cô Thanh English Hub — nguyenthigiangthanh.com
   Brand: trắng/kem + vàng nhạt Bee's Home + xanh nhẹ tiếng Anh · ấm, sạch, nữ tính nhẹ · mobile-first */
:root {
  --cream:#FBF9F4; --gold:#FFC020; --gold-soft:#FFF3D6; --gold-text:#8a6a00;
  --blue:#4A7FA5; --blue-deep:#2f5d80; --blue-soft:#EDF4F9;
  --ink:#2b2b2b; --body:#3a3a3a; --muted:#6b6b6b; --border:#EAE5DA;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Be Vietnam Pro',-apple-system,sans-serif; color:var(--body); background:#fff; line-height:1.75; font-size:15.5px; }
@media (min-width:761px){ body{font-size:16px;} }
.wrap { max-width:880px; margin:0 auto; padding:0 20px; }
h1,h2,h3 { font-family:'Fraunces',Georgia,serif; color:var(--ink); line-height:1.3; }
a { color:var(--blue-deep); }
.eyebrow { font-size:.78rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--blue-deep); }
.btn { display:inline-block; background:var(--gold); color:var(--ink); font-weight:700; padding:12px 24px; border-radius:999px; text-decoration:none; font-family:inherit; min-height:44px; font-size:.95rem; transition:filter .2s; border:none; cursor:pointer; }
.btn:hover,.btn:active { filter:brightness(1.05); }
.btn.blue { background:var(--blue); color:#fff; }
.btn.line { background:#fff; border:1.5px solid var(--border); }
/* Nav */
.nav { background:#fff; border-bottom:1px solid var(--border); position:sticky; top:0; z-index:50; }
.nav .wrap { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 12px; padding-top:12px; padding-bottom:12px; }
.nav .logo { text-decoration:none; font-weight:800; color:var(--ink); font-size:1rem; }
.nav .logo em { font-style:normal; color:var(--blue-deep); }
.nav .logo .bee { color:var(--gold-text); }
.nav ul { list-style:none; display:flex; flex-wrap:wrap; gap:2px 14px; }
.nav a.item { color:var(--muted); text-decoration:none; font-size:.88rem; padding:6px 2px; display:inline-block; }
.nav a.item:hover,.nav a.item.on { color:var(--blue-deep); }
/* Hero */
.hero { background:linear-gradient(160deg,var(--cream) 0%,var(--blue-soft) 100%); padding:52px 0 46px; }
.hero h1 { font-size:1.85rem; margin:10px 0 12px; }
.hero p.lead { max-width:620px; font-size:1.02rem; margin-bottom:22px; }
.hero .avatar { width:96px; height:96px; border-radius:50%; background:var(--gold-soft); border:3px solid var(--gold); display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-size:2rem; color:var(--gold-text); margin-bottom:14px; }
@media (min-width:761px){ .hero h1{font-size:2.3rem;} .hero{padding:64px 0 56px;} }
/* Sections */
section.block { padding:46px 0; }
section.block.cream { background:var(--cream); }
section.block.blue { background:var(--blue-soft); }
.block h2 { font-size:1.5rem; margin:6px 0 16px; }
@media (min-width:761px){ .block h2{font-size:1.75rem;} }
.block p+p { margin-top:12px; }
/* Cards */
.grid { display:grid; grid-template-columns:1fr; gap:14px; margin-top:14px; }
@media (min-width:600px){ .grid{grid-template-columns:repeat(2,1fr);} }
@media (min-width:900px){ .grid.g3{grid-template-columns:repeat(3,1fr);} }
.card { background:#fff; border:1px solid var(--border); border-radius:16px; padding:18px 20px; transition:transform .15s, box-shadow .15s; }
.card:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(74,127,165,.10); }
.card h3 { font-family:'Be Vietnam Pro',sans-serif; font-size:1rem; margin-bottom:6px; }
.card p { font-size:.9rem; color:var(--muted); }
.card .meta { display:flex; flex-wrap:wrap; gap:6px; margin:8px 0 4px; }
/* Pain rows */
.pain { background:#fff; border:1px solid var(--border); border-left:4px solid var(--blue); border-radius:0 12px 12px 0; padding:12px 16px; margin-bottom:9px; font-size:.95rem; }
/* Learning path */
.path { counter-reset:s; margin-top:14px; }
.path .st { position:relative; padding:13px 15px 13px 54px; background:#fff; border:1px solid var(--border); border-radius:14px; margin-bottom:9px; }
.path .st::before { counter-increment:s; content:counter(s); position:absolute; left:13px; top:13px; width:30px; height:30px; border-radius:50%; background:var(--blue); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; font-size:.9rem; }
.path .st h3 { font-family:'Be Vietnam Pro',sans-serif; font-size:.98rem; margin-bottom:3px; }
.path .st p { font-size:.9rem; color:var(--muted); }
/* Tags */
.tag { display:inline-block; font-size:.74rem; font-weight:700; border-radius:999px; padding:3px 11px; background:var(--blue-soft); color:var(--blue-deep); }
.tag.gold { background:var(--gold-soft); color:var(--gold-text); }
.tag.grey { background:#f2f2f0; color:#666; }
/* Filter pills (hiển thị hệ lọc) */
.filters { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 4px; }
.filters .f { font-size:.83rem; border:1px solid var(--border); background:#fff; border-radius:999px; padding:6px 14px; color:var(--muted); }
/* FAQ */
.faq details { border:1px solid var(--border); border-radius:12px; padding:13px 17px; margin-bottom:9px; background:#fff; }
.faq summary { font-weight:700; cursor:pointer; color:var(--ink); font-size:.96rem; }
.faq details p { margin-top:9px; font-size:.92rem; color:var(--muted); }
/* Quote cô Thanh */
.softquote { position:relative; background:var(--gold-soft); border-radius:16px; padding:20px 22px; font-family:'Fraunces',serif; font-size:1.05rem; color:var(--ink); margin:18px 0; }
.softquote cite { display:block; font-family:'Be Vietnam Pro',sans-serif; font-style:normal; font-size:.82rem; color:var(--gold-text); margin-top:8px; }
/* CTA band */
.cta-band { background:linear-gradient(160deg,var(--blue-soft),var(--cream)); text-align:center; padding:42px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.cta-band h2 { margin-bottom:10px; font-size:1.45rem; }
.cta-band p { max-width:600px; margin:0 auto 18px; }
/* Form */
.form input,.form select,.form textarea { width:100%; padding:12px 14px; margin-bottom:10px; border:1px solid var(--border); border-radius:12px; font-family:inherit; font-size:.98rem; background:#fff; }
.form label { font-size:.85rem; font-weight:600; color:var(--ink); display:block; margin-bottom:4px; }
/* Footer */
footer { background:var(--cream); border-top:1px solid var(--border); padding:32px 0; text-align:center; font-size:.88rem; color:var(--muted); }
footer a { color:var(--blue-deep); text-decoration:none; }
.flinks { display:flex; flex-wrap:wrap; gap:5px 16px; justify-content:center; margin:12px 0 4px; font-size:.84rem; }
.small { font-size:.78rem; color:#9a9a9a; margin-top:10px; }
/* Reveal nhẹ */
@media (prefers-reduced-motion:no-preference){
  .card { will-change:transform; }
}
@media (prefers-reduced-motion:reduce){ *{transition:none!important;} }

/* Ảnh */
.photo-portrait { width:150px; height:150px; border-radius:50%; object-fit:cover; object-position:center; border:4px solid var(--gold); box-shadow:0 8px 24px rgba(74,127,165,.18); margin-bottom:14px; }
@media (min-width:761px){ .photo-portrait{width:180px;height:180px;} }
.photo-wide { width:100%; border-radius:16px; display:block; box-shadow:0 10px 28px rgba(43,43,43,.10); }
.photo-cap { font-size:.82rem; color:var(--muted); margin-top:8px; text-align:center; }

/* V15 · 25/08/2026 — .softquote bỏ chữ nghiêng để không phải tải trục italic của
   Fraunces (đo được: 102 KB cho đúng 5 ô trích dẫn trên toàn site).
   Không dùng dấu ngoặc kép trang trí vì chữ trong cả 5 ô đã có sẵn dấu " → bị đúp.
   Thay bằng vạch vàng bên trái — kiểu trích dẫn quen mắt, phân biệt rõ mà không cần nét nghiêng. */
.softquote {
  border-left:5px solid var(--gold);
  border-radius:0 16px 16px 0;
  padding:20px 22px 20px 24px;
  font-size:1.1rem; line-height:1.75;
}
.softquote::before { content:none; }
