body.auth-login {
  min-height:100vh;
  background:var(--c-bg,#f3f8f6);
  color:var(--c-ink,#0b0f0e);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
body.auth-login .topbar,
body.auth-login .site-header,
body.auth-login .footer,
body.auth-login .ad-slot { display:none !important; }
body.auth-login #contenu {
  width:100%;
  max-width:none;
  min-height:100vh;
  margin:0 !important;
  padding:0;
}
.login-wrap {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) 1px minmax(0,.85fr);
  align-items:center;
  width:100%;
  min-height:100vh;
}
.login-divider { align-self:center; justify-self:center; width:1px; height:70vh; background:#dbe7e1; }
.login-left,
.login-right { padding:48px clamp(24px,5vw,72px); }
.login-left {
  position:relative;
  align-self:stretch;
  min-height:100vh;
  overflow:hidden;
  padding:20px 32px 28px;
}
.auth-register .login-left { align-self:start; height:100vh; min-height:600px; }
.login-brand {
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:12px;
  width:max-content;
  max-width:100%;
  margin:0;
  color:var(--c-ink,#0b0f0e);
  text-decoration:none;
}
.login-brand img {
  width:58px;
  height:58px;
  flex:none;
  border:2px solid var(--c-accent-2,#007a52);
  border-radius:50%;
  background:#000;
  object-fit:cover;
}
.login-brand-name { font:700 1.35rem Georgia,"Times New Roman",serif; }
.login-stage {
  position:absolute;
  top:35px;
  right:0;
  bottom:150px;
  left:clamp(60px,6vw,92px);
  width:auto;
  max-width:700px;
  height:auto;
  margin:auto;
}
.login-image-card {
  position:absolute;
  overflow:hidden;
  border:1px solid rgba(11,15,14,.14);
  border-radius:18px;
  background:var(--c-surface,#fff);
  box-shadow:0 18px 40px -12px color-mix(in srgb,var(--c-nav,#0a2a22) 40%,transparent);
}
.login-image-card img { display:block; width:100%; height:100%; object-fit:cover; }
.login-image-one { top:0; left:64%; width:32%; height:62%; transform:rotate(2deg); }
.login-image-two { top:13%; left:28%; width:38%; height:36%; transform:rotate(-2deg); }
.login-image-three { top:40%; left:10%; width:40%; height:40%; transform:rotate(2deg); }
.login-image-four { top:52%; left:50%; width:40%; height:42%; transform:rotate(-3deg); }
.login-tagline {
  position:absolute;
  z-index:1;
  bottom:24px;
  left:32px;
  max-width:480px;
  width:calc(100% - 64px);
  margin:0;
  color:var(--c-ink,#0b0f0e);
  font:italic 400 clamp(2rem,3.8vw,3rem)/1.16 Georgia,"Times New Roman",serif;
}
.login-tagline strong { color:var(--c-accent-2,#007a52); font-weight:700; }
body.auth-login:has(#consent-banner:not([hidden])) .login-stage { bottom:230px; }
body.auth-login:has(#consent-banner:not([hidden])) .login-tagline { bottom:110px; }
.login-right { display:flex; flex-direction:column; justify-content:center; }
.login-form-card { width:100%; max-width:420px; margin:0 auto; }
.login-form-card h2 { margin:0 0 24px; font-size:1.15rem; font-weight:700; }
.auth-tabs {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  margin:0 0 28px;
  padding:4px;
  border:1px solid #dbe7e1;
  border-radius:12px;
  background:#eaf1ed;
}
.auth-tabs a {
  padding:11px 8px;
  border-radius:9px;
  color:#44504b;
  font-size:.9rem;
  font-weight:600;
  text-align:center;
  text-decoration:none;
}
.auth-tabs a:hover { color:var(--brand-2,#005c3d); }
.auth-tabs a.is-active {
  background:var(--c-surface,#fff);
  color:var(--brand-2,#005c3d);
  box-shadow:0 1px 4px color-mix(in srgb,var(--c-nav,#0a2a22) 20%,transparent);
}
.register-form-card h2 { margin-bottom:8px; }
.register-intro { margin:0 0 20px; color:#5b6b64; font-size:.9rem; }
.register-form-card .auth-tabs { margin-bottom:18px; }
.register-form-card .login-form-group { margin-bottom:8px; }
.register-form-card .login-form-group input { min-height:46px; padding:10px 14px; }
.register-form-card .register-help { margin-top:3px; font-size:.74rem; line-height:1.35; }
.register-form-card .register-intro { margin-bottom:14px; }
.login-form-group { margin-bottom:12px; }
.login-form-group label { display:block; margin-bottom:6px; color:#26352e; font-size:.88rem; font-weight:600; }
.login-form-group input {
  display:block;
  width:100%;
  min-height:54px;
  padding:14px 16px;
  border:1px solid #cbd9d2;
  border-radius:10px;
  background:var(--c-surface,#fff);
  color:var(--c-ink,#0b0f0e);
  font:400 .95rem system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
.login-form-group input:focus { border-color:var(--c-accent-2,#007a52); outline:2px solid color-mix(in srgb,var(--c-accent,#00a86b) 25%,transparent); outline-offset:1px; }
.login-form-group input::placeholder { color:#718078; }
.register-help { margin-top:5px; color:#718078; font-size:.78rem; }
.register-accept { display:grid; grid-template-columns:20px 1fr; gap:9px; align-items:start; margin:16px 0; color:#44504b; font-size:.82rem; }
.register-form-card .register-accept { margin:10px 0; }
.register-social { margin:12px 0; }
.register-social-divider { display:flex; align-items:center; gap:12px; margin:12px 0; color:#718078; font-size:.8rem; }
.register-social-divider::before,
.register-social-divider::after { flex:1; height:1px; background:#dbe7e1; content:""; }
.register-google {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  min-height:46px;
  border:1px solid #cbd9d2;
  border-radius:10px;
  background:var(--c-surface,#fff);
  color:#44504b;
  font:600 .9rem system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
.register-google { text-decoration:none; cursor:pointer; } .register-google:hover { background:color-mix(in srgb,var(--c-accent,#00a86b) 9%,#fff); border-color:var(--c-accent,#00a86b); color:var(--c-ink,#0b0f0e); }
.register-google:disabled { cursor:not-allowed; opacity:.72; }
.register-google i { font-size:1.05rem; }
.register-social p { margin:5px 0 0; color:#718078; font-size:.72rem; text-align:center; }
.register-accept input { width:17px; height:17px; margin-top:2px; accent-color:var(--c-accent-2,#007a52); }
.register-payment { margin:18px 0 0; color:#718078; font-size:.78rem; line-height:1.5; text-align:center; }
.login-field-error { margin-top:5px; color:#a51d2d; font-size:.85rem; }
.login-error { margin:0 0 16px; }
.login-submit {
  width:100%;
  min-height:52px;
  margin-top:4px;
  padding:14px 16px;
  border:0;
  border-radius:10px;
  background:var(--c-accent-2,#007a52);
  color:#fff;
  font:700 .95rem system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
.login-submit:hover { background:var(--brand-2,#005c3d); color:#fff; }
.login-reset { margin:18px 0 28px; text-align:center; }
.login-reset a { color:var(--c-accent-2,#007a52); font-size:.9rem; font-weight:600; text-decoration:none; }
.login-reset a:hover { text-decoration:underline; }
.login-foot { margin:22px 0 0; color:#718078; font-size:.82rem; text-align:center; }
@media (max-width:860px) {
  .login-wrap { grid-template-columns:1fr; }
  .login-left {
    display:block;
    min-height:400px;
    padding:16px 24px;
  }
  .auth-register .login-left { height:400px; min-height:400px; }
  .login-stage { top:70px; right:8px; bottom:82px; left:8px; max-width:520px; }
  .login-tagline { bottom:12px; left:24px; width:calc(100% - 48px); font-size:clamp(1.7rem,6vw,2.4rem); }
  .login-divider { display:none; }
  .login-right { min-height:auto; padding:32px 24px 48px; }
  .login-form-card { max-width:520px; }
}
@media (max-width:480px) {
  .login-left { min-height:340px; }
  .login-brand img { width:48px; height:48px; }
  .login-brand-name { font-size:1.15rem; }
  .login-image-one { left:61%; width:36%; }
  .login-image-two { left:27%; width:41%; }
  .login-image-three { left:7%; width:42%; }
  .login-image-four { left:48%; width:43%; }
  .login-form-card h2 { font-size:1.05rem; }
}

/* Les photos d'ambiance prennent la couleur du thème de saison (bleu en novembre, rouge/vert en décembre…) */
.login-image-card::after { content:""; position:absolute; inset:0; background:var(--c-accent-2,#007a52); mix-blend-mode:color; opacity:.92; pointer-events:none; }
body.auth-login .register-help a, body.auth-login .login-reset a { color:var(--c-link,#007a52); }
