/* Login (/account before sign-in) and registration (/register): one calm, branded entry surface. */
.workshop-brand .auth-section{background:var(--brand-hero-background);border-bottom:1px solid var(--line)}
.workshop-brand .auth-section .auth-shell{
  grid-template-columns:minmax(0,460px) minmax(0,1fr);
  gap:clamp(32px,6vw,84px);
  align-items:center;
  min-height:calc(100svh - 82px);
  padding-block:clamp(40px,7vh,72px);
  background:none;
}
.workshop-brand .auth-card{border-radius:22px;box-shadow:0 22px 54px rgba(0,24,52,.08)}
.auth-head{display:grid;gap:10px}
.auth-head h1{margin:0;font-size:clamp(1.75rem,2.6vw,2.3rem);font-weight:800;line-height:1.25;letter-spacing:-.02em;text-wrap:balance}
.auth-head p{margin:0}
.auth-step{color:var(--teal);font-size:.86rem;font-weight:800}
.auth-switch{margin:0;color:var(--muted);font-size:.94rem}
.auth-switch a,.register-aside a{color:var(--violet);font-weight:800;text-decoration:underline;text-decoration-color:rgba(100,31,197,.35);text-underline-offset:4px}
.auth-switch a:hover,.register-aside a:hover{text-decoration-color:currentColor}
.workshop-brand .otp-code{font-size:1.65rem;font-weight:800;letter-spacing:.42em;text-align:center;font-variant-numeric:tabular-nums}

/* The aside shows a real frame of the course instead of a tinted slab of bullet points. */
.workshop-brand .auth-section .auth-aside{display:grid;gap:18px;align-content:center;padding:0;background:none;border-radius:0}
.auth-visual{margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.9);border-radius:20px;box-shadow:0 24px 58px rgba(52,25,117,.14)}
.auth-visual img{display:block;width:100%;height:auto}
.auth-aside h2{margin:6px 0 0;font-size:1.35rem;font-weight:800;line-height:1.4}
.auth-list{display:grid;margin:0;padding:0;list-style:none}
.auth-list li{display:grid;gap:2px;padding-block:12px;border-top:1px solid rgba(186,200,212,.7);color:var(--muted)}
.auth-list li:last-child{border-bottom:1px solid rgba(186,200,212,.7)}
.auth-list strong{color:var(--ink)}
.auth-aside .privacy-note{margin:0;color:var(--muted);font-size:.86rem}

/* Registration: form first, summary beside it. */
.register-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.58fr);gap:clamp(24px,4vw,44px);align-items:start;padding-block:clamp(40px,6vh,64px) 88px}
.register-main{display:grid;gap:26px;min-width:0}
.register-main .auth-head{max-width:640px}
.workshop-brand .register-main .surface{border-radius:22px;box-shadow:0 22px 54px rgba(0,24,52,.08)}
.register-aside{display:grid;gap:14px;position:sticky;top:104px}
.register-aside .info-card{margin:0}
.register-aside .auth-visual{border-radius:18px}

@media (max-width:900px){
  .workshop-brand .auth-section .auth-shell{grid-template-columns:1fr;min-height:auto;padding-block:32px 48px}
  .workshop-brand .auth-section .auth-aside{order:0}
  .register-shell{grid-template-columns:1fr;padding-block:28px 64px}
  .register-aside{position:static}
}
@media (max-width:620px){
  .workshop-brand .auth-card{border-radius:18px}
  .auth-head h1{font-size:1.65rem}
}
.register-aside .register-price-note{margin:10px 0 0;color:var(--teal);font-size:.88rem;font-weight:700}

/* Sign in with Google (shown only when the owner enables it) */
.google-signin{display:grid;gap:14px;margin-block-end:18px}
.google-signin[hidden]{display:none}
.btn-google{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:10px 18px;border:1px solid #c6ced8;border-radius:12px;background:#fff;color:#1f1f1f;font-weight:700;text-decoration:none;transition:background .18s ease,box-shadow .18s ease}
.btn-google:hover{background:#f7f8fa;box-shadow:0 6px 16px rgba(0,24,52,.08)}
.btn-google svg{flex:none}
.or-divider{display:flex;align-items:center;gap:12px;color:var(--muted,#496178);font-size:.86rem;font-weight:700}
.or-divider::before,.or-divider::after{content:"";flex:1;height:1px;background:var(--line,#d5dce6)}
