/* ============ auth.css (Prihlásenie / Registrácia) ============ */
.auth {
  position: relative; isolation: isolate;
  min-height: calc(100vh - 80px);
  display: grid; place-items: center;
  padding: clamp(40px, 6vw, 90px) var(--gutter);
}
.auth__bg { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.auth__bg img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.55); }
.auth::after { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(0,33,26,.82); }

.auth__card {
  width: min(520px, 100%);
  background: var(--green-panel); backdrop-filter: blur(16px);
  border: 1px solid var(--cream-20);
  padding: clamp(30px, 4vw, 56px) clamp(24px, 3.5vw, 48px);
  display: flex; flex-direction: column; gap: clamp(16px, 2vw, 22px);
  text-align: center;
}
.auth__logo { align-self: center; }
.auth__logo img { height: clamp(44px, 5vw, 60px); width: auto; display: block; }
.auth__title { font-size: clamp(1.7rem, 2.4vw, 2.4rem); text-transform: uppercase; }
.auth__sub { color: var(--cream-80); font-size: var(--fs-16); margin-top: -8px; }

.auth__form { display: flex; flex-direction: column; gap: 16px; text-align: left; margin-top: 6px; }
.field-label { display: flex; flex-direction: column; gap: 8px; font-size: var(--fs-15); color: var(--cream-80); }
.field {
  height: 56px; padding: 0 18px; width: 100%; min-width: 0;
  background: transparent; border: 1px solid var(--cream); color: var(--cream);
  font: inherit; font-size: var(--fs-nav);
}
.field::placeholder { color: var(--cream-70); }
.field:focus-visible { outline: 2px solid var(--cream); outline-offset: 2px; }

.auth__two { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.auth__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: var(--fs-15); }
.auth__link { color: var(--cream); text-decoration: underline; text-underline-offset: 3px; }

.check { display: flex; align-items: center; gap: 10px; cursor: pointer; color: var(--cream-80); font-size: var(--fs-15); }
.check input { width: 16px; height: 16px; accent-color: var(--cream); flex: none; }
.check--full { align-items: flex-start; text-align: left; }
.check--full a { color: var(--cream); text-decoration: underline; text-underline-offset: 3px; }

.auth__btn { width: 100%; margin-top: 4px; }
.auth__alt { font-size: var(--fs-16); color: var(--cream-80); }
.auth__alt a { color: var(--cream); text-decoration: underline; text-underline-offset: 3px; }

/* footer gọn cho trang auth */
.site-footer--slim { margin-top: 0; padding-top: clamp(24px, 3vw, 40px); }
.site-footer--slim .footer-nav { border-top: 1px solid var(--line); padding-top: clamp(20px, 2.4vw, 32px); }

@media (max-width: 480px) {
  .auth__two { grid-template-columns: 1fr; }
  .auth__row { flex-direction: column; align-items: flex-start; gap: 10px; }
}
