/* Shared usability fixes. Form validation and appointment submission stay native. */
:root{--vvg-consent-height:0px;--vvg-action-height:0px;--vvg-header-clearance:100px}
:root.vvg-consent-pending{--vvg-consent-height:80px}
html{scroll-padding-top:var(--vvg-header-clearance);scroll-padding-bottom:calc(var(--vvg-consent-height) + var(--vvg-action-height))}
body{padding-bottom:var(--vvg-consent-height)}
:where(main,section,[id]){scroll-margin-top:var(--vvg-header-clearance)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:3px solid #8c5500!important;outline-offset:3px;transition:none!important}
.fixedGetAppointment{border:0;padding:0;font-family:inherit;line-height:inherit;appearance:none}
.fixedGetAppointment .icon{display:block;width:100%}
.slidingAppointmentForm{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;background:#bd4729}
.slidingAppointmentForm:not(.active){visibility:hidden;pointer-events:none}
.slidingAppointmentForm.active{visibility:visible;pointer-events:auto}
.slidingAppointmentForm .closeBtn{width:44px;height:44px;display:flex;align-items:center;justify-content:center}
.slidingAppointmentForm :focus-visible{outline-color:#fff!important}
.cookieNotice button,.bottomFixedMenu a{min-height:44px}
.nearestCenter .btn:not(:hover):not(:disabled){color:#a53c22}
.featuredTreatment .swiper-slide h3{color:#17688f}
.ourCenters .slogan{color:#767676}
.textOfTheStatement li a{display:inline-flex;align-items:center;min-height:28px;padding-block:3px}
footer .menu>li>a,footer .menu .main a{color:#14658d}
footer .menu a:hover{color:#125675}
.formItem input:not([type=checkbox]):not([type=radio]),.formItem select,.formItem textarea{max-width:100%}
@media(max-width:1170px){
 nav.top .container>.menu{overflow-y:auto;overscroll-behavior:contain}
 body:not(.show-menu) nav.top .container>.menu{visibility:hidden;pointer-events:none}
 body.show-menu nav.top .container>.menu{visibility:visible;pointer-events:auto}
 nav.top .mobileMenu{border:0;padding:0;background:transparent;font:inherit;appearance:none;min-width:44px;min-height:44px}
 nav.top .mobileMenu .hamburger,nav.top .mobileMenu .cross{left:3px;top:3px}
}
@media(max-width:767px){
 :root{--vvg-action-height:60px}
 body{padding-bottom:calc(var(--vvg-consent-height) + var(--vvg-action-height))}
 body.vvg-mobile-actions{padding-bottom:calc(var(--vvg-consent-height) + var(--vvg-action-height))}
 .bottomFixedMenu{bottom:var(--vvg-consent-height);padding-bottom:env(safe-area-inset-bottom,0px)}
 .bottomFixedMenu .menu{margin:0;border-radius:0;min-height:60px;box-shadow:0 -2px 10px #0002}
 .bottomFixedMenu .menu a,.bottomFixedMenu .fixedGetAppointment{display:flex;flex:1 1 0;min-width:0;min-height:60px;justify-content:center;align-items:center;flex-direction:column;font-size:14px;line-height:1.25;padding:8px 5px}
 .bottomFixedMenu .menu a:not(.whatsapp){background:#b74327}
 .bottomFixedMenu .menu a.whatsapp{background:#087b3e}
 .bottomFixedMenu .fixedGetAppointment,.bottomFixedMenu .fixedGetAppointment.active{position:static;top:auto;right:auto;transform:none;background:#17688f;margin:0;gap:0;align-self:stretch;width:auto}
 .bottomFixedMenu .fixedGetAppointment .icon{display:none}
 .bottomFixedMenu .fixedGetAppointment .title{display:block;height:auto;padding:0!important;white-space:normal;text-wrap:balance;overflow-wrap:anywhere}
 .slidingAppointmentForm{top:0;bottom:0;right:-100%;transform:none;width:min(100%,400px);height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;padding:52px 20px 24px}
 .slidingAppointmentForm.active{right:0}
 .cookieNotice{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
 .cookieNotice .container{align-items:center}
 .formItem input,.formItem select,.formItem textarea{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
