/* Pages d'authentification du carnet — habillage groupedarheim.ca (2026-10-07) */
@font-face { font-family: 'GD Montserrat'; src: url(../fonts/darheim/montserrat-var.woff2) format('woff2'); font-weight: 400 800; font-display: swap; }
@font-face { font-family: 'GD Lato'; src: url(../fonts/darheim/lato-400.woff2) format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'GD Lato'; src: url(../fonts/darheim/lato-700.woff2) format('woff2'); font-weight: 700; font-display: swap; }

.gd-auth {
  --gd-vert: #23504D;
  --gd-vert-fonce: #1A3D3B;
  --gd-or: #867F60;
  --gd-or-clair: #B5AD86;
  --gd-creme: #F6F4EE;
  --gd-texte: #1D2321;
  --gd-gris: #6B6F6D;
  --gd-bordure: #DDD9CC;
  min-height: 100vh;
  display: flex;
  font-family: 'GD Lato', Lato, Arial, sans-serif;
  color: var(--gd-texte);
  background: var(--gd-creme);
}

/* Volet de marque (gauche) */
.gd-auth-brand {
  flex: 1 1 55%;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 48px 64px;
  color: #fff;
  background:
    linear-gradient(160deg, rgba(35,80,77,.94) 0%, rgba(26,61,59,.88) 100%),
    url(/build/icons/auth-one-bg.jpg) center / cover no-repeat;
}
.gd-auth-brand a { color: inherit; }
.gd-auth-logo img { width: 230px; height: auto; display: block; }
.gd-auth-pitch { max-width: 560px; }
.gd-auth-eyebrow {
  font-family: 'GD Montserrat', Montserrat, sans-serif;
  font-size: 13px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase;
  color: var(--gd-or-clair);
  margin: 0 0 14px;
}
.gd-auth-title {
  font-family: 'GD Montserrat', Montserrat, sans-serif;
  font-size: clamp(30px, 3.4vw, 46px); font-weight: 700; line-height: 1.12;
  text-transform: uppercase; color: #fff;
  margin: 0 0 20px;
}
.gd-auth-lead { font-size: 17px; line-height: 1.6; color: rgba(255,255,255,.85); margin: 0 0 28px; }
.gd-auth-points { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.gd-auth-points li { display: flex; gap: 12px; align-items: flex-start; font-size: 15.5px; line-height: 1.5; color: rgba(255,255,255,.9); }
.gd-auth-points i {
  flex: 0 0 26px; height: 26px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1.5px solid var(--gd-or-clair); color: var(--gd-or-clair); font-size: 14px;
}
.gd-auth-back {
  font-family: 'GD Montserrat', Montserrat, sans-serif;
  font-size: 13px; font-weight: 600; letter-spacing: .5px;
  text-decoration: none; opacity: .8;
  display: inline-flex; align-items: center; gap: 6px;
}
.gd-auth-back:hover { opacity: 1; color: var(--gd-or-clair); }

/* Volet formulaire (droite) */
.gd-auth-main {
  flex: 1 1 45%;
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  padding: 48px 32px;
}
.gd-auth-card { width: 100%; max-width: 420px; }
.gd-auth-card h1 {
  font-family: 'GD Montserrat', Montserrat, sans-serif;
  font-size: 28px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px;
  color: var(--gd-vert); margin: 0 0 6px;
}
.gd-auth-card .gd-auth-sub { color: var(--gd-gris); font-size: 15.5px; margin: 0 0 32px; }
.gd-auth-card .gd-auth-sub::before {
  content: ''; display: block; width: 44px; height: 3px; background: var(--gd-or); margin: 14px 0 16px;
}
.gd-auth .form-label { font-family: 'GD Montserrat', Montserrat, sans-serif; font-size: 13px; font-weight: 600; color: var(--gd-texte); margin-bottom: 8px; }
.gd-auth .form-control {
  height: 50px; border: 1.5px solid var(--gd-bordure); border-radius: 4px;
  background: #fff; font-size: 15.5px; color: var(--gd-texte); padding: 10px 16px;
  box-shadow: none; transition: border-color .15s;
}
.gd-auth .form-control:focus { border-color: var(--gd-vert); box-shadow: 0 0 0 3px rgba(35,80,77,.12); }
.gd-auth .form-control::placeholder { color: #A3A6A4; }
.gd-auth .form-control.is-invalid { border-color: #C0392B; }
.gd-auth .password-addon { height: 50px; color: var(--gd-gris) !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.gd-auth-forgot { font-size: 13.5px; color: var(--gd-or) !important; text-decoration: none; font-weight: 700; }
.gd-auth-forgot:hover { text-decoration: underline; }
.gd-auth .form-check-input:checked { background-color: var(--gd-vert); border-color: var(--gd-vert); }
.gd-auth .form-check-label { color: var(--gd-gris); }

.gd-auth-btn {
  width: 100%; height: 52px; border: 0; border-radius: 35px;
  background: var(--gd-or); color: #fff;
  font-family: 'GD Montserrat', Montserrat, sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  transition: background-color .2s;
}
.gd-auth-btn:hover, .gd-auth-btn:focus-visible { background: var(--gd-vert); color: #fff; }
.gd-auth-btn i { transform: rotate(-40deg); font-size: 16px; }

.gd-auth-alt { margin: 28px 0 0; padding-top: 24px; border-top: 1px solid var(--gd-bordure); text-align: center; color: var(--gd-gris); font-size: 15px; }
.gd-auth-alt a { color: var(--gd-vert); font-weight: 700; text-decoration: none; border-bottom: 1.5px solid var(--gd-or); }
.gd-auth-alt a:hover { color: var(--gd-or); }
.gd-auth-copy { margin-top: 40px; font-size: 12.5px; color: #9A9C98; text-align: center; }
.gd-auth .alert { border-radius: 4px; }

/* Variantes et éléments des autres pages de compte */
.gd-auth--wide .gd-auth-brand { flex-basis: 40%; }
.gd-auth--wide .gd-auth-main { flex-basis: 60%; }
.gd-auth--wide .gd-auth-card { max-width: 640px; }
.gd-auth-section {
  font-family: 'GD Montserrat', Montserrat, sans-serif;
  font-size: 12px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase;
  color: var(--gd-or); margin: 0 0 16px; padding-bottom: 8px; border-bottom: 1px solid var(--gd-bordure);
}
.gd-auth-link { color: var(--gd-vert) !important; font-weight: 700; text-decoration: none; border-bottom: 1.5px solid var(--gd-or); }
.gd-auth-link:hover { color: var(--gd-or) !important; }
.gd-auth-icon {
  width: 64px; height: 64px; border-radius: 50%; margin-bottom: 20px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(35,80,77,.08); color: var(--gd-vert); font-size: 30px;
}
.gd-auth-icon--warn { background: rgba(134,127,96,.14); color: var(--gd-or); }
.gd-auth-table th { background: rgba(35,80,77,.05); color: var(--gd-texte); font-weight: 700; }
.gd-auth-table th, .gd-auth-table td { border-color: var(--gd-bordure); padding: 10px 12px; }
.gd-auth-terms { padding-left: 22px; margin: 0 0 24px; }
.gd-auth-terms li { margin-bottom: 14px; }
.gd-auth-terms li::marker { color: var(--gd-or); font-weight: 700; }
.gd-auth-terms strong { font-family: 'GD Montserrat', Montserrat, sans-serif; color: var(--gd-vert); }
.gd-auth-terms p { margin: 4px 0 0; color: #4A4F4D; line-height: 1.6; }
a.gd-auth-btn { text-decoration: none; }
.gd-auth-btn--outline { background: transparent; color: var(--gd-vert); border: 1.5px solid var(--gd-or); }
.gd-auth-btn--outline:hover { background: var(--gd-or); color: #fff; }
.gd-auth-btn--danger { background: #A93A2E; }
.gd-auth-btn--danger:hover { background: #8A2D23; }
.gd-auth-btn i.gd-no-rotate { transform: none; }

.gd-auth-note {
  display: flex; gap: 12px; align-items: flex-start;
  margin: 28px 0 0; padding: 16px 18px;
  background: #fff; border: 1px solid var(--gd-bordure); border-left: 3px solid var(--gd-or); border-radius: 4px;
}
.gd-auth-note i { color: var(--gd-or); font-size: 20px; line-height: 1.3; }
.gd-auth-note p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--gd-gris); }
.gd-auth-note strong { color: var(--gd-vert); }

/* Tablette / mobile : bandeau compact au-dessus du formulaire */
@media (max-width: 991.98px) {
  .gd-auth { flex-direction: column; }
  .gd-auth-brand { flex: 0 0 auto; padding: 28px 24px 32px; }
  .gd-auth-logo img { width: 180px; }
  .gd-auth-pitch { margin-top: 24px; }
  .gd-auth-title { font-size: 26px; margin-bottom: 0; }
  .gd-auth-lead, .gd-auth-points, .gd-auth-brand > .gd-auth-back { display: none; }
  .gd-auth-main { padding: 36px 20px 28px; justify-content: flex-start; }
  .gd-auth-card h1 { font-size: 24px; }
}
