/* Loaded exclusively by the Peterborough Bazaar login and password recovery views. */
body.bazaar-auth {
  --login-ink: #183c29; --login-muted: #687268; --login-line: #e0e6da;
  --login-green: #c54b11; --login-deep: #183c29; --login-pale: #edf3e6; --login-sun: #c54b11;
  --portal-primary: #c54b11; --portal-primary-hover: #a53a08;
  --portal-ink: #183c29; --portal-muted: #687268; --portal-line: #e0e6da; --portal-radius: 2px;
  margin: 0; background: #183c29; font-family: 'DM Sans', Arial, sans-serif;
}
.bazaar-auth :is(a, button):focus-visible { outline: 3px solid #f79b52; outline-offset: 4px; }
.bazaar-auth :is(.portal-login__wash) { display: none; }
.bazaar-auth :is(.portal-login__stage) { max-width: 1400px; margin: auto; padding: 0 clamp(20px, 4vw, 64px) 40px; background: #183c29; border-top: 4px solid #c54b11; overflow: visible; }
.bazaar-auth .portal-login__stage { display: grid; grid-template-columns: 1fr minmax(360px, 470px); grid-template-rows: auto 1fr auto; gap: 48px 72px; align-items: center; min-height: 100svh; }
.bazaar-auth :is(.portal-login__topbar) { min-height: 100px; padding-block: 20px; border-bottom: 1px solid #ffffff26; }
.bazaar-auth .portal-login__topbar { grid-column: 1 / -1; }
.bazaar-auth :is(.portal-login__brand) { background: #fff; padding: 12px 16px; border-radius: 8px; }
.bazaar-auth :is(.portal-login__brand img) { max-width: 190px; max-height: 52px; }
.bazaar-auth :is(.portal-login__website, .portal-login__signin) { border: 1px solid #ffffff4d; border-radius: 8px; padding: 12px 16px; color: #fff; background: transparent; font-weight: 600; cursor: pointer; }
.bazaar-auth :is(.portal-login__website, .portal-login__signin):hover { color: #fff; background: #c54b11; border-color: #c54b11; transform: none; }
.bazaar-auth-intro { color: #fff; padding-block: 24px; }
.bazaar-auth-eyebrow { color: #f79b52; font-size: .72rem; font-weight: 700; letter-spacing: .15em; }
.bazaar-auth-intro h1 { margin: 24px 0; font-family: Manrope, Arial, sans-serif; font-size: clamp(3.6rem, 5.8vw, 6rem); font-weight: 700; line-height: 1; text-transform: none; letter-spacing: -.015em; }
.bazaar-auth-intro h1 em { color: #f79b52; font-style: normal; }
.bazaar-auth-intro p { max-width: 400px; color: #c6d6cb; line-height: 1.7; font-size: 1rem; }
.bazaar-auth-intro__line { margin-top: 40px; padding-top: 22px; border-top: 1px solid #ffffff26; color: #c6d6cb; font-size: .8rem; display: flex; align-items: center; gap: 10px; }
.bazaar-auth-intro__line span { width: 7px; height: 7px; background: #c54b11; }
.bazaar-auth .portal-login__card-wrap { width: 100%; }
.bazaar-auth .portal-login__card { width: 100%; padding: 34px; background: #fff; border: 0; border-top: 4px solid #c54b11; border-radius: 8px; box-shadow: none; backdrop-filter: none; }
.bazaar-auth .portal-login__card-mark { margin: 0 0 24px; width: 44px; height: 44px; border: 0; border-radius: 8px; box-shadow: none; background: #fff0e4; color: #c54b11; font-size: 1.2rem; }
.bazaar-auth .portal-login__header { text-align: left; }
.bazaar-auth :is(.portal-login__header h2) { font-family: Manrope, Arial, sans-serif; font-weight: 700; text-transform: none; font-size: 2.6rem; line-height: 1; }
.bazaar-auth :is(.portal-login__header > span) { color: #a53a08; font-weight: 700; }
.bazaar-auth :is(.portal-login__field label) { color: #20372a; font-weight: 600; }
.bazaar-auth .portal-login__control { border-radius: 8px; background: #f8f7f0; }
.bazaar-auth .portal-login__control > i { color: #687268; }
.bazaar-auth .portal-login__control input::placeholder { color: #687268; }
.bazaar-auth .portal-login__control:focus-within { border-color: #c54b11; box-shadow: 0 0 0 3px #326b3515; }
.bazaar-auth :is(.portal-login__submit, .portal-login__back) { border-radius: 8px; font-weight: 700; box-shadow: none; }
.bazaar-auth .portal-login__submit { justify-content: space-between; padding: 0 18px; }
.bazaar-auth .portal-login__submit:hover { background: #a53a08; border-color: #a53a08; }
.bazaar-auth .portal-login__back:hover { border-color: #183c29; background: #edf3e6; }
.bazaar-auth .portal-alert { border-radius: 8px; }
.bazaar-auth .portal-login__notes { grid-column: 1 / -1; margin: 0; padding-top: 24px; border-top: 1px solid #ffffff26; color: #c6d6cb; font-weight: 500; }
.bazaar-auth .portal-login__notes i { color: #f79b52; }
.bazaar-auth .portal-modal .modal-content { border-radius: 8px; }
.bazaar-auth .portal-modal__eyebrow { color: #a53a08; }
.bazaar-auth .portal-modal__title { font-family: Manrope, Arial, sans-serif; font-weight: 700; text-transform: none; }
.bazaar-auth :is(.portal-button, .portal-modal__close, .portal-field input, .portal-field__control) { border-radius: 8px; }
.bazaar-auth .portal-button--primary { color: #fff; box-shadow: none; }
.bazaar-auth .portal-button--primary:hover { color: #fff; }
@media (max-width: 991.98px) {
  .bazaar-auth .portal-login__stage { grid-template-columns: 1fr minmax(330px, 410px); gap: 36px; }
  .bazaar-auth-intro h1 { font-size: clamp(3rem, 5.8vw, 4.5rem); }
  .bazaar-auth .portal-login__card { padding: 28px; }
}
@media (max-width: 767.98px) {
  .bazaar-auth .portal-login__stage { grid-template-columns: 1fr; gap: 26px; }
  .bazaar-auth :is(.portal-login__topbar) { min-height: 84px; gap: 14px; }
  .bazaar-auth-intro { padding-block: 12px 0; }
  .bazaar-auth-intro h1 { font-size: clamp(3.3rem, 10vw, 4.5rem); margin-block: 18px; }
  .bazaar-auth-intro__line { display: none; }
  .bazaar-auth .portal-login__card-wrap { max-width: 520px; justify-self: center; }
  .bazaar-auth .portal-login__notes { padding-top: 20px; }
}
@media (max-width: 575.98px) {
  .bazaar-auth :is(.portal-login__brand) { padding: 10px 12px; }
  .bazaar-auth :is(.portal-login__brand img) { max-width: 160px; }
  .bazaar-auth :is(.portal-login__website, .portal-login__signin) { width: 42px; height: 42px; padding: 0; justify-content: center; }
  .bazaar-auth :is(.portal-login__header h2) { font-size: 2.2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .bazaar-auth *, .bazaar-auth *::before, .bazaar-auth *::after { transition: none !important; }
}
/* Password recovery on the authentication pages only. */
.bazaar-auth .portal-login__label-row button { color: #a53a08; font-size: .8rem; font-weight: 600; cursor: pointer; }
.bazaar-auth .portal-login__label-row button:hover { color: #183c29; }
.bazaar-auth .portal-forgot__icon { border-radius: 8px; background: #fff0e4; color: #c54b11; }
.bazaar-auth .portal-modal--forgot .modal-content { border-radius: 8px; }
.bazaar-auth .portal-login__signin { text-decoration: none; }
.bazaar-auth .portal-login__topbar .portal-login__signin { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
@media (max-width: 575.98px) {
  .bazaar-auth .portal-login__topbar .portal-login__signin { font-size: 0; }
  .bazaar-auth .portal-login__topbar .portal-login__signin i { font-size: 1rem; }
}

/* Keep the login form prominent on mobile; desktop keeps its split layout. */
@media (max-width: 767.98px) {
  .bazaar-auth.bazaar-login .bazaar-auth-intro,
  .bazaar-auth.bazaar-login .portal-login__notes { display: none; }
  .bazaar-auth.bazaar-login .portal-login__stage { grid-template-rows: auto 1fr; align-items: start; }
}

/* Match the public storefront's header, palette and typography. */
body.bazaar-auth {
  --login-ink: #20372a; --login-deep: #183c29; --login-green: #c54b11;
}
body.bazaar-auth { border-top: 4px solid #71ad35; }
.bazaar-auth :is(.portal-login__stage) { border-top: 0; }
.bazaar-auth :is(.portal-login__topbar) {
  margin-inline: calc(-1 * clamp(20px, 4vw, 64px));
  padding-inline: clamp(20px, 4vw, 64px);
  background: #fff; border-bottom: 1px solid #e0e6da;
  /* Extend the header background beyond the centred content without overflow. */
  box-shadow: 0 0 0 100vmax #fff;
  clip-path: inset(0 -100vmax);
}
.bazaar-auth :is(.portal-login__brand) { padding: 0; border-radius: 0; }
.bazaar-auth :is(.portal-login__brand img) { max-width: 240px; max-height: 65px; }
.bazaar-auth :is(.portal-login__website, .portal-login__signin) { color: #183c29; border-color: #e0e6da; background: #f8f7f0; }
.bazaar-auth :is(.portal-login__website, .portal-login__signin):hover { color: #fff; background: #183c29; border-color: #183c29; }
.bazaar-auth-eyebrow { color: #cce0b7; font-size: .65rem; letter-spacing: .13em; }
.bazaar-auth-intro h1 { font-size: clamp(2.5rem, 4.25vw, 4rem); font-weight: 800; line-height: 1.12; letter-spacing: -.055em; }
.bazaar-auth-intro p { line-height: 1.8; }
.bazaar-auth-intro__line span { background: #f79b52; border-radius: 50%; }
.bazaar-auth :is(.portal-login__card) { border: 1px solid #e0e6da; border-radius: 16px; box-shadow: 12px 12px 0 #71ad3526; }
.bazaar-auth :is(.portal-login__card-mark) { border-radius: 10px; }
.bazaar-auth :is(.portal-login__header h2) { font-size: clamp(1.7rem, 2.6vw, 2.2rem); font-weight: 800; line-height: 1.2; letter-spacing: -.04em; }
.bazaar-auth .portal-login__back { color: #326b35; border-color: #e0e6da; background: #edf3e6; }
.bazaar-auth .portal-login__back:hover { color: #183c29; border-color: #326b35; background: #e0eacc; }
.bazaar-auth :is(.portal-login__control) { background: #f8f7f0; }
.bazaar-auth :is(.portal-login__control input) { min-width: 0; }
.bazaar-auth .portal-modal .modal-content { border-radius: 16px; }
.bazaar-auth .portal-modal__title { letter-spacing: -.035em; }
.bazaar-auth .portal-login__signin { display: inline-flex; align-items: center; gap: 8px; }
@media (max-width: 991.98px) {
  .bazaar-auth-intro h1 { font-size: clamp(2.5rem, 4.25vw, 3.6rem); }
}
@media (max-width: 767.98px) {
  .bazaar-auth-intro h1 { font-size: clamp(2.4rem, 7.5vw, 3.6rem); }
}
@media (max-width: 575.98px) {
  .bazaar-auth :is(.portal-login__brand img) { max-width: 210px; max-height: 56px; }
  .bazaar-auth .portal-login__signin { font-size: 0; }
  .bazaar-auth .portal-login__signin i { font-size: 1rem; }
  .bazaar-auth :is(.portal-login__card) { box-shadow: 6px 6px 0 #71ad3526; }
}
@media (max-width: 359.98px) {
  .bazaar-auth :is(.portal-login__brand img) { max-width: 180px; }
}
