/* ════════ VTM AUTH — modal đăng nhập/đăng ký + nút tài khoản ════════ */
:root{ --vam-cherry:#A8163C; --vam-cherry-d:#6E1A26; --vam-gold:#E5C76B; --vam-ink:#241410; --vam-line:#E8E1D4; }

/* ── nút/menu tài khoản trong navbar ── */
.vtm-acct{ position:relative; display:flex; align-items:center; }
.vtm-acct-btn{ display:inline-flex; align-items:center; gap:9px; cursor:pointer;
  font-family:var(--f-ui,'Inter',sans-serif); font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  padding:9px 18px; border-radius:30px; border:1px solid rgba(240,208,112,.4); color:var(--gold-cream,#F8E9B8); background:rgba(40,12,16,.4); transition:all .25s; }
.vtm-acct-btn:hover{ border-color:var(--gold-bright,#F0D070); color:var(--gold-bright,#F0D070); }
.vtm-acct-btn.login{ background:linear-gradient(135deg,var(--gold-bright,#F0D070),var(--gold,#C9A84C)); color:var(--red-deep,#240A0E); border:none; }
.vtm-av{ width:24px;height:24px;border-radius:50%; display:inline-flex;align-items:center;justify-content:center;
  background:var(--vam-cherry); color:#fff; font-weight:700; font-size:12px; }
.vtm-acct-name{ max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media(max-width:900px){ .vtm-acct-name{ display:none; } .vtm-acct-btn{ padding:9px 12px; } }
.vtm-acct-menu{ position:absolute; top:calc(100% + 10px); right:0; min-width:210px; z-index:1200;
  background:#1C070A; border:1px solid rgba(240,208,112,.28); border-radius:14px; padding:8px; display:none;
  box-shadow:0 24px 60px rgba(0,0,0,.5); }
.vtm-acct.open .vtm-acct-menu{ display:block; }
.vtm-acct-menu a,.vtm-acct-menu button{ display:block; width:100%; text-align:left; padding:11px 14px; border-radius:9px;
  font-family:var(--f-ui,'Inter',sans-serif); font-size:13.5px; color:var(--gold-cream,#F8E9B8); background:none; border:none; cursor:pointer; text-decoration:none; }
.vtm-acct-menu a:hover,.vtm-acct-menu button:hover{ background:rgba(240,208,112,.12); color:var(--gold-bright,#F0D070); }
.vtm-acct-menu [data-logout]{ color:#E78; border-top:1px solid rgba(240,208,112,.16); margin-top:4px; }

/* trên trang nền sáng (champ/sw-home/pd-lite) nếu có */
body.champ .vtm-acct-btn:not(.login),body.sw-home .vtm-acct-btn:not(.login),body.pd-lite .vtm-acct-btn:not(.login){ color:#6E1A26; border-color:rgba(176,145,58,.5); background:rgba(255,255,255,.5); }

/* ── modal ── */
.vtm-auth-modal{ position:fixed; inset:0; z-index:10050; display:none; align-items:center; justify-content:center; padding:18px; }
.vtm-auth-modal.open{ display:flex; }
.vam-overlay{ position:absolute; inset:0; background:rgba(18,5,8,.74); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
.vam-box{ position:relative; z-index:1; width:100%; max-width:420px; max-height:92vh; overflow:auto;
  background:linear-gradient(180deg,#FFFDF8,#FBF4EA); border:1px solid var(--vam-line); border-radius:20px;
  padding:30px clamp(20px,4vw,38px) 28px; box-shadow:0 40px 100px rgba(0,0,0,.5); animation:vamIn .3s ease; }
@keyframes vamIn{ from{opacity:0;transform:translateY(16px) scale(.98)} to{opacity:1;transform:none} }
.vam-x{ position:absolute; top:14px; right:16px; background:none; border:none; font-size:28px; line-height:1; color:#9A8A7C; cursor:pointer; }
.vam-x:hover{ color:var(--vam-cherry); }
.vam-brand{ font-family:var(--f-disp,'Playfair Display',serif); font-weight:800; font-size:22px; color:var(--vam-cherry); text-align:center; margin-bottom:18px; }
.vam-brand em{ font-style:italic; color:var(--vam-cherry-d); }
.vam-tabs{ display:flex; gap:6px; background:#F1EADB; border-radius:12px; padding:4px; margin-bottom:20px; }
.vam-tab{ flex:1; padding:10px; border:none; background:none; border-radius:9px; cursor:pointer;
  font-family:var(--f-ui,'Inter',sans-serif); font-size:13px; font-weight:600; color:#8C7E6E; transition:all .2s; }
.vam-tab.on{ background:#fff; color:var(--vam-cherry); box-shadow:0 4px 12px rgba(110,26,38,.1); }
.vam-body form{ display:flex; flex-direction:column; gap:11px; }
.vam-body input{ height:46px; border:1px solid var(--vam-line); border-radius:11px; padding:0 15px;
  font-family:var(--f-body,'Be Vietnam Pro',sans-serif); font-size:15px; color:var(--vam-ink); background:#fff; outline:none; }
.vam-body input:focus{ border-color:var(--vam-cherry); box-shadow:0 0 0 3px rgba(168,22,60,.12); }
.vam-submit{ height:48px; border:none; border-radius:11px; cursor:pointer; margin-top:4px;
  font-family:var(--f-ui,'Inter',sans-serif); font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  background:var(--vam-cherry); color:#FBF1D2; transition:transform .25s,box-shadow .25s; }
.vam-submit:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(168,22,60,.3); }
.vam-submit.ghost{ background:transparent; color:var(--vam-cherry-d); border:1px solid rgba(176,145,58,.5); }
.vam-submit:disabled{ opacity:.6; cursor:default; transform:none; box-shadow:none; }
.vam-prov{ display:flex; align-items:center; justify-content:center; gap:10px; width:100%; height:48px; border-radius:11px; cursor:pointer;
  font-family:var(--f-ui,'Inter',sans-serif); font-size:14px; font-weight:600; color:var(--vam-ink); background:#fff; border:1px solid var(--vam-line); }
.vam-prov:hover{ border-color:#bbb; box-shadow:0 6px 16px rgba(0,0,0,.06); }
.vam-google span{ display:inline-flex; width:22px;height:22px; align-items:center;justify-content:center; border-radius:50%;
  background:conic-gradient(#EA4335 0 25%,#FBBC05 0 50%,#34A853 0 75%,#4285F4 0); color:#fff; font-weight:800; font-size:13px; }
.vam-or{ position:relative; text-align:center; margin:14px 0 4px; }
.vam-or::before{ content:""; position:absolute; top:50%; left:0; right:0; height:1px; background:var(--vam-line); }
.vam-or span{ position:relative; background:#FDF8F0; padding:0 12px; font-size:12px; color:#9A8A7C; }
.vam-link{ background:none; border:none; color:var(--vam-cherry-d); font-size:13px; cursor:pointer; text-decoration:underline; align-self:center; padding:4px; }
.vam-fine{ font-size:11.5px; color:#9A8A7C; line-height:1.5; margin-top:4px; }
.vam-note{ font-size:14px; color:var(--vam-cherry-d); line-height:1.7; text-align:center; padding:14px 0; }

/* ── toast ── */
.vtm-toast{ position:fixed; left:50%; bottom:26px; transform:translateX(-50%) translateY(20px); z-index:10090;
  background:#241410; color:#FBF1D2; font-family:var(--f-body,'Be Vietnam Pro',sans-serif); font-size:14px;
  padding:13px 22px; border-radius:12px; box-shadow:0 18px 44px rgba(0,0,0,.4); opacity:0; pointer-events:none; transition:opacity .3s,transform .3s; max-width:90vw; text-align:center; }
.vtm-toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }
.vtm-toast.ok{ background:#1E5631; } .vtm-toast.err{ background:#8B1A2E; }
