/* Match the supported Google icon control without stretching its iframe. */
[data-oauth-root][data-oauth-icons] { display: grid; grid-template-columns: 64px 64px; justify-content: center; align-items: start; gap: 16px; margin: 12px 0; }
[data-oauth-root][data-oauth-icons] .guest-provider-choice { display: grid; justify-items: center; gap: 8px; min-width: 0; }
[data-oauth-root][data-oauth-icons] .guest-oauth-btn { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; min-height: 40px; padding: 0; margin: 0; border: 1px solid #dadce0; border-radius: 4px; background: #fff; color: #1f1f1f; box-sizing: border-box; }
[data-oauth-root][data-oauth-icons] .guest-oauth-btn::before { content: none; }
[data-oauth-root][data-oauth-icons] .guest-provider-logo { width: 18px; height: 18px; flex: 0 0 18px; display: block; }
[data-oauth-root][data-oauth-icons] .guest-google-button-slot { display: flex; justify-content: center; width: 40px; height: 40px; min-height: 40px; grid-column: auto; }
/* ELM's universal border-box reset must not collapse Google's padded logo box. */
[data-oauth-root][data-oauth-icons] [data-google-button] div:has(> svg) { box-sizing: content-box; }
[data-oauth-root][data-oauth-icons] .guest-provider-caption { color: #3d4641; font-size: 13px; font-weight: 500; line-height: 1.4; }
[data-oauth-root][data-oauth-icons] .guest-provider-a11y { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
[data-oauth-root][data-oauth-icons] [hidden] { display: none !important; }
[data-oauth-root][data-oauth-icons] .guest-oauth-message { grid-column: 1 / -1; color: #842e24; background: #fff3ef; border-color: #ebc9c0; }
[data-oauth-root][data-oauth-icons] .guest-oauth-btn:focus-visible { outline: 2px solid #32674d; outline-offset: 3px; }
