/* JSC v30.3 — Login + Registration public pages
   Presentation only. HESK authentication/CAPTCHA/account logic is unchanged. */

:root{
  --jsc-account-green:#006b4f;
  --jsc-account-green-dark:#004a38;
  --jsc-account-green-soft:#e9f4ef;
  --jsc-account-gold:#d1a11f;
  --jsc-account-ink:#173b34;
  --jsc-account-muted:#61736d;
  --jsc-account-border:#d8e2de;
  --jsc-account-blue:#2878ad;
}

.jsc-account-page{background:#f4f7f6;color:var(--jsc-account-ink)}
.jsc-account-page .wrapper{width:100%;max-width:none;margin:0;padding:0;background:transparent}
.jsc-account-page .main{width:100%;max-width:none;margin:0;padding:0;background:transparent}

/* Neat, consistent breadcrumb treatment for account pages. */
.jsc-account-breadcrumbs{position:relative;z-index:3;background:rgba(255,255,255,.96);border-bottom:1px solid #e3e9e6;box-shadow:0 2px 8px rgba(18,54,43,.04)}
.jsc-account-breadcrumbs__inner{max-width:1320px;margin:0 auto;padding:12px 28px;display:flex;align-items:center;gap:9px;white-space:nowrap;overflow-x:auto;color:#61736d;font-size:13px;line-height:1.2;scrollbar-width:thin}
.jsc-account-breadcrumbs a{color:#176c57;text-decoration:none;font-weight:650}
.jsc-account-breadcrumbs a:hover{text-decoration:underline}
.jsc-account-breadcrumbs__chev{color:#9aa9a4;font-size:15px;flex:0 0 auto}
.jsc-account-breadcrumbs__current{color:#304b43;font-weight:750;flex:0 0 auto}

/* Page canvas */
.jsc-account-stage{position:relative;isolation:isolate;min-height:620px;background-color:#f6f8f7;background-repeat:no-repeat;background-size:cover;overflow:hidden}
.jsc-account-stage::before{content:none;display:none}
.jsc-account-stage::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:rgba(255,255,255,var(--jsc-account-overlay,0))}
.jsc-account-stage__inner{position:relative;z-index:1;max-width:1320px;margin:0 auto;padding:54px 28px 58px;display:grid;grid-template-columns:minmax(230px,1fr) minmax(390px,470px) minmax(230px,1fr);gap:46px;align-items:center}

/* Left editorial copy */
.jsc-account-copy{align-self:center;max-width:345px}
.jsc-account-copy__eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;color:#8b6a05;font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.jsc-account-copy__eyebrow::before{content:"";width:30px;height:2px;background:var(--jsc-account-gold)}
.jsc-account-copy h1{margin:0;color:var(--jsc-account-green-dark);font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,3.2vw,50px);line-height:1.02;letter-spacing:-.025em}
.jsc-account-copy__rule{width:45px;height:4px;margin:17px 0 17px;border-radius:10px;background:var(--jsc-account-gold)}
.jsc-account-copy__intro{margin:0;color:#36564d;font-size:16px;line-height:1.65;font-weight:520}
.jsc-account-quote{margin:34px 0 0;padding:0 0 0 25px;position:relative;color:#35554c;font-family:Georgia,"Times New Roman",serif;font-size:17px;font-style:italic;line-height:1.55}
.jsc-account-quote::before{content:"“";position:absolute;left:0;top:-9px;color:var(--jsc-account-gold);font-size:46px;font-style:normal;line-height:1}
.jsc-account-quote cite{display:block;margin-top:10px;color:#60736c;font-family:Arial,sans-serif;font-size:12px;font-style:normal;font-weight:700}

/* Center form card */
.jsc-account-card{position:relative;background:rgba(255,255,255,.97);border:1px solid rgba(204,218,212,.95);border-radius:14px;box-shadow:0 16px 45px rgba(20,61,49,.13);padding:31px 34px 30px;backdrop-filter:blur(3px)}
.jsc-account-card__header{text-align:center;margin-bottom:24px}
.jsc-account-card__icon{width:48px;height:48px;margin:0 auto 12px;display:grid;place-items:center;border-radius:50%;background:#e9f5ef;color:var(--jsc-account-green);border:1px solid #d2e7dd}
.jsc-account-card__icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.jsc-account-card h2{margin:0;color:var(--jsc-account-green-dark);font-family:Georgia,"Times New Roman",serif;font-size:26px;line-height:1.15}
.jsc-account-card__accent{width:38px;height:3px;margin:10px auto 9px;border-radius:4px;background:var(--jsc-account-gold)}
.jsc-account-card__sub{margin:0;color:#687a74;font-size:13px;line-height:1.45}
.jsc-account-card__messages{margin-bottom:17px}

/* Override HESK's wide ticket form layout only within this card. */
.jsc-account-card .form{margin:0;max-width:none;padding:0;background:transparent;border:0;box-shadow:none}
.jsc-account-card .form-groups.centered{width:100%;max-width:none;margin:0;padding:0}
.jsc-account-card .form-group{margin:0 0 14px;padding:0}
.jsc-account-card .form-group .label,.jsc-account-card .form-group>label{display:block;margin:0 0 6px;color:#35564d;font-size:12px;font-weight:800}
.jsc-account-card .form-control{width:100%;height:44px;min-height:44px;padding:10px 12px;border:1px solid #c8d8d2;border-radius:7px;background:#fbfdfc;color:#1d3b33;box-shadow:none;font-size:14px;transition:border-color .18s,box-shadow .18s,background .18s}
.jsc-account-card .form-control:focus{border-color:#248164;background:#fff;box-shadow:0 0 0 3px rgba(0,107,79,.1);outline:0}
.jsc-account-card .form-control.isError,.jsc-account-card .form-control.iserror{border-color:#cf5656;background:#fffafa}
.jsc-account-card .form-control__error{font-size:11px}

.jsc-account-card .radio-group,.jsc-account-card .reg__checkboxes{margin:3px 0 14px}
.jsc-account-card .radio-list{display:grid;gap:5px}
.jsc-account-card .radio-custom,.jsc-account-card .checkbox-custom{font-size:12px;color:#48645c}
.jsc-account-card .radio-custom label,.jsc-account-card .checkbox-custom label{font-size:12px;color:#48645c}

/* CAPTCHA is intentionally styled without altering HESK's validation logic. */
.jsc-account-card .captcha-block{margin:16px 0 2px;padding:15px;border:1px solid #e0e7e4;border-radius:9px;background:#f8faf9}
.jsc-account-card .captcha-block h2,.jsc-account-card .captcha-block h3{margin:0 0 10px;color:#21493e;font-size:13px;text-align:center;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.jsc-account-card .captcha-block .form-group{margin-bottom:0}
.jsc-account-card .captcha-block img[data-sec-img="1"],.jsc-account-card .captcha-block img[name="secimg"]{height:40px;width:150px;max-width:100%;border:1px solid #cad8d3;border-radius:6px;background:#fff;object-fit:cover}
.jsc-account-card .captcha-block .btn-refresh{width:38px;height:38px;min-width:38px;padding:0;margin:0 0 0 6px;border-radius:6px;vertical-align:middle;background:#fff;border:1px solid #cad8d3;color:#176c57}
.jsc-account-card .captcha-block label.required{margin-top:8px}
.jsc-account-card .divider{display:none}

/* Password-strength bar */
.jsc-password-strength{height:8px;border:1px solid #d7e0dc;border-radius:999px;background:#eef2f0;overflow:hidden}
.jsc-password-strength #progressBar{height:100%!important;border:0!important;border-radius:999px}

.jsc-account-card .form-footer{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:18px 0 0;padding:0;border:0;text-align:center}
.jsc-account-card .form-footer .btn-full{width:100%;min-height:47px;margin:0;border:1px solid var(--jsc-account-green);border-radius:7px;background:linear-gradient(180deg,#087b5d,#006b4f);color:#fff;font-weight:850;box-shadow:0 5px 12px rgba(0,107,79,.16)}
.jsc-account-card .form-footer .btn-full:hover{background:var(--jsc-account-green-dark)}
.jsc-account-card .form-footer .link{display:inline-block;color:#176c57;font-size:12px;font-weight:750;text-decoration:none}
.jsc-account-card .form-footer .link:hover{text-decoration:underline}
.jsc-account-card__or{display:flex;align-items:center;gap:10px;color:#95a29e;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.jsc-account-card__or::before,.jsc-account-card__or::after{content:"";flex:1;height:1px;background:#e1e7e4}
.jsc-account-card__alternate{text-align:center;margin-top:12px;color:#667a73;font-size:12px}
.jsc-account-card__alternate a{color:#006b4f;font-weight:800;text-decoration:none}
.jsc-account-card__alternate a:hover{text-decoration:underline}

/* Right benefits */
.jsc-account-benefits{display:grid;gap:25px;max-width:330px;justify-self:end}
.jsc-account-benefit{display:grid;grid-template-columns:56px 1fr;gap:15px;align-items:start}
.jsc-account-benefit__icon{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:#f7efce;border:1px solid #eadba5;color:#087055}
.jsc-account-benefit__icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.jsc-account-benefit h3{margin:3px 0 4px;color:var(--jsc-account-green-dark);font-size:17px;font-weight:900}
.jsc-account-benefit p{margin:0;color:#536c64;font-size:13px;line-height:1.5}

/* HESK notices and reset-password modal */
.jsc-account-page .notification{border-radius:8px}
.jsc-account-page #forgot-modal .form{max-width:none}
.jsc-account-page .jquery-modal.blocker{z-index:100000}
.jsc-account-page .modal{max-width:520px;border-radius:10px}

/* Keep the mandatory HESK license footer compact without hiding it. */
.jsc-account-page .main>.footer{margin:0;padding:12px 20px;background:#fff;border-top:1px solid #e6ece9;color:#75847f;font-size:11px;text-align:center}
.jsc-account-page .main>.footer a{color:#176c57}

@media(max-width:1100px){
  .jsc-account-stage__inner{grid-template-columns:minmax(220px,.85fr) minmax(380px,460px);gap:36px}
  .jsc-account-benefits{grid-column:1/-1;grid-template-columns:repeat(3,1fr);max-width:none;width:100%;justify-self:stretch;margin-top:4px}
  .jsc-account-benefit{grid-template-columns:46px 1fr;gap:11px;padding:14px;border:1px solid rgba(214,225,220,.9);border-radius:10px;background:rgba(255,255,255,.62)}
  .jsc-account-benefit__icon{width:46px;height:46px}
  .jsc-account-benefit__icon svg{width:23px;height:23px}
}

@media(max-width:820px){
  .jsc-account-stage__inner{grid-template-columns:1fr;max-width:650px;padding-top:38px;gap:28px}
  .jsc-account-copy{max-width:none;text-align:center}
  .jsc-account-copy__eyebrow{justify-content:center}
  .jsc-account-copy__rule{margin-left:auto;margin-right:auto}
  .jsc-account-quote{max-width:480px;margin-left:auto;margin-right:auto;text-align:left}
  .jsc-account-card{max-width:520px;width:100%;justify-self:center}
  .jsc-account-benefits{grid-template-columns:1fr;max-width:520px;justify-self:center}
}

@media(max-width:560px){
  .jsc-account-breadcrumbs__inner{padding:10px 16px;font-size:12px}
  .jsc-account-stage__inner{padding:30px 15px 38px}
  .jsc-account-copy h1{font-size:36px}
  .jsc-account-copy__intro{font-size:14px}
  .jsc-account-card{padding:25px 18px 24px;border-radius:10px}
  .jsc-account-card h2{font-size:23px}
  .jsc-account-benefit{background:rgba(255,255,255,.82)}
}
