/* Auth pages (login, register, reset, 2FA, invite): flat, left-aligned, underline fields. Loaded after site-v2.css. */
body.hs-auth section .text-center { text-align: left !important; }
body.hs-auth section .form-element-animation { animation-duration: .8s; animation-timing-function: cubic-bezier(.16,1,.3,1); }
body.hs-auth h4, body.hs-auth h6, body.hs-auth section h1 { margin: 0 0 .8rem !important; font-size: clamp(2rem,3.6vw,2.9rem) !important; font-weight: 900 !important; line-height: 1.15; letter-spacing: -.05em; color: var(--hv-text); word-break: keep-all; }
body.hs-auth section p.text-muted { font-size: 1rem; line-height: 1.7; margin-bottom: 0; }
body.hs-auth .mb-5.text-center, body.hs-auth .text-center.mb-5 { margin-bottom: 2.4rem !important; }

/* underline fields */
body.hs-auth .form-control, body.hs-auth .form-select { background: transparent !important; border: 0 !important; border-bottom: 1.5px solid var(--hv-line) !important; border-radius: 0 !important; padding: 1.5rem 0 .5rem !important; color: var(--hv-text); box-shadow: none !important; font-size: 1.1rem; transition: border-color .25s; }
body.hs-auth .form-control:focus, body.hs-auth .form-select:focus { border-color: var(--hv-accent) !important; }
body.hs-auth .form-floating > .form-control { height: 4rem; min-height: 0; }
body.hs-auth .form-floating > label { padding: 1.3rem 0 !important; font-size: 1rem; color: var(--hv-muted); transition: opacity .15s ease-in-out, transform .15s ease-in-out; }
body.hs-auth .form-floating > .form-control:focus ~ label, body.hs-auth .form-floating > .form-control:not(:placeholder-shown) ~ label { transform: scale(.82) translateY(-.9rem); color: var(--hv-muted); }
body.hs-auth .form-floating > .form-control:-webkit-autofill ~ label { transform: scale(.82) translateY(-.9rem); }
body.hs-auth input:-webkit-autofill { -webkit-box-shadow: 0 0 0 1000px var(--hv-bg) inset !important; -webkit-text-fill-color: var(--hv-text) !important; caret-color: var(--hv-text); }
body.hs-auth .form-check-input { accent-color: var(--hv-accent); width: 1.1rem; height: 1.1rem; margin-top: .2rem; background-color: transparent; border: 1.5px solid var(--hv-line); border-radius: 4px; }
body.hs-auth .form-check-input:checked { background-color: var(--hv-accent); border-color: var(--hv-accent); }
body.hs-auth .form-check-input:focus { box-shadow: none; }
body.hs-auth .form-check-label { color: var(--hv-muted); }

/* actions */
body.hs-auth .btn-primary { position: relative; border-radius: 999px; font-size: 1.1rem; font-weight: 800; padding: 1rem 1.6rem !important; }
body.hs-auth .btn-primary:not(.btn-sm)::after { content: "\2192"; position: absolute; right: 1.5rem; top: 50%; transform: translateY(-50%); transition: right .35s cubic-bezier(.16,1,.3,1); }
body.hs-auth .btn-primary:not(.btn-sm):hover::after { right: 1.1rem; }
body.hs-auth .btn-outline-primary, body.hs-auth .btn-outline-secondary { border-radius: 999px; border-width: 1.5px; font-weight: 700; }
body.hs-auth a:not(.btn) { text-decoration: none; font-weight: 700; }
body.hs-auth a:not(.btn):hover { text-decoration: underline; text-underline-offset: 4px; }
body.hs-auth .small.text-muted, body.hs-auth a.text-muted { color: var(--hv-muted) !important; font-weight: 600; }
body.hs-auth a.text-muted:hover { color: var(--hv-accent) !important; }

/* social sign-in: quiet round icons */
body.hs-auth .social-login-buttons { justify-content: flex-start !important; gap: .7rem; }
body.hs-auth .social-login-buttons a { margin: 0 !important; background: transparent !important; border: 1.5px solid var(--hv-line) !important; }
body.hs-auth .social-login-buttons a:hover { border-color: var(--hv-accent) !important; box-shadow: none; }
body.hs-auth .text-uppercase { text-transform: none !important; letter-spacing: 0; }

