/* Boutons « Continuer avec Google / Facebook » (aucun style en ligne : compatible CSP). */
.soc-or { display: flex; align-items: center; gap: .75rem; margin: .25rem 0; color: #6e6e73; font-size: .85rem; }
.soc-or::before, .soc-or::after { content: ""; flex: 1; height: 1px; background: rgba(128,128,128,.35); }
.soc-btns { display: grid; gap: .6rem; }
.soc-btn { display: flex; align-items: center; justify-content: center; gap: .65rem; min-height: 2.9rem; padding: .55rem 1rem; border-radius: 10px; border: 1px solid #dadce0; background: #fff; color: #3c4043; font-weight: 600; text-decoration: none; font-size: 1rem; transition: box-shadow .15s ease, background .15s ease; }
.soc-btn:hover { box-shadow: 0 1px 4px rgba(0,0,0,.18); color: #202124; background: #f8f9fa; }
.soc-btn:focus-visible { outline: 3px solid #1a73e8; outline-offset: 2px; }
.soc-btn.soc-facebook { background: #1877f2; border-color: #1877f2; color: #fff; }
.soc-btn.soc-facebook:hover { background: #166fe5; color: #fff; }
.soc-ic { width: 20px; height: 20px; flex: none; }
.soc-note { font-size: .78rem; color: #6e6e73; margin: .5rem 0 0; text-align: center; }
.soc-note a { color: inherit; text-decoration: underline; }
.soc-row { display: inline-flex; align-items: center; gap: .5rem; min-width: 14rem; }
.soc-row .soc-ic { width: 22px; height: 22px; }
.soc-row svg path[fill="#fff"] { fill: #1877f2; }
@media (prefers-color-scheme: dark) { .soc-btn:not(.soc-facebook) { background: #202124; border-color: #5f6368; color: #e8eaed; } .soc-btn:not(.soc-facebook):hover { background: #2b2c2f; color: #fff; } }
.soc-fbp { fill: #1877f2; }
.soc-btn .soc-fbp { fill: #fff; }
.soc-pwi { max-width: 12rem; }
