/* GEMTROVE R9F — unified presentation only; no auth routing or token logic */
:root{--gtf-navy:#102746;--gtf-gold:#bd9459;--gtf-ivory:#fffcf7;--gtf-line:#dfcfb4;--gtf-muted:#68758a}
/* Login: keep R9E composition but standardise tap targets and typography */
.gt-simple-login-page .gt-simple-login-card{border-color:var(--gtf-line)!important}
.gt-simple-login-card .gt-simple-primary,.gt-simple-login-card .gt-simple-provider-btn,.gt-simple-login-card .gt-r9d-magic,.gt-simple-login-card .gt-simple-signup-cta{min-height:48px!important;box-sizing:border-box!important;text-align:center!important}
.gt-simple-login-card .gt-simple-primary,.gt-simple-login-card .gt-simple-provider-btn,.gt-simple-login-card .gt-r9d-magic{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important}
.gt-simple-login-card :is(a,button,input):focus-visible,.gt-r9d-recovery-page :is(a,button,input):focus-visible,.gt-customer-auth:is(.gt-customer-auth--forgot,.gt-customer-auth--reset,.gt-customer-auth--register) :is(a,button,input):focus-visible{outline:3px solid var(--gtf-gold)!important;outline-offset:3px!important}
/* Reuse the same visual language on passwordless request and confirmation */
.gt-r9d-recovery-page.gt-r9f-recovery{box-sizing:border-box!important;margin:clamp(18px,4vh,60px) auto!important;max-width:600px!important;width:calc(100% - 32px)!important;padding:clamp(24px,4vw,48px)!important;border:1px solid var(--gtf-line)!important;border-radius:20px!important;background:var(--gtf-ivory)!important;box-shadow:0 20px 65px rgba(17,36,62,.07)!important;font-family:Georgia,serif!important;color:var(--gtf-navy)!important;display:block!important;min-height:0!important;height:auto!important;overflow:visible!important}
.gt-r9f-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px;font-size:22px;letter-spacing:.16em;color:var(--gtf-navy)}
.gt-r9f-monogram{display:grid;place-items:center;background:var(--gtf-navy);color:#f6e6c6;height:42px;width:42px;font-size:32px;font-family:Georgia,serif;border:1px solid var(--gtf-gold)}
.gt-r9f-recovery>h1{font-family:Georgia,serif!important;text-align:center!important;font-size:clamp(29px,3vw,40px)!important;line-height:1.15!important;font-weight:400!important;color:var(--gtf-navy)!important;margin:0 0 12px!important}
.gt-r9f-recovery>p{font-size:15px!important;line-height:1.6!important;text-align:center!important;color:var(--gtf-muted)!important;margin:12px 0 20px!important}
.gt-r9f-recovery form{display:grid!important;gap:12px!important;margin:22px 0!important}
.gt-r9f-recovery label{display:block!important;font-size:15px!important;font-weight:600!important;margin:0!important;color:var(--gtf-navy)!important}
.gt-r9f-recovery input:not([type=hidden]){width:100%!important;box-sizing:border-box!important;min-height:50px!important;padding:12px 14px!important;border:1px solid #bfc8d5!important;border-radius:9px!important;font-size:16px!important;background:#fff!important;color:var(--gtf-navy)!important}
.gt-r9f-recovery .gt-r9d-submit,.gt-r9f-recovery button[type=submit]{display:flex!important;align-items:center!important;justify-content:center!important;min-height:50px!important;width:100%!important;box-sizing:border-box!important;border-radius:9px!important;background:var(--gtf-navy)!important;color:#fff!important;border:1px solid var(--gtf-navy)!important;letter-spacing:.05em!important;font:600 15px Georgia,serif!important;cursor:pointer!important}
.gt-r9f-recovery a{color:var(--gtf-navy)!important;text-decoration:underline!important;text-underline-offset:4px!important}
.gt-r9f-assurance{border-top:1px solid var(--gtf-line);margin-top:22px;padding-top:16px;text-align:center;color:var(--gtf-muted);font-size:12px;letter-spacing:.04em;line-height:1.5}
/* Forgotten and reset password: preserve form markup and CSRF */
.gt-customer-auth:is(.gt-customer-auth--forgot,.gt-customer-auth--reset){box-sizing:border-box!important;max-width:740px!important;width:100%!important;padding:clamp(16px,3vw,40px) 16px!important;margin:0 auto!important;min-height:0!important;height:auto!important;overflow:visible!important;color:var(--gtf-navy)!important}
.gt-customer-auth:is(.gt-customer-auth--forgot,.gt-customer-auth--reset)>.gt-auth{box-sizing:border-box!important;max-width:600px!important;width:100%!important;margin:clamp(12px,2vh,30px) auto!important;padding:clamp(24px,4vw,45px)!important;background:var(--gtf-ivory)!important;border:1px solid var(--gtf-line)!important;border-radius:20px!important;box-shadow:0 20px 65px rgba(17,36,62,.07)!important;min-height:0!important;height:auto!important;overflow:visible!important}
.gt-customer-auth:is(.gt-customer-auth--forgot,.gt-customer-auth--reset) .gt-auth-brand{text-align:center!important;margin-bottom:18px!important}
.gt-customer-auth:is(.gt-customer-auth--forgot,.gt-customer-auth--reset) .gt-auth-brand a{font:normal clamp(30px,4vw,40px) Georgia,serif!important;letter-spacing:.04em!important;color:var(--gtf-navy)!important;text-decoration:none!important}
.gt-customer-auth:is(.gt-customer-auth--forgot,.gt-customer-auth--reset) h1{font:normal clamp(27px,3vw,36px) Georgia,serif!important;line-height:1.2!important;text-align:center!important;margin:0 0 24px!important;color:var(--gtf-navy)!important}
.gt-customer-auth:is(.gt-customer-auth--forgot,.gt-customer-auth--reset) .gt-field{margin:12px 0!important}
.gt-customer-auth:is(.gt-customer-auth--forgot,.gt-customer-auth--reset) .gt-field label{display:block!important;font-size:15px!important;margin-bottom:7px!important;color:var(--gtf-navy)!important}
.gt-customer-auth:is(.gt-customer-auth--forgot,.gt-customer-auth--reset) .gt-field input{min-height:50px!important;width:100%!important;box-sizing:border-box!important;border:1px solid #bfc8d5!important;border-radius:9px!important;background:white!important;font:16px Georgia,serif!important}
.gt-customer-auth:is(.gt-customer-auth--forgot,.gt-customer-auth--reset) .gt-btn{display:flex!important;align-items:center!important;justify-content:center!important;min-height:50px!important;width:100%!important;box-sizing:border-box!important;background:var(--gtf-navy)!important;color:#fff!important;border-radius:9px!important;border:1px solid var(--gtf-navy)!important;font:600 16px Georgia,serif!important;margin-top:16px!important}
.gt-customer-auth:is(.gt-customer-auth--forgot,.gt-customer-auth--reset) .gt-alert{border:1px solid var(--gtf-line)!important;background:#f5f0e7!important;padding:14px!important;border-radius:10px!important;line-height:1.5!important}
.gt-customer-auth:is(.gt-customer-auth--forgot,.gt-customer-auth--reset) p>a{color:var(--gtf-navy)!important;text-underline-offset:4px!important}
/* Registration screens retain all fields and consent, with aligned controls */
.gt-customer-auth--register .gt-btn,.gt-customer-auth--register .gt-social-auth-btn,.gt-customer-auth--register .gt-auth-email-choice{display:flex!important;justify-content:center!important;align-items:center!important;min-height:48px!important;text-align:center!important}
@media(max-width:700px){.gt-r9f-brand{font-size:19px}.gt-r9f-recovery{padding:24px 18px!important}.gt-customer-auth:is(.gt-customer-auth--forgot,.gt-customer-auth--reset)>.gt-auth{padding:24px 18px!important}.gt-r9f-recovery>h1{font-size:30px!important}}
@media(prefers-reduced-motion:reduce){.gt-r9f-recovery *,.gt-customer-auth:is(.gt-customer-auth--forgot,.gt-customer-auth--reset) *{animation:none!important;transition:none!important}}
