html {
  scroll-behavior: smooth;
}

.sf-link {
  color: inherit;
  text-decoration: none;
}

.sf-nav-item {
  position: relative;
}

.sf-nav-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 1.25rem);
  left: 50%;
  z-index: 120;
  min-width: 12rem;
  padding: 0.65rem 0;
  color: #111827;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 0.25rem;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.14);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -0.5rem);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.sf-nav-item:hover .sf-nav-dropdown,
.sf-nav-item:focus-within .sf-nav-dropdown {
  display: block;
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

.sf-nav-dropdown a,
.sf-nav-dropdown .sf-menu-option {
  display: block;
  padding: 0.72rem 1.05rem;
  color: #111827;
  white-space: nowrap;
  text-decoration: none;
  font-size: 0.9rem;
  line-height: 1.3;
}

.sf-nav-dropdown a:hover,
.sf-nav-dropdown .sf-menu-option:hover {
  color: #386eed;
  background: #f5f7ff;
}

.sf-footer-link {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

.sf-footer-link:hover {
  color: #8fb0ff;
}

.sf-carousel .el-carousel__container {
  position: relative;
  overflow: hidden;
}

.sf-carousel .el-carousel__item {
  position: absolute !important;
  inset: 0;
  display: block !important;
  opacity: 0;
  transform: none !important;
  transition: opacity 0.55s ease !important;
  pointer-events: none;
}

.sf-carousel .el-carousel__item.is-active {
  opacity: 1;
  z-index: 2;
  pointer-events: auto;
}

.sf-carousel .el-carousel__indicators {
  z-index: 5;
}

.sf-carousel .el-carousel__indicator {
  cursor: pointer;
}

.sf-carousel .el-carousel__button {
  opacity: 0.45;
}

.sf-carousel .el-carousel__indicator.is-active .el-carousel__button {
  opacity: 1;
}

.sf-float-fixed {
  width: 5rem !important;
  overflow: visible !important;
}

.sf-float-fixed:hover {
  width: 15rem !important;
}

.sf-float-fixed > span {
  width: 0 !important;
  margin-left: 0 !important;
  opacity: 0;
}

.sf-float-fixed:hover > span {
  width: 10rem !important;
  margin-left: 1.25rem !important;
  opacity: 1;
}

.sf-float-panel {
  display: none;
  position: absolute;
  right: 0;
  bottom: calc(100% + 0.75rem);
  width: 14rem;
  padding: 0.75rem;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 0.35rem;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16);
  opacity: 0;
  visibility: hidden;
  transform: translateY(0.5rem);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.sf-float-fixed:hover .sf-float-panel,
.sf-float-fixed:focus-within .sf-float-panel {
  display: block;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.sf-float-panel a,
.sf-float-panel .sf-menu-option {
  display: block;
  padding: 0.75rem 0.85rem;
  color: #111827;
  text-decoration: none;
  border-radius: 0.25rem;
  font-size: 0.92rem;
}

.sf-float-panel a:hover,
.sf-float-panel .sf-menu-option:hover {
  color: #386eed;
  background: #f5f7ff;
}
