/* Voies de connexion (lot G01) : chargé seulement quand une option du studio est active. */
.lv { --lv-brand: var(--brand, #00BDA5); display: flex; flex-direction: column; gap: 12px; margin: 0 0 16px; font-family: inherit; }
.lv [hidden] { display: none !important; }
.lv-seg { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 4px; border-radius: 12px; background: color-mix(in oklab, var(--lv-brand), white 88%); }
.lv-seg-slider { position: absolute; top: 4px; bottom: 4px; left: 4px; width: calc(50% - 6px); border-radius: 9px; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .08); transition: transform .2s ease; }
.lv-seg[data-way="guest"] .lv-seg-slider { transform: translateX(calc(100% + 4px)); }
.lv-seg-btn { position: relative; z-index: 1; border: 0; background: transparent; padding: 9px 4px; border-radius: 9px; font: inherit; font-size: 13.5px; font-weight: 700; color: #6B5E69; cursor: pointer; }
.lv-seg-btn[aria-selected="true"] { color: var(--lv-brand); }
.lv-block { display: flex; flex-direction: column; gap: 8px; }
.lv-kicker { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--lv-brand); }
.lv-sso { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 50px; border-radius: 999px; background: var(--lv-brand); color: #fff !important; text-decoration: none !important; font-weight: 700; font-size: 15px; padding: 0 18px; }
.lv-sso:hover { filter: brightness(1.07); }
.lv-sso svg { background: #fff; border-radius: 3px; padding: 1px; }
.lv-help { font-size: 12.5px; line-height: 1.45; color: #6b6f80; text-align: center; }
.lv-guest-text { text-align: left; margin: 0; }
.lv-or { display: flex; align-items: center; gap: 12px; color: #9a9db0; font-size: 12px; font-weight: 500; }
.lv-or span { flex: 1; height: 1px; background: #e2e4ea; }
.lv-hint { display: flex; flex-direction: column; gap: 8px; background: color-mix(in oklab, var(--lv-brand), white 88%); color: color-mix(in oklab, var(--lv-brand), black 35%); border-radius: 10px; padding: 10px 12px; font-size: 13px; line-height: 1.45; font-weight: 500; }
.lv-hint-btn { align-self: flex-start; border: 0; background: var(--lv-brand); color: #fff; border-radius: 999px; padding: 6px 14px; font: inherit; font-size: 12.5px; font-weight: 700; cursor: pointer; }
.lv-pwd-row { display: flex; justify-content: space-between; align-items: center; font-size: 13px; font-weight: 500; }
.lv-link { border: 0; background: none; padding: 0; font: inherit; color: inherit; text-decoration: underline; cursor: pointer; }
.lv-muted { color: #6b6f80 !important; }
.lv-mail { margin-top: 16px; }
.lv-mail form { display: flex; flex-direction: column; gap: 10px; }
.lv-mail label { font-size: 13px; font-weight: 600; margin: 0; }
.lv-mail input[type=email] { height: 44px; border: 1px solid #d7d9e2; border-radius: 10px; padding: 0 12px; font: inherit; font-size: 15px; background: #fff; color: #1a1a22; width: 100%; box-sizing: border-box; }
.lv-mail-btn { height: 48px; border-radius: 999px; border: 1px solid currentColor; background: transparent; font: inherit; font-size: 14px; font-weight: 700; color: inherit; cursor: pointer; }
[data-lv-password][hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) { .lv-seg-slider { transition: none; } }
