
.auth-page{background:#fff;color:#26352b}.auth-shell{width:min(1170px,calc(100% - 40px));margin:0 auto;padding:76px 0 90px}.auth-card{margin:0 auto;background:#fff;border-radius:20px;box-shadow:0 10px 32px rgba(25,44,31,.10);padding:46px 50px}.auth-card--login{max-width:600px}.auth-card--register{max-width:920px}.auth-heading{margin-bottom:34px}.auth-eyebrow{display:block;margin-bottom:8px;font:600 12px/1.4 var(--gespant-font-body);letter-spacing:4px;color:#314436}.auth-heading h2{margin:0 0 10px;font:300 30px/1.25 var(--gespant-font-heading);letter-spacing:1.5px;color:#26352b}.auth-heading p{max-width:760px;margin:0;font:400 14px/1.75 var(--gespant-font-body);color:#606b63}.auth-form fieldset{margin:0 0 34px;padding:0;border:0}.auth-form legend{width:100%;margin:0 0 18px;padding:0 0 10px;border-bottom:1px solid #e0e5e1;font:600 16px/1.4 var(--gespant-font-alt);letter-spacing:2px;color:#26352b}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.auth-field{display:flex;flex-direction:column;gap:7px}.auth-field--full{grid-column:1/-1}.auth-field>span{font:600 12px/1.4 var(--gespant-font-body);letter-spacing:1.2px;color:#26352b}.auth-field input,.auth-field textarea{width:100%;border:1px solid #cfd7d1;border-radius:0;background:#fff;padding:12px 13px;font:400 14px/1.5 var(--gespant-font-body);color:#26352b;outline:0;transition:border-color .2s,box-shadow .2s}.auth-field input{height:48px}.auth-field textarea{resize:vertical;min-height:94px}.auth-field input:focus,.auth-field textarea:focus{border-color:#314436;box-shadow:0 0 0 2px rgba(49,68,54,.08)}.auth-field small,.auth-checks small{font:400 12px/1.4 var(--gespant-font-body);color:#9b2f2f}.auth-alert{margin-bottom:22px;padding:12px 14px;border:1px solid #d9dfda;font:400 13px/1.5 var(--gespant-font-body)}.auth-alert--error{border-color:#d9bcbc;color:#8d2929;background:#fffafa}.auth-checks{display:grid;gap:12px;margin:0 0 22px}.auth-checks label{display:flex;align-items:flex-start;gap:10px;font:400 13px/1.55 var(--gespant-font-body);color:#4f5d53}.auth-checks input{margin-top:3px;accent-color:#314436}.auth-submit{display:inline-flex;align-items:center;gap:12px;min-height:42px;padding:10px 16px;border:2px solid #314436;background:#fff;color:#26352b;font:700 11px/1 var(--gespant-font-body);letter-spacing:2px;cursor:pointer;transition:background .2s,color .2s}.auth-submit:hover,.auth-submit:focus-visible{background:#314436;color:#fff}.auth-secondary{display:flex;flex-wrap:wrap;gap:7px;margin-top:26px;padding-top:20px;border-top:1px solid #e0e5e1;font:400 13px/1.5 var(--gespant-font-body)}.auth-secondary a{color:#26352b;font-weight:700}.auth-privacy{margin:16px 0 0;font:400 12px/1.6 var(--gespant-font-body);color:#7a847d}
.gespant-breadcrumb-hero--auth{background-image:linear-gradient(rgba(31,48,36,.30),rgba(31,48,36,.30)),url('/assets/images/pages/auth/account-breadcrumb.jpg');background-position:center;background-size:cover}
@media(max-width:767px){.auth-shell{width:min(100% - 30px,1170px);padding:44px 0 58px}.auth-card{padding:30px 22px;border-radius:14px}.auth-grid{grid-template-columns:1fr}.auth-field--full{grid-column:auto}.auth-heading h2{font-size:26px}}

/* Change 80: auth form consistency */
.auth-heading{margin-bottom:38px}.auth-heading h2{font-size:32px}.auth-form--login{display:grid;gap:22px}.auth-form--login .auth-field{margin:0}.auth-actions{margin-top:4px}.auth-form--login .auth-actions{margin-top:2px}.auth-field select{width:100%;height:48px;border:1px solid #cfd7d1;border-radius:0;background:#fff;padding:0 40px 0 13px;font:400 14px/1.5 var(--gespant-font-body);color:#26352b;outline:0;cursor:pointer}.auth-field select:focus{border-color:#314436;box-shadow:0 0 0 2px rgba(49,68,54,.08)}.auth-password{position:relative;display:block}.auth-password input{padding-right:48px}.auth-password__toggle{position:absolute;right:0;top:0;width:46px;height:48px;border:0;background:transparent;color:#314436;display:grid;place-items:center;cursor:pointer}.auth-password__toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.auth-password__toggle:hover,.auth-password__toggle:focus-visible{background:rgba(49,68,54,.06);outline:0}.auth-checks a{color:#26352b;font-weight:700;text-decoration:underline;text-underline-offset:3px}.auth-secondary{margin-top:30px}.auth-submit{margin:0}

/* Change 92 — keep the auth breadcrumb logo away from title/breadcrumb copy */
.gespant-breadcrumb-hero--auth{background-position:center 38%;}
@media(max-width:767px){.gespant-breadcrumb-hero--auth{background-position:64% center;}}

/* Change 93 — auth pages use the shared breadcrumb crop on mobile only */
@media(max-width:767px){
  .gespant-breadcrumb-hero--auth{background-image:linear-gradient(rgba(50,62,51,.2),rgba(50,62,51,.2)),url('/assets/images/shared/breadcrumb.jpg');background-position:top center;background-size:cover}
}

/* Change 142: recovery controls, scoped to authentication screens only. */
.auth-form--login .auth-forgot{margin:-9px 0 -10px;text-align:right;font:600 13px/1.5 var(--gespant-font-body)}
.auth-form--login .auth-forgot a{color:#26352b;text-decoration:none}
.auth-form--login .auth-forgot a:hover,.auth-form--login .auth-forgot a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.auth-form--recovery{display:grid;gap:22px}
.auth-form--recovery .auth-actions{margin-top:2px}

/* 156J: compact authentication layouts on narrow phones. */
@media(max-width:480px){
  .auth-shell{width:calc(100% - 24px);padding:32px 0 48px}
  .auth-card{min-width:0;padding:26px 18px;border-radius:10px}
  .auth-heading{margin-bottom:26px}
  .auth-heading h2{font-size:26px;letter-spacing:.5px;overflow-wrap:anywhere}
  .auth-heading p,.auth-alert,.auth-checks label,.auth-secondary{overflow-wrap:anywhere}
  .auth-form,.auth-grid,.auth-field,.auth-password{min-width:0}
  .auth-field input,.auth-field select,.auth-field textarea{max-width:100%;min-width:0}
  .auth-actions{min-width:0}
  .auth-submit{max-width:100%;white-space:normal;text-align:center;justify-content:center;line-height:1.4}
}
@media(max-width:360px){
  .auth-shell{width:calc(100% - 20px)}
  .auth-card{padding:22px 14px}
}
