/* ===== LOGIN PAGE STYLES ===== */

/* Full-page wrapper with background image */
.auth-wrapper {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image:url(../images/sfondo-home.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Dark overlay on background */
.auth-wrapper::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
}

/* Login card – dark navy panel */
.login-card {
    position: relative;
    z-index: 1;
    background-color: #0f1f38;
    border-radius: 4px;
    padding:20px 44px 48px;
    width: 100%;
    max-width: 380px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
}

/* Logo centered at top */
.login-logo {
    display: block;
    margin: 0 auto 8px;
    max-height: 56px;
    width: auto;
}

/* "LOGIN" title */
.login-card h2,
.login-card .login-title {
    text-align: center;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    margin-bottom: 32px;
}

/* Error/info message area */
#message {
    color: #ff6b6b;
    font-size: 0.85rem;
    text-align: center;
    min-height: 20px;
    margin-bottom: 8px;
}

/* Form labels */
.login-card .form-label {
    display: none;
}

/* Text inputs */
.login-card .form-control {
    background-color: transparent;
    border: 1px solid #ffffff55;
    border-radius: 4px;
    color: #ffffff;
    padding: 12px 16px;
    font-size: 0.9rem;
    transition: border-color 0.2s;
}

.login-card .form-control::placeholder {
    color: #ffffffaa;
}

.login-card .form-control:focus {
    background-color: transparent;
    border-color: #ffffff;
    box-shadow: none;
    color: #ffffff;
    outline: none;
}

/* Password wrapper */
.password-container {
    position: relative;
}

.password-container .form-control {
    padding-right: 44px;
}

/* Eye toggle button */
.toggle-pass {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #ffffffaa;
    cursor: pointer;
    padding: 0;
    font-size: 1rem;
    line-height: 1;
    transition: color 0.2s;
}

.toggle-pass:hover {
    color: #ffffff;
}

/* Key icon on the email field */
.mb-3 .form-control {
    background-image: none;
    padding-right: 44px;
}

.input-icon-container {
    position: relative;
}

.input-icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #ffffffaa;
    pointer-events: none;
    font-size: 1rem;
    line-height: 1;
}

/* Accedi button */
.login-card .btn-primary {
    background-color: #ffffff;
    border: none;
    color: #0f1f38;
    font-weight: 700;
    font-size: 0.85rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 14px;
    border-radius: 4px;
    margin-top: 8px;
    transition: background-color 0.2s, color 0.2s;
}

.login-card .btn-primary:hover,
.login-card .btn-primary:focus {
    background-color: #e63946;
    color: #ffffff;
    box-shadow: none;
}

/* Spacing tweaks */
.login-card .mb-3 {
    margin-bottom: 16px !important;
}

.login-card .mb-4 {
    margin-bottom: 20px !important;
}

/* Decorative dots above the title */
.login-dots {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 12px;
}

.login-dots span {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #e63946;
}


.titolo-form {
  font-size:26px;
  color: #fff;
}

.fa-eye {
  color: rgba(255,255,255,1.00);
}

/* =========================
   FIX reCAPTCHA + BOTTONI
   (aggiungi in fondo a login.css)
========================= */

/* allinea/centra il blocco captcha come gli altri elementi */
.login-card .form-group {
  width: 100%;
}

/* centra il widget e impedisce overflow */
.login-card .g-recaptcha {
  display: inline-block;       /* permette margin auto */
  margin: 0 auto 12px auto;
  width: 304px;                /* width standard reCAPTCHA */
  max-width: 100%;
  transform-origin: center top;
}

/* la card interna è ~292px (380 - 88), quindi scaliamo leggermente */
@media (max-width: 420px) {
  .login-card {
    padding-left: 24px;
    padding-right: 24px;
  }

  /* scala quanto basta per rientrare */
  .login-card .g-recaptcha {
    transform: scale(0.93);
  }
}

/* ancora più stretto */
@media (max-width: 360px) {
  .login-card .g-recaptcha {
    transform: scale(0.88);
  }
}

/* bottoni più piccoli e coerenti (full width, pill) */
.login-card .form-group .btn {
  width: 100%;
  display: block;
  padding: 10px 14px;          /* più piccoli */
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* spazio tra Login e Password dimenticata */
.login-card .form-group .btn + .btn {
  margin-top: 10px;
}

/* colori coerenti col tuo tema (override bootstrap) */
.login-card .btn-info {
  background: #4b6f93;
  border-color: #4b6f93;
  color: #fff;
}

.login-card .btn-info:hover,
.login-card .btn-info:focus {
  background: #3f5f7e;
  border-color: #3f5f7e;
  color: #fff;
  box-shadow: none;
}

.login-card .btn-danger {
  background: #e63946;
  border-color: #e63946;
}

.login-card .btn-danger:hover,
.login-card .btn-danger:focus {
  background: #cf2f3b;
  border-color: #cf2f3b;
  box-shadow: none;
}

/* =========================
   FIX reCAPTCHA + BOTTONI
   (aggiungi in fondo a login.css)
========================= */

/* allinea/centra il blocco captcha come gli altri elementi */
.login-card .form-group {
  width: 100%;
}

/* centra il widget e impedisce overflow */
.login-card .g-recaptcha {
  display: inline-block;       /* permette margin auto */
  margin: 0 auto 12px auto;
  width: 304px;                /* width standard reCAPTCHA */
  max-width: 100%;
  transform-origin: center top;
}

/* la card interna è ~292px (380 - 88), quindi scaliamo leggermente */
@media (max-width: 420px) {
  .login-card {
    padding-left: 24px;
    padding-right: 24px;
  }

  /* scala quanto basta per rientrare */
  .login-card .g-recaptcha {
    transform: scale(0.93);
  }
}

/* ancora più stretto */
@media (max-width: 360px) {
  .login-card .g-recaptcha {
    transform: scale(0.88);
  }
}

/* bottoni più piccoli e coerenti (full width, pill) */
.login-card .form-group .btn {
  width: 100%;
  display: block;
  padding: 10px 14px;          /* più piccoli */
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* spazio tra Login e Password dimenticata */
.login-card .form-group .btn + .btn {
  margin-top: 10px;
}

/* colori coerenti col tuo tema (override bootstrap) */
.login-card .btn-info {
  background: #4b6f93;
  border-color: #4b6f93;
  color: #fff;
}

.login-card .btn-info:hover,
.login-card .btn-info:focus {
  background: #3f5f7e;
  border-color: #3f5f7e;
  color: #fff;
  box-shadow: none;
}

.login-card .btn-danger {
  background: #e63946;
  border-color: #e63946;
}

.login-card .btn-danger:hover,
.login-card .btn-danger:focus {
  background: #cf2f3b;
  border-color: #cf2f3b;
  box-shadow: none;
}

