/**
 * reCAPTCHA v3 badge: collapsed by default (icon strip), expands on hover.
 * JS in recaptcha_badge.js re-applies if Google injects inline widths after load.
 *
 * @see https://developers.google.com/recaptcha/docs/faq
 */
.grecaptcha-badge {
    right: 1rem !important;
    left: auto !important;
    bottom: 1rem !important;
    z-index: 1040;
    transition: width 0.25s ease, max-width 0.25s ease, clip-path 0.25s ease !important;
}

body.pd-body .grecaptcha-badge {
    bottom: var(--pd-fab-bottom, 1rem) !important;
    right: var(--pd-fab-edge, 1rem) !important;
    left: auto !important;
    z-index: 1045;
    transition: width 0.25s ease, max-width 0.25s ease, clip-path 0.25s ease !important;
}

.grecaptcha-badge:not(:hover),
.grecaptcha-badge.recaptcha-badge--compact:not(:hover),
body.pd-body .grecaptcha-badge:not(:hover) {
    width: 70px !important;
    max-width: 70px !important;
    min-width: 70px !important;
    overflow: hidden !important;
    clip-path: inset(0 0 0 0) !important;
    -webkit-clip-path: inset(0 0 0 0) !important;
}

.grecaptcha-badge:hover,
body.pd-body .grecaptcha-badge:hover {
    width: 256px !important;
    max-width: 256px !important;
    overflow: visible !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
}

body.pd-body:has(.grecaptcha-badge:hover) {
    --pd-recaptcha-badge-w: 256px;
}