/* 2FA recovery modal etc. */
body.hs-auth .modal-content { background: var(--hv-surface); border: 1.5px solid var(--hv-line); border-radius: 20px; color: var(--hv-text); }
body.hs-auth .modal-header, body.hs-auth .modal-footer { border-color: var(--hv-line); }
body.hs-auth .modal .btn-close { filter: none; opacity: .7; }
html[data-theme=dark] body.hs-auth .modal .btn-close { filter: invert(1); }
body.hs-auth .alert:not(.custom-alert) { border: 0; border-left: 3px solid var(--hv-accent); border-radius: 0; background: none; color: var(--hv-text); padding: .4rem 1rem; }
@media (max-width: 991.98px) { body.hs-auth h4, body.hs-auth h6, body.hs-auth section h1 { font-size: 2rem !important; } }
@media (min-width: 992px) { body.hs-auth section .row.justify-content-center > .col-11 { flex: 0 0 auto; width: min(30rem, 90%); } }
body.hs-auth .form-check-input:checked { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3E%3C/svg%3E"); }
body.hs-auth section .text-center.mt-5 { width: min(30rem, 90%); margin-inline: auto; font-size: .9rem; color: var(--hv-muted); }
body.hs-auth section .text-center.mt-5 a { color: var(--hv-muted); }

/* entry choices: one button per way in */
.au-form[data-au-collapsed] { display: none; }
.au-choices { display: grid; gap: .8rem; }
.au-choice { display: flex; align-items: center; gap: 1rem; width: 100%; padding: 1rem 1.3rem; border: 1.5px solid var(--hv-line); border-radius: 999px; background: transparent; color: var(--hv-text) !important; font-size: 1.05rem; font-weight: 700; text-decoration: none !important; text-align: left; cursor: pointer; transition: border-color .25s, background-color .25s, transform .35s cubic-bezier(.16,1,.3,1); }
.au-choice:hover { border-color: var(--hv-accent); background: color-mix(in srgb, var(--hv-accent) 8%, transparent); text-decoration: none !important; }
.au-choice .au-ic { flex: none; display: grid; place-items: center; width: 1.7rem; height: 1.7rem; color: var(--hv-accent); font-size: 1.15rem; }
.au-choice .au-ic img { width: 1.4rem; height: 1.4rem; object-fit: contain; }
.au-choice .au-x { filter: invert(1); }
html[data-hv="light"] .au-choice .au-x { filter: none; }
.au-choice .au-tx { flex: 1; }
.au-choice svg { flex: none; color: var(--hv-muted); transition: transform .35s cubic-bezier(.16,1,.3,1), color .2s; }
.au-choice:hover svg { transform: translateX(.3rem); color: var(--hv-accent); }
.au-email { background: var(--hv-accent); border-color: var(--hv-accent); color: #fff !important; }
.au-email .au-ic, .au-email svg { color: #fff; }
.au-email:hover { background: color-mix(in srgb, var(--hv-accent) 84%, #fff); border-color: transparent; }
.au-email:hover svg { color: #fff; }
.au-kakao .au-ic { background: #fee500; border-radius: 50%; width: 1.9rem; height: 1.9rem; }
.au-kakao .au-ic img { width: 1.1rem; height: 1.1rem; }

/* sideways switch between the choices and the email form: the panels only slide, they never fade */
.au-stage { position: relative; display: grid; overflow: hidden; margin-inline: -.3rem; padding-inline: .3rem; transition: height .55s cubic-bezier(.16,1,.3,1); }
.au-stage > * { grid-area: 1 / 1; align-self: start; transition: transform .55s cubic-bezier(.16,1,.3,1); }
.au-stage > .au-form { transform: translateX(110%); margin-top: 0 !important; }
.au-stage > .au-choices { transform: none; }
.au-stage.is-form > .au-form { transform: none; }
.au-stage.is-form > .au-choices { transform: translateX(-110%); }
.au-stage:not(.is-form) > .au-form, .au-stage.is-form > .au-choices { visibility: hidden; transition: transform .55s cubic-bezier(.16,1,.3,1), visibility 0s linear .55s; }
.au-stage.no-anim, .au-stage.no-anim > * { transition: none !important; }
@media (prefers-reduced-motion: reduce) { .au-stage, .au-stage > * { transition: none !important; } }
.au-stage > .au-choices.form-element-animation { animation: slideInUp .8s cubic-bezier(.16,1,.3,1) backwards; opacity: 1; }
body.hs-auth .form-floating > .form-control { height: 3.5rem; }
body.hs-auth .form-floating > label { padding: 1.1rem 0 !important; }
body.hs-auth .form-floating.mb-3 { margin-bottom: .4rem !important; }
body.hs-auth .mb-5.text-center, body.hs-auth .text-center.mb-5 { margin-bottom: 1.8rem !important; }
body.hs-auth .form-check.my-4 { margin-block: 1.2rem !important; }
body.hs-auth section p.text-center.mt-5 { margin-top: 1.4rem !important; }
body.hs-auth section p.text-center { padding: 0 !important; margin-left: 0 !important; }
.au-back { display: inline-block; margin: 0 0 1.2rem; padding: 0; border: 0; background: none; color: var(--hv-muted); font-weight: 700; }
.au-back:hover { color: var(--hv-accent); }
/* the shared first-section top padding (7.5rem) must not push the auth page past the viewport */
body.hs-auth.hv2-site > section:first-of-type:not(.hs) { padding: 0 !important; margin: 0 !important; }
.au-note { margin: .6rem 0 0; font-size: 1rem; }
