#g-recaptcha,#g-recaptcha-side,#g-recaptcha-contact{position:relative;width:304px;max-width:100%;height:var(--vvg-captcha-height,auto);min-height:0;aspect-ratio:304/78;overflow:hidden}
.vvg-captcha-widget{position:absolute;top:0;left:0;width:304px;height:78px;transform:scale(var(--vvg-captcha-scale,1));transform-origin:0 0}
/* Keep the iframe frame separate from text/status flow and Google's body-level
   challenge popup. A clipped or transformed popup must never be introduced. */
.formItem .recaptcha,.formBox .recaptcha{position:relative;overflow:visible}
.vvg-captcha-status{margin:8px 0 0;color:#315366;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.vvg-captcha-status:empty{display:none}
.vvg-captcha-status.vvg-captcha-loading{position:absolute;top:0;left:0;right:0;min-height:60px;margin:0;display:flex;align-items:center;pointer-events:none}
.vvg-captcha-status.vvg-captcha-error{color:#8e281f}
.vvg-captcha-retry{display:inline-block;margin:6px 0 0;padding:8px 12px;min-height:40px;border:1px solid #197aaa;border-radius:4px;background:#fff;color:#145779;font:inherit;font-size:14px;line-height:1.4;cursor:pointer}
.vvg-captcha-retry[hidden]{display:none!important}
.vvg-captcha-retry:focus-visible{outline:3px solid #8c5500;outline-offset:3px}
.vvg-captcha-noscript{margin:16px auto;padding:12px;max-width:1160px;color:#315366;font-size:14px;line-height:1.5}
/* Give the horizontal CAPTCHA its real desktop column rather than choosing
   Google's taller compact mode because all three columns happened to be equal. */
.appointmentForm .box .formGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 304px}
.appointmentForm .box .formGrid>.formItem{min-width:0}
/* The contact consent/CAPTCHA group is nested inside a flex item. Its natural
   304px minimum must not expand a narrow mobile grid beyond the page. */
.contactForm .formGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.contactForm .formGrid>.formItem{min-width:0}
.contactForm .formGrid>.formItem.flexVCenter>div{min-width:0;max-width:100%}
@media(min-width:768px) and (max-width:1160px){
 .appointmentForm .box .formGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .appointmentForm .box .formGrid>.formItem:not(.sm){grid-column:auto}
 .appointmentForm .box .formGrid>.formItem:last-child{grid-column:1/-1;justify-self:end}
}
@media(max-width:767px){
 .appointmentForm .box .formGrid{grid-template-columns:minmax(0,1fr)}
 .appointmentForm .box .formGrid>.formItem,.appointmentForm .box .formGrid>.formItem.sm:nth-child(even){grid-column:1/-1}
}
@media(max-width:360px){
 .appointmentForm .box{padding:24px 8px}
 .showcaseContainer .homeAppointmentForm.leftCol{padding-inline:8px}
}
