/**
 * CSS Styles fuer die Login Seite
 */

html {
  height: 100%;
  font-size: 10px;
}

body {
  margin: 0;
  height: 100%;
  width: 100%;
  font-size: 14px;
  font-family: 'latoregular', sans-serif;
  background-color: #f2f2f2;
}

/* ── Layout wrapper ────────────────────────────────────── */

.login-page {
  height: 100%;
}

.full-height {
  min-height: 100vh;
  margin: 0 !important;
  /* ensure PrimeFlex grid row fills viewport and right col can flex-grow */
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
}

/* ── Left section ──────────────────────────────────────── */

.login-left-section {
  background-color: #FFFFFF;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 36px 40px 36px;
  min-width: 320px;
}

/* Logo — pinned to top-left of the section */
.login-logo-container {
  position: absolute;
  top: 0;
  left: 28px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.login-logo-image {
  height: 48px;
  width: auto;
}

.login-logo-text {
  font-size: 22px;
  font-weight: 700;
  color: #1a1a1a;
  text-align: left;
  white-space: nowrap;
}

/* Form area — pushed to bottom of the flex column, with space below */
.login-form-container {
  width: 100%;
  max-width: 360px;
  /* margin-top: auto; */
  align-self: center;
  text-align: center;
}

.login-welcome-text {
  font-size: 28px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 8px 0;
}

.login-subtitle {
  font-size: 14px;
  color: #444;
  margin: 0;
  padding: 0;
}

/* Individual form field rows */
.login-field {
  width: 100%;
  margin-top: 16px;
  box-sizing: border-box;
}

.login-field .ui-inputfield,
.login-field .ui-inputtext,
.login-field .ui-password-input {
  width: 100% !important;
  padding: 6px 8px !important;
  box-sizing: border-box;
}

/* Primary action button — reuses YellowButton from ibbw-style.css */
.login-btn-anmelden {
  width: 100%;
  border-radius: 7px !important;
  border: 1px solid #FFFC00 !important;
  border-color: #FFFC00 !important;
}

.login-btn-anmelden .ui-button-text {
  width: 100% !important;
  text-align: center !important;
  color: #2A2623 !important;
  font-weight: 700 !important;
  padding: 8px 12px !important;
  border-radius: 5px !important;
}

.rounded-button:hover {
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15);
}

/* Forgot-password link */
.login-forgot-pw {
  font-size: 80%;
  text-decoration: none;
  color: #444;
  cursor: pointer;
}

/* Auth result messages */
.login-messages {
  text-align: left;
}

/* Footer note */
.login-footer-text {
  margin-top: 32px;
  font-size: 11px;
  color: #555;
  text-align: center;
}

.login-datenschutz-link {
  font-size: 13px;
  background-color: transparent;
  text-decoration: underline;
  cursor: pointer;
}

/* ── Datenschutzerklärung page ─────────────────────────── */

.datenschutz-page {
  max-width: 800px;
  margin: 40px auto;
  padding: 0 24px 60px;
  font-size: 14px;
  line-height: 1.7;
  color: #1a1a1a;
}

.datenschutz-header h1 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 24px;
  border-bottom: 2px solid #FFFC00;
  padding-bottom: 10px;
}

.datenschutz-body p {
  margin: 0 0 12px 0;
}

.datenschutz-body ul {
  padding-left: 24px;
  margin: 12px 0 0 0;
}

.datenschutz-body ul li {
  margin-bottom: 10px;
}

/* Separator */
.Separator {
  border-bottom: dashed 1px #d1d3d4;
  width: 100%;
  display: block;
  overflow: hidden;
  height: 0;
  margin: 1.2rem 0;
  clear: both;
}

/* Separator inside the registration panel — match bew-reg-field width */
.BewRegSeparator {
  border-bottom: dashed 1px #d1d3d4;
  width: 80%;
  margin-top: 2rem;
  margin-bottom: 2rem;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  height: 0;
  clear: both;
}

/* ── Vertical divider ──────────────────────────────────── */

.login-vertical-line {
  width: 1px;
  background-color: #d1d3d4;
  align-self: stretch;
  flex-shrink: 0;
}

/* ── Right section ─────────────────────────────────────── */

.login-right-section {
  flex: 1;
  position: relative;
  background-color: #FFFC00;
  overflow: hidden;
}

.login-pinned-image {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 55%;
  max-width: 420px;
  height: auto;
  display: block;
}

/* ── Utility classes kept for blockUI / other pages ────── */

.FontLatoBold {
  font-weight: 700;
}

.Black {
  color: #282828 !important;
}

