.social-divider { display:flex; align-items:center; gap:12px; margin:20px 0 14px; color:#7b8494; font-size:12px; }
.social-divider::before, .social-divider::after { content:""; height:1px; background:#e3e7ee; flex:1; }
.social-login-list { display:grid; gap:10px; }
.social-login { box-sizing:border-box; display:flex; align-items:center; justify-content:center; gap:11px; width:100%; min-height:46px; border:1px solid #d7dce5; border-radius:8px; padding:10px 16px; background:#fff; color:#172033; font:600 14px/1.2 Arial,sans-serif; text-decoration:none; box-shadow:0 1px 2px rgba(15,23,42,.06); transition:transform .15s, box-shadow .15s, border-color .15s; }
.social-login:hover { transform:translateY(-1px); border-color:#9aa7ba; box-shadow:0 5px 14px rgba(15,23,42,.1); }
.social-login svg { width:21px; height:21px; flex:none; }
.social-login--google { border-color:#cbd7ea; box-shadow:0 3px 10px rgba(37,99,235,.12); }
.social-login--facebook { background:#1877f2; border-color:#1877f2; color:#fff; }
.social-login--linkedin { background:#0a66c2; border-color:#0a66c2; color:#fff; }
.social-login--apple, .social-login--x { background:#050505; border-color:#050505; color:#fff; }
.social-login--disabled { cursor:not-allowed; opacity:.48; filter:saturate(.35); box-shadow:none; }
.social-login small { margin-left:auto; font-size:10px; font-weight:600; opacity:.75; }
.social-admin-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:20px; }
.social-admin-grid { display:grid; grid-template-columns:repeat(2,minmax(300px,1fr)); gap:18px; max-width:1100px; }
.social-provider-card { background:#fff; border:1px solid #e3e8f0; border-radius:12px; padding:20px; box-shadow:0 3px 14px rgba(15,23,42,.05); }
.social-provider-title { display:flex; align-items:center; gap:10px; margin:0 0 14px; color:#172033; }
.social-provider-title svg { width:25px; height:25px; }
.social-provider-title .provider-name { font-size:17px; font-weight:700; }
.social-provider-title .badge { margin-left:auto; }
.social-brand--facebook svg { color:#1877f2; }
.social-brand--linkedin svg { color:#0a66c2; }
.social-brand--apple svg, .social-brand--x svg { color:#050505; }
.social-provider-card code { display:block; margin-top:5px; padding:8px; border-radius:6px; background:#f4f6f9; word-break:break-all; font-size:11px; }
.social-provider-card .integration-note { padding:10px; border-radius:7px; background:#fff8e5; color:#805b00; font-size:12px; line-height:1.45; }
.social-provider-card .admin-form { margin-top:14px; }
.social-provider-card .btn-sm { margin-top:12px; }
.provider-switch { display:flex!important; align-items:center; gap:8px; margin-top:12px!important; }
.provider-switch input { width:auto!important; }
.provider-switch.is-disabled { opacity:.55; }
@media (max-width:900px) { .social-admin-grid { grid-template-columns:1fr; } .social-admin-head { display:block; } }

/* Portail : grille compacte et sans débordement dans la carte de connexion. */
.social-buttons { grid-template-columns:repeat(2,minmax(0,1fr)); }
.social-buttons .social-login { min-width:0; padding:9px 10px; font-size:12px; overflow:hidden; }
.social-buttons .social-login > span { min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.social-buttons .social-login small { font-size:8px; }
.social-buttons .social-login--google { grid-column:1/-1; }
@media (max-width:560px) { .social-buttons { grid-template-columns:1fr; } .social-buttons .social-login--google { grid-column:auto; } }
