/* VF 2026-10-27: Forgot Password / Reset Password pages, "Option C · Route map" style (matches vf_login_c.css). */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Inter+Tight:wght@600;700&display=swap');

body.vfa-on{margin:0 !important;padding:0 !important;background:#0B2236 !important;background-image:none !important;min-height:100vh;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif !important;color:#fff;overflow-x:hidden}
body.vfa-on > *:not(.vfa):not(script):not(style):not(link):not(#cookieConsent):not(.modal):not(.modal-backdrop){display:none !important}
body.vfa-on *{box-sizing:border-box}

.vfa{position:relative;min-height:100vh;overflow:hidden;display:flex;flex-direction:column;padding:0 56px 40px}
.vfa .vfc-map{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.vfa .vfc-top{position:relative;display:flex;align-items:center;justify-content:space-between;height:96px;gap:16px;border:0 !important;background:transparent !important;box-shadow:none !important;margin:0 !important;padding:0 !important;width:auto !important}
.vfa .vfc-logo{display:inline-flex;align-items:center;background:#fff;border-radius:12px;padding:8px 14px;max-width:260px;color:#0B2236;font-weight:700;text-decoration:none}
.vfa .vfc-logo img{display:block;max-height:44px;max-width:230px;width:auto;height:auto}
.vfa .vfa-toplink{color:#C3D1DD !important;text-decoration:none;font-size:15px;font-weight:500;padding:10px 14px;border-radius:8px;min-height:44px;display:inline-flex;align-items:center}
.vfa .vfa-toplink:hover{color:#fff !important;background:rgba(255,255,255,.08)}

.vfa-center{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:8px 0 16px}
.vfa-card{position:relative;width:100%;max-width:560px;background:#fff;color:#14212B;border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.35);padding:36px 40px;display:flex;flex-direction:column;gap:18px}
.vfa-card .vfc-head{display:flex;align-items:center;gap:12px}
.vfa-card .vfc-ic{width:44px;height:44px;flex:none;border-radius:12px;background:var(--vfc-tint);display:flex;align-items:center;justify-content:center}
.vfa-card .vfc-head h1{margin:0;font-family:"Inter Tight",Inter,sans-serif;font-size:26px;font-weight:700;letter-spacing:-.3px;color:#14212B;line-height:1.2}
.vfa-card .vfc-sub{font-size:14px;color:#4A5764;margin-top:2px}

/* messages (success / error) */
.vfa-card .vfa-msg{margin:0 !important;border-radius:10px !important;font-size:14px}
.vfa-card .vfa-msg .alert{margin:0 !important;border-radius:10px !important}

/* original card body */
.vfa-card .CardBody{padding:0 !important;margin:0 !important;background:transparent !important;border:0 !important;color:#14212B;font-size:15px}
.vfa-card .vf-fp-info{margin:0 0 20px !important}
body.vfa-on .vfa .vfa-card .CardBody form{display:flex !important;flex-direction:column !important;gap:20px !important;margin:0 !important}
body.vfa-on .vfa .vfa-card .CardBody form > .form-group.row{display:block !important;margin:0 !important;padding:0 !important}
body.vfa-on .vfa .vfa-card .CardBody form > .form-group.row:has(input.btn){margin-top:8px !important}
body.vfa-on .vfa .vfa-card .CardBody form > .form-group.row > [class*="col-"] > input.form-control{display:block !important;margin:0 !important}
.vfa-card .form-group.row > [class*="col-"] > input.form-control{margin:0 !important}
.vfa-card .form-group.row > [class*="col-"]{max-width:100% !important;width:100% !important;flex:none !important;padding:0 !important;margin:0 !important}
.vfa-card .col-form-label{display:block;text-align:left !important;font-size:14px !important;font-weight:600 !important;color:#26343F !important;padding:0 0 6px !important}
.vfa-card .required{color:#B42318}
.vfa-card input.form-control{width:100% !important;height:48px !important;padding:0 14px !important;border:1px solid #C9D3DB !important;border-radius:10px !important;font:inherit !important;font-size:16px !important;color:#14212B !important;background:#fff !important;box-shadow:none !important}
.vfa-card input.form-control:focus{outline:none;border-color:var(--vfc-accent) !important;box-shadow:0 0 0 3px var(--vfc-tint) !important}
.vfa-card .form-control-feedback{font-size:13px;color:#B42318;margin-top:4px}
.vfa-card .form-control-feedback:empty{display:none}

/* buttons: main action in the portal colour, Back in dark grey */
.vfa-card .CardBody input.btn{height:48px !important;padding:0 22px !important;border-radius:10px !important;font:inherit !important;font-size:16px !important;font-weight:600 !important;text-transform:none !important;cursor:pointer;opacity:1 !important;margin:0 8px 8px 0 !important;background:var(--vfc-accent) !important;border:1px solid var(--vfc-accent) !important;color:#fff !important}
.vfa-card .CardBody input.btn:hover{filter:brightness(1.1);background:var(--vfc-accent) !important;border-color:var(--vfc-accent) !important}
.vfa-card .CardBody input.btn[value=Back],.vfa-card .CardBody input.btn[value=back]{background:#4B5563 !important;border-color:#4B5563 !important}
.vfa-card .CardBody input.btn[value=Back]:hover,.vfa-card .CardBody input.btn[value=back]:hover{background:#374151 !important;border-color:#374151 !important}
.vfa-card .CardBody input.btn:focus-visible{outline:3px solid #F3AE63;outline-offset:2px}
.vfa-card .CardBody ul{list-style:none;margin:0;padding:0}
.vfa-card .CardBody ul li{text-align:left !important}
.vfa-card a{color:#1F5FAF;font-weight:600}

/* "Check your email" panel after the request is sent */
.vfa-done{display:flex;flex-direction:column;gap:12px;padding:22px 22px 20px;border-radius:12px;background:#E8F5EC;border:1px solid #BFE0C8;color:#14212B}
.vfa-done-ic{width:52px;height:52px;border-radius:50%;background:#fff;border:2px solid #9FD3AE;display:flex;align-items:center;justify-content:center}
.vfa-card .vfa-done h2{margin:0 !important;padding:0 !important;border:0 !important;background:none !important;text-indent:0 !important;font-family:"Inter Tight",Inter,sans-serif !important;font-size:22px !important;font-weight:700 !important;color:#14212B !important;line-height:1.25 !important}
.vfa-card .vfa-done h2::before,.vfa-card .vfa-done h2::after{display:none !important;content:none !important}
.vfa-done p{margin:0;font-size:15px;line-height:1.55;color:#26343F}
.vfa-done ol{margin:0;padding-left:20px;font-size:15px;line-height:1.55;color:#26343F}
.vfa-done ol li{display:list-item !important;list-style:decimal outside !important;margin:4px 0}
.vfa-done-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:6px}
.vfa-card a.vfa-btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 22px;border-radius:10px;background:var(--vfc-accent);color:#fff !important;font-size:16px;font-weight:600;text-decoration:none !important}
.vfa-card a.vfa-btn:hover{filter:brightness(1.1)}
.vfa-card a.vfa-link{font-size:15px;font-weight:600;color:#1F5FAF !important;text-decoration:none}
.vfa-card a.vfa-link:hover{text-decoration:underline}
.vfa-card .alert.vfa-msg{margin:0 !important;padding:12px 14px !important;border-radius:10px !important;font-size:14px !important;line-height:1.5}
.vfa-card .alert-danger.vfa-msg{background:#FDECEC !important;border:1px solid #F5C2C2 !important;color:#9B1C1C !important}
.vfa-card .alert-success.vfa-msg{background:#E8F5EC !important;border:1px solid #BFE0C8 !important;color:#1E6B34 !important}

/* company footer, as in the emails */
.vfa-foot{position:relative;width:100%;max-width:560px;font-size:13px;line-height:1.6;color:#9FB3C4;text-align:center}
.vfa-foot .vfa-co{color:#fff;font-weight:600;font-size:14px}
.vfa-foot a{color:#C3D1DD !important;text-decoration:none !important;font-weight:400 !important}
.vfa-foot a:hover{color:#fff;text-decoration:underline}
.vfa-foot b{color:#fff;font-weight:600}
.vfa-foot .vfa-rule{height:1px;background:rgba(255,255,255,.14);margin:12px auto;max-width:360px}

@media (max-width:760px){
  .vfa{padding:0 16px 28px}
  .vfa .vfc-top{height:auto;padding-top:16px;flex-wrap:wrap}
  .vfa-card{padding:28px 22px}
  .vfa-card .vfc-head h1{font-size:22px}
  .vfa-card .CardBody input.btn{width:100%;margin:0 0 10px !important}
  .vfa-card .vf-fp-info svg{display:none}
}
