/* PRG Auth Pages — matches homepage warm minimal design (Fonts loaded via <link> in template head) */



*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  background: #F2EEE8;
  font-family: 'Inter', system-ui, sans-serif;
  color: #1B2038;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.prg-auth-wrap {
  width: 100%;
  max-width: 420px;
}

.prg-auth-logo {
  text-align: center;
  margin-bottom: 28px;
  padding: 20px 24px;
  background: #fff;
  border-radius: 8px;
  border-bottom: 1px solid #EDE9E3;
  margin: -36px -32px 28px;
}
.prg-auth-logo-mark {
  width: 48px; height: 48px;
  background: #8B2635;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 12px;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 22px;
  font-weight: 600;
  color: #fff;
}
.prg-auth-brand-name {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #1B2844;
}
.prg-auth-brand-sub {
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #7A7570;
  margin-top: 2px;
}

.prg-auth-card {
  background: #fff;
  border: 1px solid #DDD9D2;
  border-radius: 16px;
  padding: 36px 32px;
}

.prg-auth-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 26px;
  font-weight: 600;
  color: #1B2844;
  margin-bottom: 6px;
  text-align: center;
}
.prg-auth-subtitle {
  font-size: 13.5px;
  color: #7A7570;
  text-align: center;
  margin-bottom: 28px;
  line-height: 1.6;
}

.prg-auth-field { margin-bottom: 16px; }
.prg-auth-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #1B2038;
  margin-bottom: 6px;
}
.prg-auth-input {
  width: 100%;
  padding: 11px 14px;
  border: 1.5px solid #DDD9D2;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #1B2038;
  background: #fff;
  outline: none;
  transition: border-color .15s;
}
.prg-auth-input:focus { border-color: #1B2844; }
.prg-auth-input.error { border-color: #8B2635; }

.prg-auth-submit {
  width: 100%;
  padding: 12px;
  background: #1B2844;
  color: #fff;
  border: none;
  border-radius: 50px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  letter-spacing: .3px;
  transition: background .15s;
  margin-top: 8px;
}
.prg-auth-submit:hover { background: #243459; }

.prg-auth-error {
  background: #fdf0f2;
  border: 1px solid #f5c2ca;
  color: #8B2635;
  padding: 11px 14px;
  border-radius: 8px;
  font-size: 13.5px;
  margin-bottom: 16px;
  line-height: 1.5;
}

.prg-auth-links {
  text-align: center;
  margin-top: 20px;
}
.prg-auth-links a {
  font-size: 13px;
  color: #7A7570;
  text-decoration: none;
  transition: color .15s;
}
.prg-auth-links a:hover { color: #1B2844; }

.prg-auth-footer {
  text-align: center;
  margin-top: 28px;
  font-size: 11.5px;
  color: #A8A4A0;
}

/* ── Class aliases — template uses prg-* while CSS uses prg-auth-* ── */
.prg-field          { margin-bottom: 16px; }
.prg-label          { display: block; font-size: 13px; font-weight: 600; color: #1B2038; margin-bottom: 6px; display: flex; justify-content: space-between; align-items: center; }
.prg-label-link     { font-size: 12px; font-weight: 500; color: #1B2844; text-decoration: none; }
.prg-label-link:hover { text-decoration: underline; }
.prg-input          { width: 100%; padding: 11px 14px; border: 1.5px solid #DDD9D2; border-radius: 8px; font-family: 'Inter', sans-serif; font-size: 14px; color: #1B2038; background: #fff; outline: none; transition: border-color .15s; box-sizing: border-box; }
.prg-input:focus    { border-color: #1B2844; }
.prg-input-wrap     { position: relative; }
.prg-input-wrap .prg-input { padding-right: 44px; }
.prg-input-toggle, .prg-toggle-pwd { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; color: #7A7570; padding: 4px; display: flex; align-items: center; }
.prg-input-toggle, .prg-toggle-pwd { color: #7A7570 !important; }
.prg-input-toggle:hover, .prg-toggle-pwd:hover,
.prg-input-toggle:focus, .prg-toggle-pwd:focus,
.prg-input-toggle:active, .prg-toggle-pwd:active { color: #1B2844 !important; background: none !important; }
.prg-input-toggle svg, .prg-toggle-pwd svg { stroke: currentColor; }
.prg-btn-primary    { width: 100%; padding: 12px; background: #1B2844; color: #fff; border: none; border-radius: 50px; font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 600; cursor: pointer; letter-spacing: .3px; transition: background .15s; margin-top: 8px; display: flex; align-items: center; justify-content: center; gap: 6px; }
.prg-btn-primary:hover { background: #243459; }
.prg-auth-alert     { padding: 11px 14px; border-radius: 8px; font-size: 13.5px; margin-bottom: 16px; line-height: 1.5; display: flex; align-items: flex-start; gap: 8px; }
.prg-auth-alert--error   { background: #fdf0f2; border: 1px solid #f5c2ca; color: #8B2635; }
.prg-auth-alert--success { background: #f0fdf4; border: 1px solid #b6e4c9; color: #166534; }
.prg-auth-alert--info    { background: #eff5fd; border: 1px solid #bcd4f0; color: #1B3A6B; }
.prg-auth-heading   { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 26px; font-weight: 600; color: #1B2844; margin-bottom: 4px; }
.prg-auth-subheading { font-size: 13.5px; color: #7A7570; margin-bottom: 24px; }
.prg-auth-footer    { text-align: center; margin-top: 20px; font-size: 12.5px; color: #7A7570; }
.prg-auth-footer a  { color: #1B2844; font-weight: 600; text-decoration: none; }
.prg-auth-footer a:hover { text-decoration: underline; }
.prg-locked-notice  { text-align: center; padding: 24px 0; }
.prg-locked-notice svg { margin: 0 auto 12px; display: block; }
.prg-locked-notice p { font-size: 14px; color: #7A7570; line-height: 1.6; }

/* ── Mobile: prevent iOS zoom on focus at the sign-in screen ──────────────── */
@media (max-width: 600px) {
  .prg-auth-input,
  .prg-input { font-size: 16px !important; }
}
