/* Sign In / Sign Up card — used by user-login.php and user-signup.php.
   Uses the site's own colours (forest / ivory / rust / turmeric) and fonts (Fraunces + Work Sans). */
.auth-section{padding:26px 0 34px;}
.auth-wrap{display:flex; justify-content:center;}
.auth-card{
  position:relative; overflow:hidden;
  width:100%; max-width:340px; box-sizing:border-box;
  background:var(--paper); color:var(--ink);
  border:1px solid rgba(38,48,31,.14); border-radius:14px;
  padding:22px 22px 18px;
  box-shadow:0 16px 32px -22px rgba(34,53,38,.45);
}
/* thin brand stripe along the top edge: forest -> turmeric -> rust */
.auth-card::before{
  content:""; position:absolute; left:0; right:0; top:0; height:4px;
  background:linear-gradient(90deg,var(--forest) 0%,var(--turmeric) 55%,var(--rust) 100%);
}
.auth-heading{text-align:center; font-size:clamp(1.35rem,4vw,1.55rem); margin:0; color:var(--forest-dark);}
.auth-sub{text-align:center; font-size:.85rem; color:#525a42; margin:5px 0 0;}

.auth-form{gap:10px; margin-top:16px;}
.auth-form .field label{color:var(--forest-dark); font-size:.85rem;}
.auth-form .field label i{color:var(--rust); font-style:normal;}
.auth-form .auth-input{
  display:block; width:100%; box-sizing:border-box;
  padding:9px 12px; font:inherit; font-size:.92rem; color:var(--ink);
  background:#fff; border:1px solid rgba(38,48,31,.3); border-radius:8px;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.auth-form .auth-input:focus{outline:none; border-color:var(--forest); box-shadow:0 0 0 3px rgba(201,138,43,.32);}
.auth-form .auth-input[readonly]{background:var(--ivory-deep);}
.auth-hint{display:block; margin-top:5px; font-size:.74rem; line-height:1.35; color:#6a7159;}

.auth-btn{
  display:block; width:100%; margin-top:2px; padding:10px 18px;
  font:inherit; font-weight:600; font-size:.92rem; letter-spacing:.01em; cursor:pointer;
  color:var(--paper); background:var(--rust); border:1px solid transparent; border-radius:999px;
  transition:transform .15s ease, background .2s ease, box-shadow .2s ease;
}
.auth-btn:hover{background:#642f24; transform:translateY(-1px); box-shadow:0 8px 18px -10px rgba(122,59,46,.8);}
.auth-btn:active{transform:none;}
.auth-btn:focus-visible{outline:3px solid var(--turmeric); outline-offset:2px;}

/* "or" divider + Google button */
.auth-or{display:flex; align-items:center; gap:10px; margin:14px 0 0; font-size:.76rem; color:#6a7159;}
.auth-or::before,.auth-or::after{content:""; flex:1; height:1px; background:rgba(38,48,31,.16);}
.auth-google{display:flex; justify-content:center; margin-top:10px; min-height:40px;}

.auth-switch{text-align:center; margin:14px 0 0; font-size:.84rem; color:#525a42;}
.auth-switch a{color:var(--rust); font-weight:700; text-decoration:none;}
.auth-switch a:hover{text-decoration:underline;}

/* messages: same look as the site's note boxes */
.auth-msg{margin:12px 0 0; padding:8px 12px; border-radius:3px; font-size:.82rem; line-height:1.4; border-left:3px solid;}
.auth-msg.err{background:rgba(122,59,46,.09); color:#5b2a20; border-left-color:var(--rust);}
.auth-msg.ok{background:rgba(47,74,52,.1); color:var(--forest-dark); border-left-color:var(--forest);}

@media (max-width:600px){
  .auth-section{padding:16px 0 24px;}
  .auth-section .container{padding:0 16px;}
  .auth-card{padding:18px 16px 16px; max-width:none;}
  .auth-form{margin-top:12px; gap:9px;}
}
