/* EB.Academy — shared form component
   Uses the platform tokens from _shared.css; hardcoded fallbacks match the
   brand so it also works on directory pages (_chrome.css) and in dark contexts. */

.ebaf{max-width:560px;margin:2.5rem auto;padding:0 1rem;font-family:var(--body,'Be Vietnam Pro',sans-serif)}
.ebaf--wide{max-width:640px}
.ebaf-card{background:var(--white,#fff);border:1px solid var(--border,#dde4ed);border-radius:var(--r-lg,14px);padding:1.9rem}
.ebaf-card--done{text-align:center}
.ebaf-eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--o,#EB6E21);margin:0 0 .5rem}
.ebaf-h{font-family:var(--head,'Fira Sans',sans-serif);font-size:20px;font-weight:600;color:var(--ink,#0F1B2D);margin:0 0 .5rem;line-height:1.3}
.ebaf-p{font-size:14px;color:var(--mid,#3D5068);line-height:1.65;margin:0 0 1.4rem}
.ebaf-card--done .ebaf-p{margin-bottom:0}
.ebaf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1rem}
.ebaf-field{margin-bottom:1rem}
.ebaf-grid .ebaf-field{margin-bottom:0}
.ebaf-grid .ebaf-field--full{grid-column:1/-1}
.ebaf-label{display:block;font-size:13px;font-weight:600;color:var(--ink,#0F1B2D);margin-bottom:.3rem}
.ebaf-req{color:#c0392b}
.ebaf-input{display:block;width:100%;box-sizing:border-box;padding:.6rem .85rem;font-size:15px;color:var(--ink,#0F1B2D);background:var(--white,#fff);border:1px solid var(--border-2,#c8d2de);border-radius:var(--r-md,10px);outline:none;transition:border-color .15s;font-family:inherit;-webkit-appearance:none}
.ebaf-input:focus{border-color:var(--navy,#0F1B2D)}
.ebaf-input.is-invalid{border-color:#c0392b}
textarea.ebaf-input{resize:vertical}
.ebaf-btn{display:block;width:100%;box-sizing:border-box;padding:.78rem 1rem;margin-top:1.25rem;font-size:15px;font-weight:600;color:#fff;background:var(--o,#EB6E21);border:none;border-radius:var(--r-md,10px);cursor:pointer;transition:background .15s,transform .1s;font-family:var(--body,inherit)}
.ebaf-btn:hover{background:var(--o2,#D4601C)}
.ebaf-btn:active{transform:scale(.98)}
.ebaf-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.ebaf-err{display:block;font-size:12px;color:#c0392b;margin-top:.5rem;min-height:1em}
.ebaf-tick{font-size:30px;color:#1d9e75;margin-bottom:.5rem}
.ebaf-cta{display:block;text-align:center;box-sizing:border-box;padding:.78rem 1rem;margin-top:.7rem;font-weight:600;color:#fff;background:var(--o,#EB6E21);border-radius:var(--r-md,10px);text-decoration:none}
.ebaf-cta:hover{background:var(--o2,#D4601C)}

/* ── Reusable author byline (ebook + Góc nhìn/Insights articles) ──
   Usage:
   <div class="eb-byline">
     <img src="/assets/authors/kiem.jpg" alt="Kiếm Nguyễn">
     <div><div class="eb-byline__n">Kiếm Nguyễn</div>
     <div class="eb-byline__m">Nhà sáng lập EB.Academy · 5 phút đọc</div></div>
   </div> */
.eb-byline{display:flex;align-items:center;gap:12px;margin:20px 0}
.eb-byline img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--cream,#F0EDE6)}
.eb-byline__n{font-weight:700;color:var(--navy,#0F1B2D);font-size:14.5px;line-height:1.2}
.eb-byline__m{font-size:12.5px;color:var(--muted,#7c879a);margin-top:2px}
