/* Homepage additions: live cards, account menu, footer, modal, mobile menu. */
.wrap{width:min(1180px,calc(100% - 48px));margin:auto}
.button{border:0;border-radius:10px;background:linear-gradient(135deg,#ee452a,#ff6549);color:#fff;text-decoration:none;font-weight:800;padding:13px 20px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.button.secondary{background:#fff;color:var(--ink);border:1px solid #bac4cc}
.link{background:none;border:0;padding:0;color:var(--orange);font-weight:800;cursor:pointer}
.muted{color:var(--muted)}
:focus-visible{outline:3px solid #ffb4a4;outline-offset:2px}

/* cards */
.job-card,.course-card{position:relative;transition:.2s}
.card-link{color:inherit;text-decoration:none}
.card-link:after{content:"";position:absolute;inset:0;border-radius:inherit}
.job-card .save{position:relative;z-index:2;cursor:pointer}
.posted-at{float:right;font-size:13px;color:var(--muted);margin-top:8px}
.course-card:hover{box-shadow:0 14px 35px #22314817;transform:translateY(-2px)}
.course-img.v-python{background:linear-gradient(135deg,#0b3558,#18a98f)}
.course-img.v-excel{background:linear-gradient(135deg,#0d6b4f,#7bd8b5)}
.course-img.v-pm{background:linear-gradient(135deg,#3a2f87,#a99cf2)}
.course-img.v-ux{background:linear-gradient(135deg,#d6416b,#ffc1d1)}
.course-img.v-sql{background:linear-gradient(135deg,#0b2a4a,#3f8fd8)}
.course-img.v-service{background:linear-gradient(135deg,#ff9a3d,#ffe2b8)}
.course-img.v-social{background:linear-gradient(135deg,#7a2fb5,#f0b8ff)}
.course-img.v-cyber{background:linear-gradient(135deg,#091a2f,#2a6c7a)}
.course-img.v-analytics{background:linear-gradient(135deg,#f2b318,#fff1bc)}
.course-img.v-marketing{background:linear-gradient(135deg,#ff7b61,#ffd8cc)}
.course-img span{font-weight:800}
.search-row label[hidden]{display:none}
.search-row:has(label[hidden]) {grid-template-columns:1fr auto}
.search-row:has(label[hidden]) label:first-child{border-radius:9px}

/* account menu */
.account-menu{position:relative}
.topbar .account-toggle{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:#fff;border-radius:30px;padding:4px 12px 4px 4px;font-weight:700;cursor:pointer}
.avatar-chip{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#d7f5e7;color:#087965;font-weight:800;font-size:13px}
.account-dropdown{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px #14233b1f;min-width:210px;padding:8px;z-index:40}
.account-dropdown a,.topbar .account-dropdown button{display:block;width:100%;text-align:left;padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:600;background:none;border:0;cursor:pointer}
.account-dropdown a:hover,.account-dropdown button:hover{background:#f2f6f5}
.topbar .account-dropdown button{border-top:1px solid var(--line);border-radius:0 0 8px 8px;margin-top:4px;color:#b42318}
.nav-actions .sign{color:var(--ink);font-weight:700;text-decoration:none}
.nav-actions .button{padding:13px 21px}

/* footer (mirrors page-shell.css) */
.footer{background:#06162d;color:#d8e2ed;padding:52px 0 26px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px}
.footer .logo{color:#fff}
.footer p{color:#aebdd0;line-height:1.6}
.footer nav{display:flex;flex-direction:column;gap:10px}
.footer nav b{color:#fff;margin-bottom:4px}
.footer a{color:#d8e2ed;text-decoration:none}
.footer a:hover{color:#fff}
.newsletter label{display:block;font-size:14px;color:#d8e2ed;margin:18px 0 8px}
.newsletter div{display:flex;gap:8px}
.newsletter input{flex:1;min-width:0;border:1px solid #33465f;background:#0d2240;color:#fff;border-radius:9px;padding:11px 13px}
.newsletter .button{padding:11px 16px}
.footer-base{display:flex;justify-content:space-between;border-top:1px solid #1d3352;margin-top:36px;padding-top:20px;color:#8ea0b6}

/* toast + modal */
.toast.error{background:#9b2316}
body.modal-open{overflow:hidden}
.modal-backdrop{position:fixed;inset:0;background:#07142e8c;display:grid;place-items:center;padding:20px;z-index:80}
.modal{background:#fff;border-radius:18px;width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:30px;position:relative}
.modal-close{position:absolute;right:16px;top:14px;border:0;background:#f1f4f6;width:36px;height:36px;border-radius:50%;font-size:22px;cursor:pointer}

@media(max-width:1000px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){
  .topbar{position:relative}
  .topbar.nav-open .navlinks,.topbar.nav-open .nav-actions{display:flex;flex-direction:column;align-items:stretch;gap:4px;position:absolute;left:-14px;right:-14px;background:#fff;padding:10px 20px;z-index:45}
  .topbar.nav-open .navlinks{top:66px}
  .topbar.nav-open .navlinks a{padding:12px 0;border-bottom:1px solid var(--line)}
  .topbar.nav-open .nav-actions{top:calc(66px + 4 * 51px + 22px);padding-bottom:18px;box-shadow:0 18px 30px #14233b14}
  .topbar.nav-open .nav-actions>*{margin:4px 0}
  .account-dropdown{position:static;box-shadow:none}
  .footer-grid{grid-template-columns:1fr}
  .footer-base{flex-direction:column;gap:8px}
  .wrap{width:min(100% - 28px,1180px)}
}
.job-card,.course-card{min-width:0;overflow-wrap:anywhere}
