/* Hallmark · macrostructure: Split Auth Shell · tone: focused · anchor hue: violet */
:root {
  --auth-paper: oklch(98% .015 300);
  --auth-paper-strong: oklch(100% .01 300 / .78);
  --auth-ink: oklch(17% .07 300);
  --auth-ink-soft: oklch(38% .05 300);
  --auth-rule: oklch(55% .24 302 / .18);
  --auth-accent: oklch(55% .24 302);
  --auth-accent-deep: oklch(42% .21 302);
  --auth-accent-soft: oklch(55% .24 302 / .12);
  --auth-shadow: oklch(55% .24 302 / .16);
  --auth-radius-shell: 2rem;
  --auth-radius-field: 1rem;
  --auth-ease: cubic-bezier(.16, 1, .3, 1);
}

html, body { overflow-x: clip; }
body:has(.auth-page) { background: var(--auth-paper); color: var(--auth-ink); }
.auth-page { min-height: 42rem; padding: 3rem 0 5rem; background: linear-gradient(135deg, var(--auth-paper) 0%, oklch(96% .025 300) 48%, oklch(93% .05 300) 100%); }
.auth-page > .wrapper:first-of-type { display: none; }
.auth-page > .wrapper:nth-of-type(2) { padding: 0; }
.auth-page > .wrapper:nth-of-type(2) > .container { padding: 0 1.25rem !important; }
.auth-page > .wrapper:nth-of-type(2) .row { margin: 0; }
.auth-page > .wrapper:nth-of-type(2) .col.mt-n19 { width: 100%; max-width: 70rem; margin: 0 auto !important; padding: 0; }
.auth-page .card { overflow: hidden; border: 1px solid var(--auth-rule); border-radius: var(--auth-radius-shell); background: var(--auth-paper-strong); box-shadow: 0 2rem 5rem var(--auth-shadow) !important; }
.auth-page .card > .row { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); }
.auth-page .card > .row > .col-lg-6 { width: auto; max-width: none; padding: 0; }
.auth-page .image-wrapper { position: relative; display: block !important; min-height: 43rem; overflow: hidden; background-image: linear-gradient(145deg, oklch(42% .21 302 / .7), oklch(55% .24 302 / .66)), url('/assets/theme-1/img/photos/tm3.jpg') !important; background-position: center; background-size: cover; }
.auth-page .image-wrapper::before { position: absolute; inset: 0; content: ''; background: radial-gradient(circle at 78% 18%, oklch(100% .01 300 / .26), transparent 30%), radial-gradient(circle at 20% 86%, oklch(100% .01 300 / .18), transparent 27%); }
.auth-page .image-wrapper::after { position: absolute; right: 11%; bottom: 10%; left: 11%; padding: 1.4rem 0 0; border-top: 1px solid oklch(100% .01 300 / .28); color: oklch(96% .02 300); font-family: Manrope, sans-serif; font-size: .96rem; line-height: 1.7; white-space: pre-line; }
.auth-page--login .image-wrapper::after { content: 'Tek panel.\A Daha hızlı doğrulama.\A Hızlı Onay'; }
.auth-page--register .image-wrapper::after { content: 'Hesabını oluştur.\A Servisleri tek ekrandan yönet.\A Hızlı Onay'; }
.auth-page .image-wrapper + .col-lg-6 { background: transparent; }
.auth-page .image-wrapper + .col-lg-6 > div { padding: 4rem 4.5rem !important; }
.auth-page h2 { margin-bottom: .7rem !important; color: var(--auth-ink); font-family: Manrope, sans-serif; font-size: clamp(2rem, 3vw, 3rem); font-weight: 800; letter-spacing: -.055em; line-height: 1; }
.auth-page .lead { max-width: 30rem; margin-bottom: 2rem !important; color: var(--auth-ink-soft); font-family: Manrope, sans-serif; font-size: 1rem; line-height: 1.65; }
.auth-page form { margin-bottom: 1.1rem !important; }
.auth-page .form-floating { margin-bottom: .85rem !important; }
.auth-page .form-control { height: 3.65rem; border: 1px solid var(--auth-rule); border-radius: var(--auth-radius-field); background: oklch(100% .01 300 / .54); color: var(--auth-ink); font-family: Manrope, sans-serif; box-shadow: none; }
.auth-page .form-floating > .form-control::placeholder { color: transparent !important; opacity: 0 !important; }
.auth-page .form-control:focus { border-color: var(--auth-accent); background: oklch(100% .01 300 / .82); box-shadow: 0 0 0 .24rem var(--auth-accent-soft); }
.auth-page .form-floating > label { color: var(--auth-ink-soft); font-family: Manrope, sans-serif; }
.auth-page .password-toggle { color: var(--auth-accent); }
.auth-page .form-check { display: flex; align-items: center; gap: .5rem; margin: .8rem 0 1.25rem !important; }
.auth-page .form-check-input { width: 1.05rem; height: 1.05rem; margin: 0; border-color: var(--auth-rule); }
.auth-page .form-check-input:checked { border-color: var(--auth-accent); background-color: var(--auth-accent); }
.auth-page .form-check-label, .auth-page p { color: var(--auth-ink-soft); font-family: Manrope, sans-serif; font-size: .88rem; line-height: 1.65; }
.auth-page .btn-login { min-height: 3.65rem; border: 0; border-radius: 999px !important; background: var(--auth-accent) !important; color: oklch(98% .015 300) !important; font-family: Manrope, sans-serif; font-weight: 800; box-shadow: 0 .9rem 1.8rem var(--auth-shadow); transition: transform 220ms var(--auth-ease), background 220ms var(--auth-ease), box-shadow 220ms var(--auth-ease); }
.auth-page .btn-login:hover { transform: translateY(-2px); background: var(--auth-accent-deep) !important; box-shadow: 0 1.2rem 2.3rem var(--auth-shadow); }
.auth-page .btn-login:active { transform: translateY(0); }
.auth-page .btn-login:focus-visible, .auth-page #google-signin-button:focus-visible, .auth-page #google-signup-button:focus-visible { outline: 3px solid var(--auth-accent); outline-offset: 3px; }
.auth-page #google-signin-button, .auth-page #google-signup-button { min-height: 3.55rem !important; border: 1px solid var(--auth-rule) !important; border-radius: 999px !important; background: transparent !important; color: var(--auth-ink) !important; font-family: Manrope, sans-serif; font-weight: 700; }
.auth-page #google-signin-button:hover, .auth-page #google-signup-button:hover { border-color: var(--auth-accent) !important; background: var(--auth-accent-soft) !important; color: var(--auth-ink) !important; }
.auth-page .divider { color: var(--auth-ink-soft); }
.auth-page .divider::before, .auth-page .divider::after { background: var(--auth-rule) !important; }
.auth-page .blackhover { color: var(--auth-accent) !important; font-weight: 800; text-decoration: none; }
.auth-page .blackhover:hover { color: var(--auth-accent-deep) !important; text-decoration: underline; text-underline-offset: .2em; }
.auth-page .fs-11 { color: var(--auth-ink-soft); }

