/* 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; }
/* Full width: Apple and Google first, email is the fallback (sign-in and sign-up). */
.guest-oauth-stack.is-wide { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 10px; margin: 6px 0 4px; }
.guest-oauth-stack.is-wide .guest-provider-choice { width: 100%; max-width: 360px; display: grid; justify-items: stretch; }
.guest-oauth-stack.is-wide .guest-oauth-btn { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; height: 44px; min-height: 44px; padding: 0 14px; border: 1px solid #dadce0; border-radius: 6px; background: #fff; color: #1f1f1f; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.guest-oauth-stack.is-wide .guest-oauth-btn::before { content: none; }
.guest-oauth-stack.is-wide .guest-oauth-apple { background: #000; border-color: #000; color: #fff; }
.guest-oauth-stack.is-wide .guest-provider-logo { width: 18px; height: 18px; flex: 0 0 18px; }
.guest-oauth-stack.is-wide .guest-provider-a11y { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; white-space: nowrap; }
.guest-oauth-stack.is-wide .guest-provider-caption { display: none; }
.guest-oauth-stack.is-wide .guest-google-button-slot { display: flex; justify-content: center; width: 100%; height: 44px; min-height: 44px; }
.guest-oauth-stack.is-wide [hidden] { display: none !important; }
.guest-oauth-stack.is-wide .guest-oauth-message { width: 100%; max-width: 360px; }
.public-home__terms { margin: 6px 0 0; color: #5d6761; font-size: 12.5px; text-align: center; }
.public-home__terms a { color: #32674d; }
.public-home__email-option > summary { display: flex; justify-content: center; padding: 10px; border: 1px solid #d8ded7; border-radius: 6px; color: #32674d; font-weight: 600; cursor: pointer; list-style: none; }
.public-home__email-option > summary::-webkit-details-marker { display: none; }
.public-home__email-option[open] > summary { margin-bottom: 10px; border-color: transparent; color: #5d6761; }
