/* Estados hover y focus de los elementos (generados desde el diseño).
   Llevan !important porque los estilos base están inline en el HTML. */
.fc-b86b48b:focus { border-color: #68B682 !important; }
.fc-c8a4c88:focus { border-color: #2F7A55 !important; }
.hv-35fd8a6:hover { color: #A8D9BF !important; }
.hv-3bf8144:hover { border-color: #68B682 !important; }
.hv-3dbfda0:hover { background: #F1F5F2 !important; color: #101915 !important; }
.hv-4d16cd4:hover { color: #FFFFFF !important; }
.hv-4d6240e:hover { background: #68B682 !important; color: #FFFFFF !important; }
.hv-4f272fd:hover { background: #2F7A55 !important; color: #FFFFFF !important; }
.hv-517840d:hover { border-color: #2F7A55 !important; color: #2F7A55 !important; }
.hv-53a7dcb:hover { color: #101915 !important; }
.hv-64c1ac5:hover { border-color: #101915 !important; color: #101915 !important; }
.hv-74eaa64:hover { color: #68B682 !important; }
.hv-7c22f92:hover { color: #2F7A55 !important; }
.hv-8ef17b9:hover { border-color: #68B682 !important; color: #68B682 !important; }
.hv-952909e:hover { background: #68B682 !important; }
.hv-e488aed:hover { border-color: #FFFFFF !important; color: #FFFFFF !important; }

/* Botón flotante "volver arriba" */
.to-top { position: fixed; right: 24px; bottom: 24px; z-index: 60; width: 52px; height: 52px; border-radius: 50%; border: none; background: #2F7A55; color: #FFFFFF; display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; box-shadow: 0 6px 18px rgba(16,25,21,0.22); opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s, background 0.2s ease; }
.to-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.to-top:hover { background: #68B682; }
.to-top:focus-visible { outline: 2px solid #101915; outline-offset: 3px; }
@media (max-width: 700px) { .to-top { right: 16px; bottom: 16px; width: 46px; height: 46px; } }
