/* Legal Global — child theme global CSS.
   Chỉ chứa phần CSS vốn nằm inline trong HTML tĩnh (preloader, trang auth) và CSS
   auth-nav/bookmark (trước đây do auth.js inject). KHÔNG override site.css. */

/* ─── Preloader (nguyên bản từ layout tĩnh) ─── */
#lg-preloader{position:fixed;inset:0;z-index:99999;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .5s ease;pointer-events:none;}
#lg-preloader.fade-out{opacity:0;}
#lg-preloader.hidden{display:none;}
.lg-build{position:relative;width:300px;max-width:74vw;aspect-ratio:238/46;animation:lg-bob 2.6s ease-in-out 1.6s infinite;}
.lg-build img{position:absolute;inset:0;width:100%;height:100%;}
.lgp-icon{animation:lg-p-icon .6s cubic-bezier(.34,1.4,.5,1) both;}
.lgp-red{transform-origin:9% 18%;animation:lg-p-red .5s cubic-bezier(.34,1.56,.64,1) .95s both;}
.lgp-legal{animation:lg-p-legal .55s cubic-bezier(.22,1,.36,1) .3s both;}
.lgp-global{animation:lg-p-global .55s cubic-bezier(.22,1,.36,1) .55s both;}
.lg-load-shine{position:absolute;inset:0;background:linear-gradient(110deg,transparent 32%,rgba(255,255,255,.92) 50%,transparent 68%) no-repeat;background-size:250% 100%;background-position:220% 0;-webkit-mask:var(--lg-logo-mask,url("../../../../../template/assets/img/logo.png")) center/contain no-repeat;mask:var(--lg-logo-mask,url("../../../../../template/assets/img/logo.png")) center/contain no-repeat;animation:lg-shine 1.7s ease-in-out 1.8s infinite;}
.lg-load-bar{width:200px;height:3px;border-radius:99px;background:#eceef0;margin-top:30px;overflow:hidden;position:relative;}
.lg-load-bar span{position:absolute;top:0;bottom:0;left:0;width:40%;border-radius:99px;background:#C4142A;animation:lg-run 1.15s cubic-bezier(.45,.05,.55,.95) infinite;}
@keyframes lg-p-icon{from{opacity:0;transform:translate(-30px,-36px) rotate(-24deg);}to{opacity:1;transform:translate(0,0) rotate(0);}}
@keyframes lg-p-red{0%{opacity:0;transform:scale(.2);}60%{opacity:1;transform:scale(1.45);}100%{opacity:1;transform:scale(1);}}
@keyframes lg-p-legal{from{opacity:0;transform:translateX(36px);filter:blur(5px);}to{opacity:1;transform:translateX(0);filter:blur(0);}}
@keyframes lg-p-global{from{opacity:0;transform:translateY(15px);}to{opacity:1;transform:translateY(0);}}
@keyframes lg-bob{0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);}}
@keyframes lg-shine{0%{background-position:220% 0;}55%,100%{background-position:-120% 0;}}
@keyframes lg-run{0%{left:-42%;}100%{left:102%;}}