.Fs18 {
  font-size: 18px;
}

.Opac80 {
  opacity: 0.8;
}

.icon-cross47:before {
  content: "\e943";
}

/* ── Registration confirmation card (bew-reg-ok) ───────── */

.bew-reg-ok-card {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background-color: #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.bew-reg-ok-row {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.bew-reg-ok-value {
  font-weight: 700;
  font-size: 15px;
  color: #1a1a1a;
}

.bew-reg-ok-hint-text {
  font-size: 11px;
  color: #57606a;
}

/* Yellow warning box */
.bew-reg-ok-hint {
  background-color: #FFFC00;
  border-radius: 6px;
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.bew-reg-ok-hint-title {
  font-weight: 700;
  font-size: 14px;
  text-decoration: underline;
  color: #1a1a1a;
}

.bew-reg-ok-hint-body {
  font-size: 13px;
  color: #1a1a1a;
}

/* ── Registration form label ───────────────────────────── */

.bew-reg-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #444;
}

/* ── Registration / Password-reset datepicker ──────────── */

/* Shared rule: reused by both bew-reg-datepicker and pw-reset-datepicker */
.bew-reg-datepicker.ui-calendar,
.pw-reset-datepicker.ui-calendar {
  display: flex !important;
  width: 100%;
}

.bew-reg-datepicker.ui-calendar input,
.pw-reset-datepicker.ui-calendar input {
  flex: 1 1 auto;
  min-width: 0;
  padding: 6px 8px !important;
  box-sizing: border-box;
}

.bew-reg-datepicker.ui-calendar .ui-datepicker-trigger.ui-button-icon-only,
.pw-reset-datepicker.ui-calendar .ui-datepicker-trigger.ui-button-icon-only {
  flex: 0 0 auto;
  height: auto;
  align-self: stretch;
}


/* ── Bewerbung-Auswahl centred layout ──────────────────── */

.bew-auswahl-page {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #FFFFFF;
  padding: 40px 20px;
  box-sizing: border-box;
}

.bew-auswahl-container {
  width: 100%;
  max-width: 600px;
  text-align: center;
}

/* Navigation links below the table */
.bew-auswahl-links {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
}

/* Rounded card wrapper around the datatable */
.bew-auswahl-table.ui-datatable {
  border-radius: 10px !important;
  overflow: hidden;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* Scoped datatable styles */
.bew-auswahl-table .ui-datatable-data .ui-state-hover td {
  color: #1a1a1a !important;
  background-color: #FFFC00 !important;
}

.bew-auswahl-table .ui-datatable-data .ui-state-hover td.inactive {
  color: inherit;
  text-decoration: inherit;
  background-color: inherit !important;
}

.bew-auswahl-table .ui-widget-content.ui-datatable-even.ui-datatable-selectable td.inactive {
  background-color: #ffffff !important;
  color: #8c8c8c !important;
}

.bew-auswahl-table .ui-widget-content.ui-datatable-odd.ui-datatable-selectable td.inactive {
  color: #8c8c8c !important;
}

.bew-auswahl-table .ui-widget-content.ui-datatable-selectable td {
  color: #1a1a1a !important;
}

.bew-auswahl-table thead {
  display: none;
}

/* ── Registration form field rows (bew-reg.xhtml) ──────── */

.bew-reg-panel {
  text-align: left;
  background-color: #FFFFFF;
  padding: 1rem;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  width: 80%;
  max-width: 500px;
  margin: 0 auto;
}

.bew-reg-field {
  width: 80%;
  margin: 12px auto 0;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 8px;
}

.bew-reg-field label.bew-reg-label {
  flex: 0 0 auto;
}

.bew-reg-field .ui-message {
  flex: 1 1 auto;
}

.bew-reg-field .ui-inputfield,
.bew-reg-field .ui-calendar,
.bew-reg-field .ui-selectoneradio,
.bew-reg-field .ui-commandbutton {
  flex: 0 0 100%;
}

.bew-reg-field .ui-inputfield,
.bew-reg-field .ui-inputtext,
.bew-reg-field .ui-password-input {
  width: 100% !important;
  padding: 6px 8px !important;
  box-sizing: border-box;
}

.bew-reg-field .bew-reg-datepicker.ui-calendar {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .bew-reg-field {
    width: 90%;
  }
}

/* ── Responsive: stack on small screens ────────────────── */

@media screen and (max-width: 768px) {
  .login-vertical-line {
    display: none;
  }

  .login-right-section {
    display: none;
  }

  .login-left-section {
    min-width: unset;
    width: 100%;
    padding: 24px 20px;
  }
}
