/* BASE BUTTON */
.sg-btn {
  font-family: "Space Grotesk", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: all 0.3s ease;
  position: relative;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* WEIGHT VARIANTS */
.sg-btn-light { font-weight: 300; }
.sg-btn-regular { font-weight: 400; }
.sg-btn-medium { font-weight: 500; }
.sg-btn-semibold { font-weight: 600; }
.sg-btn-bold { font-weight: 700; }

/* COLOR VARIANTS */
.sg-btn-grey000 { color: #FFFFFF; }
.sg-btn-grey100 { color: #E6E6E6; }
.sg-btn-grey500 { color: #808080; }
.sg-btn-grey600 { color: #666666; }
.sg-btn-grey800 { color: #333333; }
.sg-btn-grey999 { color: #000000; }

/* NAVBAR BUTTON DIMENSIONS */
.navbar-topic {
  width: 152px;
  height: 61px;
}

.navbar-mock {
  width: 202px;
  height: 61px;
}



/* HOVER EFFECT */
.sg-btn::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background-color: currentColor;
  transition: width 0.3s ease;
}

.sg-btn:hover::after {
  width: 100%;
}

/* FOCUS STATE */
.sg-btn:focus {
  outline: 2px dashed currentColor;
  outline-offset: 3px;
}

/* ACTIVE STATE */
.sg-btn:active {
  transform: translateY(2px);
}

/* DISABLED STATE */
.sg-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.sg-btn:disabled:hover::after {
  width: 0;
}

/* TEXT-ONLY BUTTON EXTENSIONS */
.sg-btn-text {
  padding: 0 !important; /* Remove default padding */
  background: transparent !important;
}
 
/* Underline animation adjustment */
.sg-btn-text::after {
  bottom: -4px; /* Lower position for better visibility */
  height: 2px; /* Thicker underline */
}
 

 
/* Size variants */
.sg-btn-h1 { font-size: 32px; }
.sg-btn-h2 { font-size: 20px; }
.sg-btn-body { font-size: 16px; }
.sg-btn-caption { font-size: 14px; }
 
/* Margin utilities */
.mx-10 {
  margin-left: 10px;
  margin-right: 10px;
}
 
/* Tracking utilities */
.tracking-normal { letter-spacing: normal; }
.tracking-wide { letter-spacing: 0.05em; }