body.dark-mode:has(.auth-page) { background: oklch(12% .06 300); }
body.dark-mode .auth-page { background: linear-gradient(135deg, oklch(15% .07 300) 0%, oklch(13% .08 300) 52%, oklch(18% .11 300) 100%); }
body.dark-mode .auth-page .card { border-color: oklch(70% .16 302 / .2); background: oklch(18% .07 300 / .78); box-shadow: 0 2rem 5rem oklch(5% .04 300 / .46) !important; }
body.dark-mode .auth-page .image-wrapper { background-image: linear-gradient(145deg, oklch(18% .1 300 / .72), oklch(42% .2 302 / .7)), url('/assets/theme-1/img/photos/tm3.jpg') !important; }
body.dark-mode .auth-page h2, body.dark-mode .auth-page .form-control, body.dark-mode .auth-page .form-check-label, body.dark-mode .auth-page p { color: oklch(94% .025 300); }
body.dark-mode .auth-page .lead, body.dark-mode .auth-page .form-floating > label, body.dark-mode .auth-page .fs-11 { color: oklch(76% .045 300); }
body.dark-mode .auth-page .form-control { border-color: oklch(75% .11 300 / .24); background: oklch(10% .05 300 / .42); }
body.dark-mode .auth-page .form-control:focus { border-color: oklch(72% .2 302); background: oklch(10% .05 300 / .68); }
body.dark-mode .auth-page #google-signin-button, body.dark-mode .auth-page #google-signup-button { border-color: oklch(75% .11 300 / .28) !important; color: oklch(94% .025 300) !important; }
body.dark-mode .auth-page #google-signin-button:hover, body.dark-mode .auth-page #google-signup-button:hover { background: oklch(70% .2 302 / .16) !important; }

@media (max-width: 767.98px) {
  body:has(.auth-page) .public-nova-header { position: relative; }
  .auth-page { min-height: 0; padding: 1.5rem 0 3rem; }
  .auth-page .card { border-radius: 1.35rem; }
  .auth-page .card > .row { display: block; }
  .auth-page .image-wrapper { display: block !important; min-height: 12.5rem; }
  .auth-page .image-wrapper::after { right: 1.5rem; bottom: 1.5rem; left: 1.5rem; padding-top: .75rem; font-size: .8rem; line-height: 1.45; }
  .auth-page .image-wrapper + .col-lg-6 > div { padding: 2rem 1.25rem 2.25rem !important; }
  .auth-page h2 { font-size: 2.15rem; }
}

.error-page { padding-top: 0 !important; }
.error-page > .wrapper:first-child { padding-top: 0; }

@media (prefers-reduced-motion: reduce) {
  .auth-page .btn-login { transition: none; }
  .auth-page .btn-login:hover { transform: none; }
}
