/** Standalone learner login presentation; authentication remains in HYDA Portal. */

body:has(.hyda-learner-login-page) .hyda-site-header,
body:has(.hyda-learner-login-page) .hyda-site-footer { display:none; }
body:has(.hyda-learner-login-page) .wp-site-blocks { background:#f8fafc; }

.hyda-learner-login-page { background:#f8fafc; color:#17213b; min-height:100vh; padding:4px; }
.hyda-login-shell { background:#fff; border:1px solid #e3e8f0; border-radius:0 0 1rem 1rem; box-shadow:0 12px 36px rgba(6,27,73,.08); display:grid; grid-template-columns:minmax(20rem,34.5%) minmax(0,1fr); min-height:calc(100vh - 8px); overflow:hidden; }
.hyda-login-brand { background:#000740; color:#fff; display:flex; flex-direction:column; min-height:100%; overflow:hidden; padding:clamp(2.5rem,5vw,5rem) clamp(2rem,5vw,5rem) 0; position:relative; }
.hyda-login-brand::before { background-image:radial-gradient(circle,rgba(240,169,32,.6) 1px,transparent 1.5px); background-size:9px 9px; content:""; height:17rem; opacity:.48; position:absolute; right:-4rem; top:22rem; transform:rotate(18deg); width:22rem; }
.hyda-login-brand::after { background:linear-gradient(180deg,rgba(0,7,64,0) 24%,rgba(0,7,64,.32) 57%,rgba(0,7,64,.8) 82%); content:""; inset:0; pointer-events:none; position:absolute; z-index:0; }
.hyda-login-logo { background:linear-gradient(135deg,#fff 0%,#f1f5fb 100%); border:1px solid rgba(245,168,0,.38); border-radius:.75rem; box-shadow:0 .75rem 1.8rem rgba(0,0,0,.18); box-sizing:border-box; display:block; height:9.7rem; max-width:18rem; object-fit:cover; object-position:center; padding:.38rem .6rem; position:relative; width:100%; z-index:1; }
.hyda-login-logo--nssn { height:12.5rem; max-width:16rem; object-fit:contain; padding:.5rem; }
.hyda-login-brand-copy { margin-top:clamp(1.9rem,3vw,3rem); max-width:21rem; position:relative; z-index:1; }
.hyda-login-brand h1 { color:#fff; font-size:clamp(2.35rem,3.8vw,3.75rem); letter-spacing:-.06em; line-height:1.05; margin:0 0 1.3rem; }
.hyda-login-brand h1 span { color:var(--hyda-gold); display:block; }
.hyda-login-brand p { color:rgba(255,255,255,.93); font-size:1.05rem; line-height:1.72; margin:0; max-width:22rem; }
.hyda-login-brand-image { bottom:7.7rem; height:min(34vw,31rem); left:0; object-fit:cover; object-position:center bottom; position:absolute; width:100%; z-index:0; }
.hyda-login-brand-features { align-items:center; background:rgba(0,7,64,.94); display:grid; gap:1.2rem; grid-template-columns:repeat(2,minmax(0,1fr)); margin-inline:calc(clamp(2rem,5vw,5rem) * -1); margin-top:auto; padding:1.2rem clamp(2rem,5vw,5rem); position:relative; z-index:2; }
.hyda-login-brand-feature { align-items:center; color:#fff; display:flex; font-size:.78rem; gap:.7rem; line-height:1.35; }
.hyda-login-brand-feature .dashicons { color:var(--hyda-gold); font-size:2.15rem; height:2.15rem; width:2.15rem; }
.hyda-login-brand-feature strong { color:var(--hyda-gold); display:block; font-size:.85rem; margin-bottom:.16rem; }

.hyda-login-content { display:flex; flex-direction:column; min-width:0; padding:clamp(2rem,3vw,4rem) clamp(1.5rem,4vw,4.5rem) 1.6rem; }
.hyda-login-back { align-items:center; align-self:flex-start; color:#0b2d68; display:inline-flex; font-size:.88rem; font-weight:800; gap:.5rem; margin-bottom:1rem; text-decoration:none; }
.hyda-login-back .dashicons { font-size:1.15rem; height:1.15rem; width:1.15rem; }
.hyda-login-back:hover { color:var(--hyda-gold-text); }
.hyda-login-content-grid { background:#fff; border:1px solid #e4e8ef; border-radius:1rem; box-shadow:0 9px 28px rgba(6,27,73,.045); display:grid; gap:clamp(2.5rem,6vw,7rem); grid-template-columns:minmax(20rem,1fr) minmax(17rem,.72fr); margin:auto 0; padding:clamp(2rem,4.6vw,5rem); }
.hyda-login-form-intro { text-align:center; }
.hyda-login-intro-icon { align-items:center; border:2px solid rgba(240,169,32,.2); border-radius:50%; color:var(--hyda-gold); display:inline-flex; font-size:2.65rem; height:5.2rem; justify-content:center; margin-bottom:1.35rem; width:5.2rem; }
.hyda-login-form-intro h2 { color:#07143c; font-size:clamp(2rem,3.5vw,3.25rem); letter-spacing:-.055em; margin:0 0 .65rem; }
.hyda-login-form-intro p { color:#566174; margin:0; }
.hyda-learner-login-page .hyda-portal-auth-layout { display:block; margin:0; max-width:none; }
.hyda-learner-login-page .hyda-portal-auth-card { background:transparent; border:0; border-radius:0; box-shadow:none; padding:0; }
.hyda-learner-login-page .hyda-portal-auth-card > h2,
.hyda-learner-login-page .hyda-portal-auth-card > p:not(.hyda-portal-help) { display:none; }
.hyda-learner-login-page .hyda-portal-support-card { display:none; }
.hyda-learner-login-page .hyda-portal-form { gap:1.35rem; margin-top:2.35rem; }
.hyda-learner-login-page .hyda-portal-field { gap:.58rem; position:relative; }
.hyda-learner-login-page .hyda-portal-field label { color:#4a5261; font-size:.9rem; }
.hyda-learner-login-page .hyda-portal-field > .dashicons { color:#8a93a1; font-size:1.35rem; height:1.35rem; left:1.15rem; position:absolute; top:3rem; width:1.35rem; z-index:1; }
.hyda-learner-login-page .hyda-portal-field input { border:1px solid #dce2ea; border-radius:.6rem; box-shadow:none; color:#17213b; min-height:4rem; padding-left:3.35rem; }
.hyda-learner-login-page .hyda-portal-field input:focus { border-color:var(--hyda-blue); box-shadow:0 0 0 4px rgba(10,47,114,.1); }
.hyda-learner-login-page .hyda-portal-checkbox { align-items:center; color:#636d7c; font-size:.9rem; }
.hyda-learner-login-page .hyda-portal-checkbox input { margin-top:0; }
.hyda-learner-login-page .hyda-portal-button { background:linear-gradient(115deg,#001342,#001f64); border-radius:.45rem; box-shadow:none; color:#fff; min-height:3.85rem; width:100%; }
.hyda-learner-login-page .hyda-portal-button:hover { background:#002773; color:#fff; transform:translateY(-1px); }
.hyda-learner-login-page .hyda-portal-help { border-top:1px solid #e6eaf0; margin-top:2rem; padding-top:1.55rem; text-align:center; }
.hyda-learner-login-page .hyda-portal-help a { color:#1356a4; font-weight:800; }
.hyda-login-support { display:grid; gap:.8rem; }
.hyda-login-support-card { align-items:flex-start; border:1px solid #e3e8ef; border-radius:.65rem; display:grid; gap:1rem; grid-template-columns:3.5rem 1fr; padding:1.25rem; }
.hyda-login-support-card .dashicons { align-items:center; background:#eef4ff; border-radius:50%; color:#1555a5; display:flex; font-size:1.7rem; height:3.5rem; justify-content:center; width:3.5rem; }
.hyda-login-support-card:nth-child(2) .dashicons { background:#e7f6ed; color:#2d9b56; }
.hyda-login-support-card:nth-child(3) .dashicons { background:#fff4df; color:#d88800; }
.hyda-login-support-card h3 { color:#111d43; font-size:1rem; letter-spacing:-.025em; margin:0 0 .42rem; }
.hyda-login-support-card p { color:#263246; font-size:.9rem; line-height:1.58; margin:0; }
.hyda-login-foot { color:#7a8492; display:flex; flex-wrap:wrap; font-size:.77rem; gap:1rem; justify-content:space-between; margin-top:1.35rem; }
.hyda-login-foot p { margin:0; }
.hyda-login-foot a { color:#7a8492; text-decoration:none; }
.hyda-login-foot a:hover { color:#0a2f72; }

@media (max-width:1080px) { .hyda-login-shell { grid-template-columns:minmax(17rem,31%) minmax(0,1fr); } .hyda-login-content-grid { gap:2rem; grid-template-columns:1fr; } .hyda-login-support { grid-template-columns:repeat(2,minmax(0,1fr)); } .hyda-login-support-card:last-child { grid-column:1/-1; } .hyda-login-brand-image { height:29rem; } }
@media (max-width:760px) { body:has(.hyda-learner-login-page) .wp-site-blocks { background:#fff; } .hyda-learner-login-page { padding:0; } .hyda-login-shell { border:0; border-radius:0; display:block; min-height:100vh; } .hyda-login-brand { min-height:27rem; padding:2rem var(--hyda-page-gutter); } .hyda-login-logo { height:7.45rem; max-width:14rem; } .hyda-login-logo--nssn { height:9.5rem; max-width:12.5rem; } .hyda-login-brand-copy { margin-top:1.45rem; max-width:17rem; } .hyda-login-brand h1 { font-size:2.25rem; } .hyda-login-brand-image { bottom:0; height:18rem; opacity:.5; } .hyda-login-brand-features { display:none; } .hyda-login-content { padding:1rem var(--hyda-page-gutter) 1.5rem; } .hyda-login-back { margin:0 0 .4rem; } .hyda-login-content-grid { border:0; box-shadow:none; gap:2.2rem; padding:2rem 0; } .hyda-login-support { grid-template-columns:1fr; } .hyda-login-support-card:last-child { grid-column:auto; } }
@media (max-width:420px) { .hyda-login-support-card { grid-template-columns:3rem 1fr; padding:1rem; } .hyda-login-support-card .dashicons { font-size:1.45rem; height:3rem; width:3rem; } }
