/* Connexion « l'e-mail d'abord » (shortcode [gacct_connexion]) */
.gacct-login { margin-top: 32px; text-align: left; }
.gacct-login-step { display: flex; flex-direction: column; gap: 0; }
.gacct-login-label { display: block; font-weight: 700; font-size: 14px; margin: 0 0 6px; color: #1a1a1a; }
.gacct-login-input { width: 100%; border: 1px solid #d8d8d8; border-radius: 10px; padding: 13px 14px; font: inherit; font-size: 16px; background: #fff; color: #1a1a1a; transition: border-color 150ms, box-shadow 150ms; }
.gacct-login-input:focus { outline: none; border-color: #20c4c3; box-shadow: 0 0 0 3px rgba(32, 196, 195, 0.18); }
.gacct-login-hint { font-size: 13px; color: #777; margin: 8px 0 0; }
.gacct-login button.gacct-login-btn, .gacct-login button.gacct-login-btn:hover, .gacct-login button.gacct-login-btn:focus { border: 0; border-style: none; box-shadow: none; }
/* Même bouton que le CTA « Demande d'intervention » du site : #ffbd20 / #1a1a1a, angles 6 px, survol inversé (11/09/2026). */
.gacct-login button.gacct-login-btn { display: block; width: 100%; border: 0; border-radius: 6px !important; padding: 13px 22px; margin-top: 18px; font: inherit; font-weight: 800; font-size: 16px; line-height: 1.3; background: #ffbd20; color: #1a1a1a; cursor: pointer; transition: background-color 0.3s, color 0.3s; }
.gacct-login button.gacct-login-btn:hover, .gacct-login button.gacct-login-btn:focus-visible { background: #1a1a1a; color: #fff; border-radius: 6px !important; }
.gacct-login button.gacct-login-btn:active { transform: translateY(1px); }
.gacct-login-btn:disabled { opacity: 0.7; cursor: wait; }
.gacct-login-btn:focus-visible, .gacct-login-link:focus-visible, .gacct-login-eye:focus-visible { outline: 3px solid rgba(32, 196, 195, 0.5); outline-offset: 2px; }

.gacct-login-who { background: #f3f8f8; border-radius: 12px; padding: 14px 16px; margin: 0 0 16px; }
.gacct-login-who-title { margin: 0; font-weight: 800; font-size: 17px; color: #1a1a1a; }
.gacct-login-who-mail { margin: 4px 0 0; font-size: 14px; color: #444; word-break: break-all; }
.gacct-login button.gacct-login-link, .gacct-login button.gacct-login-link:hover, .gacct-login button.gacct-login-link:focus { background: none; border: 0; border-style: none; box-shadow: none; border-radius: 0; }
.gacct-login button.gacct-login-link { background: none; border: 0; padding: 0; font: inherit; font-size: 13px; color: #20c4c3; font-weight: 700; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.gacct-login-link:hover { color: #189998; }
.gacct-login-link:disabled { opacity: 0.6; cursor: wait; }
.gacct-login-intro { font-size: 14px; line-height: 1.55; color: #555; margin: 0 0 16px; }

.gacct-login-pw { position: relative; }
.gacct-login-pw .gacct-login-input { padding-right: 46px; }
.gacct-login button.gacct-login-eye, .gacct-login button.gacct-login-eye:hover, .gacct-login button.gacct-login-eye:focus { background: none; border: 0; border-style: none; box-shadow: none; padding: 0; color: #999; }
.gacct-login button.gacct-login-eye { position: absolute; right: 8px; top: 50%; width: 32px; height: 32px; transform: translateY(-50%); border: 0; background: none; cursor: pointer; color: #999; }
.gacct-login-eye::before { content: ""; display: block; width: 22px; height: 22px; margin: 0 auto; background: currentColor; -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/><circle cx='12' cy='12' r='3'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z'/><circle cx='12' cy='12' r='3'/></svg>") center / contain no-repeat; }
.gacct-login button.gacct-login-eye:hover, .gacct-login button.gacct-login-eye.is-on { color: #20c4c3; }

.gacct-login-remember { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #444; margin: 12px 0 0; cursor: pointer; }
.gacct-login-remember input { width: 18px; height: 18px; accent-color: #20c4c3; margin: 0; }
.gacct-login-forgot { margin: 14px 0 0; text-align: center; font-size: 13px; }
.gacct-login-forgot button.gacct-login-link { color: #666; font-weight: 400; }
.gacct-login-forgot button.gacct-login-link:hover { color: #20c4c3; }
.gacct-login-step--password.is-imported .gacct-login-forgot button.gacct-login-link { color: #20c4c3; font-weight: 700; }
.gacct-login-legal { font-size: 12px; line-height: 1.5; color: #777; margin: 12px 0 0; text-align: center; }
.gacct-login-legal a { color: #555; text-decoration: underline; }

.gacct-login-msg { margin: 14px 0 0; padding: 12px 16px; border-radius: 10px; font-size: 14px; line-height: 1.5; background: #f3f8f8; color: #148483; }
.gacct-login-msg--error { background: #fdecec; color: #c0392b; }
.gacct-login-msg--success { background: #e9f8f8; color: #148483; }
.gacct-login-msg[hidden] { display: none; }
/* Les étapes masquées le restent quel que soit le thème (13/09/2026, AEROTECH : les trois écrans s'empilaient, le display de .gacct-login-step battait l'attribut hidden). */
.gacct-login .gacct-login-step[hidden] { display: none !important; }

.gacct-login-step.is-busy { opacity: 0.85; }
.gacct-login-logged { text-align: center; }

@media (prefers-reduced-motion: reduce) {
	.gacct-login-input, .gacct-login-btn, .gacct-login-link { transition: none; }
}

/* Google en tête (11/09/2026) + contexte « demande » (écran rendu à la place du formulaire) */
.gacct-login-head { margin: 0 0 18px; }
.gacct-login-progress { font-size: 15px; font-weight: 600; color: #555; margin: 0 0 10px; }
.gacct-login-progress strong { color: #1a1a1a; }
/* Barre de progression identique à celle du formulaire (demande-v2.css) */
.gacct-login-progress-bar { display: flex; gap: 6px; margin: 0 0 22px; }
.gacct-login-progress-bar > div { flex: 1; height: 8px; border-radius: 99px; background: #e3e8ee; }
.gacct-login-progress-bar > div.is-active { background: #20c4c3; }
.gacct-login-title { font-size: 26px; line-height: 1.2; font-weight: 800; color: #1a1a1a; margin: 0 0 8px; }
.gacct-login-google .nsl-container { margin: 0 !important; }
.gacct-login-google .nsl-container-block .nsl-container-buttons { display: block; }
.gacct-login-google .nsl-container-block .nsl-container-buttons a { display: block; max-width: none; margin: 0; }
.gacct-login-google .nsl-container-buttons a .nsl-button { width: 100%; border-radius: 6px !important; justify-content: center; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.25) !important; transition: background-color 0.3s, box-shadow 0.3s; }
.gacct-login-google .nsl-container-buttons a:hover .nsl-button, .gacct-login-google .nsl-container-buttons a:focus-visible .nsl-button { background: #f3f3f3 !important; box-shadow: inset 0 0 0 1px #1a1a1a !important; }
.gacct-login-google .nsl-container-buttons a .nsl-button-label-container { font-weight: 700; }
.gacct-login-or { display: flex; align-items: center; gap: 12px; margin: 18px 0 14px; font-size: 13px; color: #777; text-align: center; }
.gacct-login-or::before, .gacct-login-or::after { content: ""; flex: 1; height: 1px; background: #e2e2e2; }
.gacct-login--demande { max-width: 560px; margin: 0 auto; padding: 28px 24px; background: #fff; border: 1px solid #e8e8e8; border-radius: 16px; }
@media (max-width: 767px) { .gacct-login--demande { padding: 20px 14px; } .gacct-login-title { font-size: 22px; } }

/* Page « mot de passe » (shortcode [gacct_lostpassword]) : même carte que la connexion (11/09/2026) */
.gacct-login--lost { max-width: 560px; margin: 8px auto 40px; padding: 28px 24px; background: #fff; border: 1px solid #e8e8e8; border-radius: 16px; text-align: left; }
.gacct-login-label--spaced { margin-top: 16px; }
.gacct-login-notices .woocommerce-error, .gacct-login-notices .woocommerce-message, .gacct-login-notices .woocommerce-info { list-style: none; margin: 0 0 16px; padding: 12px 16px; border-radius: 10px; font-size: 14px; line-height: 1.5; background: #f3f8f8; color: #148483; }
.gacct-login-notices .woocommerce-error { background: #fdecec; color: #c0392b; }
.gacct-login-notices .woocommerce-error li, .gacct-login-notices .woocommerce-message li { margin: 0; }
.gacct-login a.gacct-login-btn--link { display: block; text-align: center; text-decoration: none; }
.gacct-login--lost .gacct-login-forgot a.gacct-login-link { color: #666; font-weight: 400; text-decoration: underline; text-underline-offset: 2px; }
.gacct-login--lost .gacct-login-forgot a.gacct-login-link:hover { color: #20c4c3; }
@media (max-width: 767px) { .gacct-login--lost { padding: 20px 14px; } }
.gacct-login-notices .woocommerce-error, .gacct-login-notices .woocommerce-message, .gacct-login-notices .woocommerce-info { border: 0 !important; padding-left: 16px !important; }
.gacct-login-notices .woocommerce-error::before, .gacct-login-notices .woocommerce-message::before, .gacct-login-notices .woocommerce-info::before, .gacct-login-notices .woocommerce-error li::before { display: none !important; content: none !important; }
.gacct-login-notices .woocommerce-error li { padding: 0 !important; }
/* Page mot de passe = mise en page exacte de /connexion/ (mesuree le 11/09/2026) : bloc 420 px centre, sans carte,
   titre 32 px / 900 centre, intro 14 px #666 centree, formulaire 32 px plus bas. */
.gacct-login--lost { max-width: 420px; margin: 40px auto 64px; padding: 0; background: none; border: 0; border-radius: 0; }
.gacct-login--lost .gacct-login-title { font-size: 32px; line-height: 1.15; font-weight: 900; color: #1a1a1a; text-align: center; margin: 0 0 12px; }
.gacct-login--lost .gacct-login-intro { font-size: 14px; line-height: 1.6; color: #666; text-align: center; margin: 0 0 64px; }
.gacct-login--lost .gacct-login-notices { margin-bottom: 20px; }
.gacct-login--lost .gacct-login-forgot { margin-top: 18px; }
@media (max-width: 767px) { .gacct-login--lost { margin: 24px auto 48px; padding: 0 4px; } .gacct-login--lost .gacct-login-title { font-size: 26px; } }

/* Champs de la charte (mesurés sur le formulaire de contact, 11/09/2026) : 52 px, bord rgba(0,0,0,.12) 8 px,
   survol/focus turquoise + halo, libellé flottant (repos centré 14 px, flotté 10 px capitales turquoise). */
.gacct-login-field { position: relative; }
.gacct-login-field .gacct-login-input { height: 52px; padding: 20px 13px 7px; border: 1px solid rgba(0, 0, 0, 0.12); border-radius: 8px; font-size: 14px; line-height: 1.4; transition: border-color 0.15s, box-shadow 0.15s; }
.gacct-login-field .gacct-login-input:hover, .gacct-login-field .gacct-login-input:focus { border-color: #20c4c3; box-shadow: 0 0 0 3px rgba(32, 196, 195, 0.1); outline: none; }
.gacct-login-field.gacct-login-pw .gacct-login-input { padding-right: 46px; }
.gacct-login-flabel { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); margin: 0; font-size: 14px; font-weight: 400; color: #292728; pointer-events: none; transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1); white-space: nowrap; max-width: calc(100% - 26px); overflow: hidden; text-overflow: ellipsis; }
.gacct-login-input:focus ~ .gacct-login-flabel, .gacct-login-input:not(:placeholder-shown) ~ .gacct-login-flabel { top: 8px; transform: none; font-size: 10px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #20c4c3; }
.gacct-login-input:not(:placeholder-shown):not(:focus) ~ .gacct-login-flabel { color: #20c4c3; }
.gacct-login-field--spaced { margin-top: 12px; }
.gacct-login-hint { margin-top: 8px; }
@media (max-width: 767px) { .gacct-login--lost { padding: 0 16px; } }
