/* Public login / professional registration shell.
   The shared marketing header and footer frame both account forms. */
.public-login-body{
  min-height:100vh;
  display:block!important;
  place-items:initial!important;
  margin:0;
  background:
    radial-gradient(circle at 8% 8%,rgba(255,255,255,.98),transparent 32rem),
    linear-gradient(180deg,#f8f5f1 0%,#f3eee8 100%)!important;
  color:#241f1b;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}

.public-login-body>.site-header.public-header{
  margin-bottom:0!important;
}

.public-login-body .public-header-login{
  color:#241f1b!important;
}

.public-login-body .public-header-login::after{
  content:"";
  position:absolute;
  right:0;
  bottom:5px;
  left:16px;
  height:2px;
  border-radius:999px;
  background:#bd746f;
}

.public-login-body .public-header-login{
  position:relative;
}

.auth-page{
  width:100%;
  padding:clamp(34px,5vw,76px) 16px clamp(54px,7vw,96px);
}

.auth-page-intro{
  width:min(1080px,100%);
  margin:0 auto 14px;
  color:#9b6863;
  font-size:10px;
  font-weight:750;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.auth-shell{
  width:min(1080px,100%)!important;
  margin:0 auto;
  padding:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
  align-items:start;
  gap:18px!important;
}

.auth-shell.auth-shell--platform{
  grid-template-columns:minmax(0,620px);
  justify-content:center;
}

.auth-shell .login-card{
  width:100%!important;
  min-width:0;
  margin:0;
  padding:clamp(30px,4vw,46px)!important;
  border:1px solid rgba(91,72,58,.15)!important;
  border-radius:28px!important;
  background:rgba(255,253,250,.9)!important;
  box-shadow:0 22px 60px rgba(62,48,37,.08)!important;
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
}

.auth-shell .register-card{
  background:
    linear-gradient(145deg,rgba(255,253,250,.96),rgba(245,237,229,.94))!important;
}

.auth-shell .login-kicker{
  margin:0 0 14px!important;
  color:#b36f6b!important;
  font-size:10px!important;
  font-weight:750!important;
  line-height:1.3;
  letter-spacing:.16em!important;
}

.auth-shell .login-card h1,
.auth-shell .login-card h2{
  margin:0 0 14px!important;
  color:#241f1b!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(36px,4.1vw,52px)!important;
  font-weight:400!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
}

.auth-shell .register-card--client{
  background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(239,243,237,.95))!important;
}

.auth-shell .login-card>p:not(.login-kicker){
  max-width:610px;
  margin:0;
  color:#81766e!important;
  font-size:13px!important;
  line-height:1.65!important;
}

.auth-shell .login-card form{
  display:grid;
  gap:15px!important;
  margin-top:28px!important;
}

.auth-shell .login-card label{
  min-width:0;
  display:grid!important;
  gap:8px!important;
  color:#332d28;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.25;
}

.auth-shell .login-card input,
.auth-shell .login-card select{
  width:100%;
  min-width:0;
  min-height:52px!important;
  padding:0 15px!important;
  border:1px solid rgba(91,72,58,.19)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.82)!important;
  color:#241f1b!important;
  font:500 15px/1.2 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset!important;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}

.auth-shell .login-card input::placeholder{color:#9f9690;opacity:1}

.auth-shell .login-card input:focus,
.auth-shell .login-card select:focus{
  outline:0!important;
  border-color:#a96e69!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(189,116,111,.13)!important;
}

.auth-shell .phone-country-field{
  grid-template-columns:minmax(112px,.38fr) minmax(0,1fr);
  gap:9px;
}

.auth-shell .login-card button[type="submit"]{
  min-height:52px!important;
  padding:0 18px!important;
  border:1px solid #241f1b!important;
  border-radius:13px!important;
  background:#241f1b!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:750!important;
  letter-spacing:-.01em;
  box-shadow:0 12px 26px rgba(36,31,27,.13)!important;
  cursor:pointer;
  transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease;
}

.auth-shell .login-card button[type="submit"]:hover{
  transform:translateY(-1px);
  background:#39312b!important;
  box-shadow:0 16px 32px rgba(36,31,27,.17)!important;
}

.auth-shell .login-card button[type="submit"]:active{transform:translateY(0)}

.auth-shell .login-hint{
  display:block;
  margin-top:18px!important;
  color:#8a8079!important;
  font-size:11px;
  line-height:1.55!important;
}

.auth-shell .guest-booking-login{
  min-height:48px;
  margin-top:16px;
  padding:0 15px;
  border:1px solid rgba(91,72,58,.16)!important;
  border-radius:13px;
  background:rgba(244,237,230,.8)!important;
  color:#332d28;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-size:11px;
  font-weight:750;
  text-align:center;
  text-decoration:none;
  transition:border-color .18s ease,background-color .18s ease,transform .18s ease;
}

.auth-shell .guest-booking-login:hover{
  border-color:rgba(91,72,58,.3)!important;
  background:#fff!important;
  transform:translateY(-1px);
}

.auth-shell .alert{
  margin:20px 0 -4px;
  padding:13px 15px;
  border:1px solid rgba(176,65,65,.2);
  border-radius:13px;
  background:#fff1ef;
  color:#8f3434;
  font-size:12px;
  line-height:1.5;
}

.public-login-body .public-footer{margin-top:0}

@media(max-width:900px){
  .auth-page{padding-top:28px}
  .auth-shell{grid-template-columns:1fr!important;max-width:660px}
  .auth-page-intro{max-width:660px}
  .auth-shell .login-card{padding:34px!important}
}

@media(max-width:680px){
  .public-login-body .public-header-login::after{display:none}
  .auth-page{padding:20px 10px 48px}
  .auth-page-intro{margin-bottom:10px;padding-left:4px}
  .auth-shell{gap:12px!important}
  .auth-shell .login-card{padding:28px 20px!important;border-radius:22px!important}
  .auth-shell .login-card h1,
  .auth-shell .login-card h2{font-size:40px!important}
  .auth-shell .login-card form{margin-top:23px!important}
}

@media(max-width:420px){
  .auth-shell .phone-country-field{grid-template-columns:110px minmax(0,1fr)}
  .auth-shell .login-card input,
  .auth-shell .login-card select{font-size:14px!important;padding-inline:12px!important}
}

@media(prefers-reduced-motion:reduce){
  .auth-shell .login-card button[type="submit"],
  .auth-shell .guest-booking-login,
  .auth-shell .login-card input,
  .auth-shell .login-card select{transition:none!important}
}