/* ─── Auth slot trên nav (chuyển từ auth.js injectStyles sang CSS tĩnh) ─── */
.lg-nav-login{display:inline-flex;align-items:center;padding:8px 18px!important;border-radius:999px!important;border:1.5px solid #C4142A!important;color:#C4142A!important;background:transparent!important;font-size:13px!important;cursor:pointer;white-space:nowrap;font-family:"Be Vietnam Pro",sans-serif;font-weight:600;text-decoration:none;transition:.2s}
.lg-nav-login:hover{border-color:#9E0F22!important;background:#C4142A!important;color:#fff!important}
.lg-nav-user{position:relative;display:flex;align-items:center}
.lg-nav-avatar{width:32px;height:32px;border-radius:50%;background:#C4142A;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;font-family:Archivo,sans-serif;flex-shrink:0}
.lg-nav-name{color:#16191D;font-size:13px;font-weight:600;font-family:"Be Vietnam Pro",sans-serif;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lg-user-toggle{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:999px;transition:.2s}
.lg-user-toggle:hover{background:rgba(196,20,42,.06)}
.lg-user-caret{color:#8A9099;transition:transform .2s;flex-shrink:0}
.lg-nav-user.open .lg-user-caret{transform:rotate(180deg)}
.lg-user-dropdown{position:absolute;top:calc(100% + 10px);right:0;min-width:240px;max-width:290px;background:#fff;border:1px solid #E4E6E9;border-radius:12px;box-shadow:0 18px 50px -18px rgba(22,25,29,.35);padding:6px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.18s ease;z-index:1000}
.lg-nav-user.open .lg-user-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.lg-user-head{padding:10px 12px 12px;border-bottom:1px solid #EDEFF1;margin-bottom:4px}
.lg-user-head-name{font-family:Archivo,sans-serif;font-weight:800;font-size:14px;color:#16191D}
.lg-user-head-mail{font-size:12px;color:#8A9099;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lg-user-dropdown a{display:block;padding:9px 12px;border-radius:8px;font-size:13.5px;font-weight:600;color:#5B6168;text-decoration:none;font-family:"Be Vietnam Pro",sans-serif;transition:.15s;white-space:nowrap}
.lg-user-dropdown a:hover{background:#F4F5F6;color:#16191D}
.lg-user-dropdown a.lg-user-logout{color:#C4142A;margin-top:4px;border-top:1px solid #EDEFF1;border-radius:0 0 8px 8px}
.lg-user-dropdown a.lg-user-logout:hover{background:rgba(196,20,42,.07)}

/* ─── Bookmark job (từ auth.js) ─── */
.job-bm{background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:6px;line-height:1;font-size:20px;color:#ccc;transition:.2s;flex-shrink:0}
.job-bm:hover{color:#C4142A;background:rgba(196,20,42,.08)}
.job-bm.saved{color:#C4142A}
.jf-saved-toggle{padding:9px 18px;border:1.5px solid #ddd;border-radius:8px;background:#fff;font-family:"Be Vietnam Pro",sans-serif;font-size:13px;font-weight:600;color:#666;cursor:pointer;transition:.2s;white-space:nowrap;display:flex;align-items:center;gap:6px}
.jf-saved-toggle:hover{border-color:#C4142A;color:#C4142A}
.jf-saved-toggle.on{background:#C4142A;border-color:#C4142A;color:#fff}
.lg-saved-empty{text-align:center;padding:48px 24px;color:#888;font-family:"Be Vietnam Pro",sans-serif}
.lg-saved-empty p{font-size:15px;margin:0 0 6px}
.lg-saved-empty small{font-size:13px;color:#aaa}

/* ─── Đa ngôn ngữ: menu tiếng Nhật không gãy giữa chữ CJK ─── */
:lang(ja) nav.menu a{white-space:nowrap}
:lang(ja) nav.menu{gap:20px}

/* ─── Responsive polish (audit mobile) ─── */
@media(max-width:768px){
  /* Hero: site.css clamp 2 dòng làm cắt cụt chữ trên mobile — cho xuống dòng đủ
     (đồng bộ với rule "don't truncate on phones" mà site.css đã áp cho h2). */
  .hero h1{-webkit-line-clamp:initial;display:block;overflow:visible}
  .hero p.lead{-webkit-line-clamp:initial;display:block;overflow:visible}
}
@media(max-width:640px){
  /* Topbar gọn: ẩn cả số điện thoại lẫn ghi chú, email giữ 1 dòng */
  .topbar .tb-l a.hide,.topbar .tb-l span.hide{display:none}
  .topbar .tb-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* Nút đăng nhập trên nav nhỏ gọn hơn */
  .lg-nav-login{padding:6px 13px!important;font-size:12px!important}
}

/* ─── CF7 đồng bộ design ─── */
.wpcf7-form .wpcf7-form-control-wrap{display:block;width:100%}
.wpcf7-acceptance{display:block;width:100%}
.wpcf7-acceptance .wpcf7-list-item{display:block;margin:0}
.wpcf7-acceptance .wpcf7-list-item label{display:flex;align-items:flex-start;gap:8px;text-align:left;cursor:pointer}
.wpcf7-acceptance input[type=checkbox]{width:16px!important;height:16px;padding:0;margin:3px 0 0;flex-shrink:0;accent-color:var(--red)}
.wpcf7-acceptance .wpcf7-list-item-label{font-size:13px;color:var(--muted);text-align:left;display:block}
.wpcf7-form input[type=file]{width:100%;font-size:13px;color:var(--muted);padding:10px 0}
.wpcf7 form .wpcf7-response-output{border-radius:10px;font-size:13.5px;padding:10px 14px;margin:16px 0 0;font-family:"Be Vietnam Pro",sans-serif}

/* ─── Trang tài khoản cá nhân ─── */
.lg-acc-grid{display:grid;grid-template-columns:280px 1fr;gap:36px;align-items:start}
.lg-acc-side{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;position:sticky;top:96px}
.lg-acc-user{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:12px}
.lg-acc-avatar{width:44px;height:44px;font-size:18px;flex-shrink:0}
.lg-acc-name{font-family:Archivo,sans-serif;font-weight:800;font-size:15px;color:var(--ink)}
.lg-acc-mail{font-size:12.5px;color:var(--muted-2);word-break:break-all}
.lg-acc-menu{display:flex;flex-direction:column;gap:4px}
.lg-acc-menu a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:600;color:var(--muted);text-decoration:none;transition:.2s;font-family:"Be Vietnam Pro",sans-serif}
.lg-acc-menu a:hover{background:var(--mist);color:var(--ink)}
.lg-acc-menu a.on{background:rgba(196,20,42,.08);color:var(--red)}
.lg-acc-menu a.lg-acc-logout{color:var(--muted-2);font-weight:500;margin-top:8px;border-top:1px solid var(--line);border-radius:0 0 10px 10px}
.lg-acc-menu a.lg-acc-logout:hover{color:var(--red);background:transparent}
.lg-acc-badge{background:var(--red);color:#fff;font-size:11px;font-weight:700;border-radius:99px;padding:2px 8px;line-height:1.4}
.lg-acc-title{font-family:Archivo,sans-serif;font-size:19px;font-weight:800;color:var(--ink);margin:0 0 18px}
.lg-acc-content .formcard{max-width:520px}
.lg-acc-content .lg-auth-msg{max-width:520px}
.lg-acc-jobs{margin-top:0}
.lg-acc-table{width:100%;max-width:760px}
.lg-acc-table .btn-sm{white-space:nowrap}
@media(max-width:900px){.lg-acc-grid{grid-template-columns:1fr}.lg-acc-side{position:static}}

/* ─── Trang auth (đăng nhập / đăng ký — từ inline style bản tĩnh) ─── */
body.lg-auth-page{min-height:100vh;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--mist);font-family:"Be Vietnam Pro",sans-serif;padding:40px 16px}
.lg-auth-logo{margin-bottom:26px}
.lg-auth-logo img{width:190px;max-width:70vw;display:block}
.lg-auth-card{background:#fff;border:1px solid var(--line);border-radius:16px;width:100%;max-width:400px;padding:32px 30px 28px;box-shadow:0 30px 70px -40px rgba(22,25,29,.4)}
.lg-auth-card h1{font-family:Archivo,sans-serif;font-size:22px;font-weight:800;color:var(--ink);margin:0 0 6px}
.lg-auth-card .sub{font-size:13px;color:var(--muted);margin:0 0 22px}
.lg-auth-msg{font-size:13px;padding:10px 14px;border-radius:8px;margin-bottom:16px;display:none}
.lg-auth-msg.err{display:block;background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.lg-auth-msg.ok{display:block;background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}
.lg-auth-card .field label{font-size:13px}
.lg-auth-card .field label small{font-weight:400;color:var(--muted-2)}
.lg-auth-submit{width:100%;padding:12px;background:var(--red);color:#fff;border:none;border-radius:10px;font-family:"Be Vietnam Pro",sans-serif;font-size:15px;font-weight:700;cursor:pointer;transition:.2s;margin-top:4px}
.lg-auth-submit:hover{background:var(--red-deep)}
.lg-auth-alt{text-align:center;font-size:13px;color:var(--muted);margin:18px 0 0}
.lg-auth-alt a{color:var(--red);font-weight:600;text-decoration:none}
.lg-auth-alt a:hover{text-decoration:underline}
.lg-auth-links{margin-top:22px;font-size:13px;text-align:center}
.lg-auth-links a{color:var(--muted);text-decoration:none;margin:0 10px}
.lg-auth-links a:hover{color:var(--red);text-decoration:underline}
.lg-auth-note{margin-top:14px;font-size:11.5px;color:var(--muted-2);text-align:center;max-width:400px}

/* ─── Chuyển ngôn ngữ: ngôn ngữ chưa có bản dịch thì mờ đi, không bấm được ─── */
.topbar .langs span.off{opacity:.45;cursor:default}
.topbar .langs span.off:hover{color:inherit}
